Java 如何在gremlin中编写for循环?
如何在gremlin中为循环编写Java 如何在gremlin中编写for循环?,java,neo4j,gremlin,Java,Neo4j,Gremlin,如何在gremlin中为循环编写?比如: for i=0;i<10:i++: println hello number i gremlin> g = TinkerGraphFactory.createTinkerGraph() ==>tinkergraph[vertices:6 edges:6] gremlin> g.V.filter{!it.inE.hasNext()}.count() ==>2 我的主要目标是执行for循环并打印没有inE的节点的值。这意
?比如:
for i=0;i<10:i++:
println hello number i
gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> g.V.filter{!it.inE.hasNext()}.count()
==>2
我的主要目标是执行for循环并打印没有inE
的节点的值。这意味着它们的阶数为零。如果要在图中的所有节点上进行迭代,以获得边中没有的节点数,可以执行以下操作:
for i=0;i<10:i++:
println hello number i
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
过滤器{!it.inE.hasNext()}
效率更高,因为不需要完整计数/迭代