我可以看到有人问过几次,但我看不到适合我的答案。
我正在Java应用程序中使用它,我想返回一个包含顶点iD的顶点或仅包含String的ArrayList。我必须使用Path()步骤,因为我需要以正确的顺序返回顶点,但是我只得到了一个包含2个对象的列表,看起来像源顶点作为对象,整个Path作为对象,我可以不操纵或使用数据?
我的遍历是:
List<Object> routeList;
routeList = g.V(sourceID).shortestPath().with(ShortestPath.edges, Direction.OUT)
.with(ShortestPath.distance, "weight").with(ShortestPath.target, hasId(targetId))
.with(ShortestPath.includeEdges, false).path().unfold().toList();
列表的输出是:
v[L00-041]
path[v[L00-041], v[L00-042], ...etc.... v[L00-043], v[L00-031]]
我确实需要以可用格式返回路径。我敢肯定有人曾经担任过这个职位,可以为我提供帮助。谢谢。
Gremlin将向您返回一个Path对象,您可以对其进行迭代。这是Gremlin控制台的示例。
gremlin> p = g.V(1).out().limit(1).path().next()
==>v[1]
==>v[135]
gremlin> p.class
==>class org.apache.tinkerpop.gremlin.process.traversal.step.util.ImmutablePath
gremlin> p[1]
==>v[135]
gremlin> p[0]
==>v[1]
gremlin> p.size()
==>2
gremlin> for (e in p) {println(e)}
v[1]
v[135]
相关的JavaDoc在这里: