如何打印出Gremlin管道/遍历结果

时间:2013-03-19 19:22:25

标签: groovy gremlin

我将以下代码放在名为traversal.groovy的文件中(我从gremlin -e traversal.groovy命令行调用):

// Begin traversal.groovy //

g = TinkerGraphFactory.createTinkerGraph()
v = g.v(1)

println v.outE.inV.name

// End traversal.groovy //

如你所见,这是非常基本的;但输出不是我想要的。输出是

[StartPipe, OutEdgesPipe, InVertexPipe, PropertyPipe(name)]

当我在gremlin命令行中运行相同的代码时,我得到了我正在寻找的内容......

gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> v = g.v(1)
==>v[1]
gremlin> v.outE.inV.name
==>vadas
==>josh
==>lop

那么,如何在[StartPipe, OutEdgesPipe, InVertexPipe, PropertyPipe(name)]中访问我想要的信息呢?谢谢!

2 个答案:

答案 0 :(得分:1)

感谢stephen mallette让我指向正确的方向。要简单地在上面的遍历中打印出每个顶点的“name”属性,我们可以使用sideEffectiterate。生成的代码如下所示:

// Begin traversal.groovy //

g = TinkerGraphFactory.createTinkerGraph()
v = g.v(1)

v.outE.inV.sideEffect{println it.name}.iterate()

// End traversal.groovy //

,输出为:

vadas
josh
lop

答案 1 :(得分:0)

您可能只需要迭代管道:

http://gremlindocs.com/#methods/pipe-next

println v.outE.inV.name.next()