我想将 a 周围的边数与数字进行比较并打印trueor false,类似这样:
g.V().out().count()==0
但==在这里不起作用,它总是返回false。还有其他方法吗?
最后一个 count() 步骤返回的是一个遍历,它提供了一个可用于检索结果的迭代器接口。
如果您的目标是计算图中所有顶点的所有出边,返回该单个数字,并将其与 0 进行比较,那么这将起作用:
gremlin> g.V().out().count().next()==0
==>false
Run Code Online (Sandbox Code Playgroud)
如果您的目标是在 Gremlin 语言中与 0 进行比较,则 is() 步骤可用于测试数字是否相等:
gremlin> g.V().out().count().is(0)
==>v[2]
==>v[3]
==>v[5]
Run Code Online (Sandbox Code Playgroud)
如果你想打印布尔结果:
gremlin> g.V().choose(out().count().is(0), constant(true), constant(false))
==>false
==>true
==>true
==>false
==>true
==>false
Run Code Online (Sandbox Code Playgroud)
或者也许返回每个顶点及其测试结果的地图?
gremlin> g.V().as('a').choose(out().count().is(0), constant(true), constant(false)).as('b').select('a','b')
==>[a:v[1],b:false]
==>[a:v[2],b:true]
==>[a:v[3],b:true]
==>[a:v[4],b:false]
==>[a:v[5],b:true]
==>[a:v[6],b:false]
Run Code Online (Sandbox Code Playgroud)