2

我在一个名为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)]?谢谢!

4

2 回答 2

2

感谢斯蒂芬·马莱特为我指明了正确的方向。要在上面的遍历中简单地打印出每个顶点的“名称”属性,我们可以使用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
于 2013-03-20T15:47:41.830 回答
0

您可能只需要迭代您的管道:

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

println v.outE.inV.name.next()
于 2013-03-19T19:50:47.897 回答