java – 如何在gremlin中编写for循环?
作者:互联网
如何在gremlin中编写for循环?这是我试过的:
for i=0;i<10:i++:
println hello number i
我还尝试迭代节点并在每个节点上调用一个函数,例如(count):
gremlin> g.v(782).in
==> v[2746934]
==> v[2581232]
==> v[1554286]
==> v[780]
gremlin> g.v(78).in.loop(2){it.loops < 4}.count()
==> class java.lang.NullPointerException : null
我的主要目标是执行for循环并打印没有inE的节点的值.这意味着它们的程度为零.
解决方法:
如果你想迭代图中的所有节点来计算边数中没有多少节点,你可以做类似的事情:
gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> g.V.filter{!it.inE.hasNext()}.count()
==>2
如果你想执行一些副作用,比如做“打印”,那么使用副作用步骤:
gremlin> g.V.filter{!it.inE.hasNext()}.sideEffect{println it.name}
marko
==>v[1]
peter
==>v[6]
请注意,由于Gremlin终端已经为您打印,因此打印两次,因此如果您在终端中,您可能也会这样做:
gremlin> g.V.filter{!it.inE.hasNext()}.name
==>marko
==>peter
标签:gremlin,java,neo4j 来源: https://codeday.me/bug/20190901/1784142.html