如何在 gremlin 中返回 true 或 false

Zix*_*ang 5 gremlin

我想将 a 周围的边数与数字进行比较并打印trueor false,类似这样: g.V().out().count()==0==在这里不起作用,它总是返回false。还有其他方法吗?

Pau*_*son 4

最后一个 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)