在没有 Gremlin 控制台的情况下,在 Groovy 中打印出 Gremlin 3.1.1 结果
Print out Gremlin 3.1.1 Results in Groovy Without Gremlin Console
我正在尝试打印出 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是Marko节点,它有3条出边:
vertex1 --created--> vertex3
vertex1 --knows--> vertex2
vertex1 --knows--> vertex4
在 Gremlin 中,这些可以像使用 vertex steps:
一样表达
g.V(1).out('created').next()
g.V(1).outE('knows').inV().toList()
根据您的代码,您可能希望在相邻顶点上获得 vertex property name
。在这种情况下,省略边标签,并获取顶点 属性 值:
g.V(1).out().values('name').sideEffect{println it}.iterate()
仅供参考,您引用的 link 显示的是 TinkerPop2 代码。你应该参考TinkerPop 3.1.1-incubating documentation.
我正在尝试打印出 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是Marko节点,它有3条出边:
vertex1 --created--> vertex3
vertex1 --knows--> vertex2
vertex1 --knows--> vertex4
在 Gremlin 中,这些可以像使用 vertex steps:
一样表达g.V(1).out('created').next()
g.V(1).outE('knows').inV().toList()
根据您的代码,您可能希望在相邻顶点上获得 vertex property name
。在这种情况下,省略边标签,并获取顶点 属性 值:
g.V(1).out().values('name').sideEffect{println it}.iterate()
仅供参考,您引用的 link 显示的是 TinkerPop2 代码。你应该参考TinkerPop 3.1.1-incubating documentation.