2016-03-04 37 views
1

我试图从Gremlin遍历中打印出结果。这类似于这个问题,但不同的对这个问题:打印出Gremlin 3.1.1结果Groovy没有Gremlin控制台

How to print out Gremlin pipe/traversal results

我试图做到这一点没有小鬼控制台。下面是一个代码示例,但没有产生与sideEffect()

@Grab('org.apache.tinkerpop:tinkergraph-gremlin:3.1.1-incubating') 
@Grab('org.apache.tinkerpop:gremlin-core:3.1.1-incubating') 

import org.apache.tinkerpop.gremlin.structure.Graph; 
import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerFactory; 

Graph graph = TinkerFactory.createModern(); 
def g = graph.traversal(); 
println(g.V(1).out('name').toString()); 
g.V(1).out('name').sideEffect{println it.name}.iterate(); 

回答

4

这里的现代图形的图片您使用 TinkerPop Modern

你可以看到,顶点1是马尔科节点,它有三个出持续的边缘:

vertex1 --created--> vertex3 
vertex1 --knows--> vertex2 
vertex1 --knows--> vertex4 

在精怪,这些可以表示喜欢用vertex steps

g.V(1).out('created').next() 
g.V(1).outE('knows').inV().toList() 

根据您的代码,它看起来可能是您想要在相邻顶点上获得vertex propertyname。在这种情况下,离开了边缘的标签,并获取顶点属性值:

g.V(1).out().values('name').sideEffect{println it}.iterate() 

仅供参考,您引用的链接显示TinkerPop2代码。你应该参考TinkerPop 3.1.1-incubating documentation