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
上一篇:非关系型数据库---Redis,MongodDB,Neo4j


下一篇:错误:AttributeError:在django中运行“python manage.py syncdb”时,’super’对象没有属性’db_type’