Java 我能从这个GraphTraversal中得到一个顶点而不是一个元素吗?
我使用的是对TinkerGraph实现的引用 我正在尝试Java 我能从这个GraphTraversal中得到一个顶点而不是一个元素吗?,java,tinkerpop,tinkerpop3,Java,Tinkerpop,Tinkerpop3,我使用的是对TinkerGraph实现的引用 我正在尝试.next()a顶点执行此遍历: graph.V().has(T.label, "link").has("url", url).next(); 不幸的是,我只能从next()获取元素。当我将next()的输出分配到顶点时,我得到: 错误:不兼容的类型:元素无法转换为顶点 如何获取顶点 我已经查看并看到V()返回GraphTraversal。has()步骤被签名为defaultgraphtraversal,我认为这会保留GraphTrave
.next()
a顶点
执行此遍历:
graph.V().has(T.label, "link").has("url", url).next();
不幸的是,我只能从next()
获取元素。当我将next()
的输出分配到顶点时,我得到:
错误:不兼容的类型:元素无法转换为顶点
如何获取顶点
我已经查看并看到V()
返回GraphTraversal
。has()
步骤被签名为defaultgraphtraversal
,我认为这会保留GraphTraversal
,但是next()
只生成元素。不知道下一步该怎么办
谢谢。好吧-您可以随时这样做:
Vertex v = g.V().has(T.label, "link").<Vertex>has("name", url).next();
Vertex v=g.v().has(T.label,“link”).has(“name”,url).next();
只需显式键入最后一步。即使上述方法有效,我也不认为有必要这样做,我会进一步检查。Stephen,谢谢,我发现了一个类似的版本。Java新手,这一定是我如此困惑的原因之一。但是,我仍然不明白为什么编译器需要额外的位。如果拆下链并将每个步骤指定给一个变量,则它始终是Vertex
。不知道编译器为什么引入元素
。