我可以从这个 GraphTraversal 中得到一个顶点而不是一个元素吗?
Can I get a Vertex instead of an Element out of this GraphTraversal?
我正在对参考 TinkerGraph 实现使用 Tinkerpop3 Gremlin。
我正在尝试 .next()
Vertex
出这个遍历:
graph.V().has(T.label, "link").has("url", url).next();
不幸的是,我只能从 next()
得到一个 Element
。当我将 next()
的输出分配给 Vertex
时,我得到:
error: incompatible types: Element cannot be converted to Vertex
如何获得Vertex
?
我看过 the docs 并看到 V()
returns GraphTraversal<Vertex,Vertex>
。 has()
步骤已签名 default <E2 extends Element> GraphTraversal<S,E2>
,我认为这会保留 GraphTraveral<Vertex, Vertex>
但 next()
仅产生 Element
。不知道下一步该做什么。
谢谢。
嗯 - 你总是可以这样做:
Vertex v = g.V().has(T.label, "link").<Vertex>has("name", url).next();
然后简单地明确输入最后一步。
我正在对参考 TinkerGraph 实现使用 Tinkerpop3 Gremlin。
我正在尝试 .next()
Vertex
出这个遍历:
graph.V().has(T.label, "link").has("url", url).next();
不幸的是,我只能从 next()
得到一个 Element
。当我将 next()
的输出分配给 Vertex
时,我得到:
error: incompatible types: Element cannot be converted to Vertex
如何获得Vertex
?
我看过 the docs 并看到 V()
returns GraphTraversal<Vertex,Vertex>
。 has()
步骤已签名 default <E2 extends Element> GraphTraversal<S,E2>
,我认为这会保留 GraphTraveral<Vertex, Vertex>
但 next()
仅产生 Element
。不知道下一步该做什么。
谢谢。
嗯 - 你总是可以这样做:
Vertex v = g.V().has(T.label, "link").<Vertex>has("name", url).next();
然后简单地明确输入最后一步。