打印Gremlin 3.1.1在没有Gremlin控制台的Groovy中的结果

时间:2016-03-04 19:47:11

标签: groovy gremlin

我正在尝试打印Gremlin遍历的结果。这与此问题类似,但与此问题不同:

How to print out Gremlin pipe / traversal results

我试图在没有Gremlin控制台的情况下这样做。下面是一个代码示例,但没有使用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();

1 个答案:

答案 0 :(得分:4)

这是您正在使用的现代图表的图片 TinkerPop Modern

您可以看到顶点1是Marko节点,它有三个外出边缘:

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

在Gremlin中,这些可以表达为使用vertex steps

name

根据您的代码,您可能希望获得相邻顶点上的vertex property g.V(1).out().values('name').sideEffect{println it}.iterate() 。在这种情况下,请省略边标签,并获取顶点属性值:

s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
x=s.recvfrom(1024)

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