在 Gremlin 遍历中创建一个空数组?

Create a empty array inside a Gremlin traversal?

这听起来很傻,但是有没有办法在 Gremlin 遍历中创建一个空数组?

对于下面的查询:

g.V().has('person','name', 'marko').project('a', 'b').by().by()

我想将 b 投影为空数组。我试过:

g.V().has('person','name', 'marko').project('a', 'b').by().by(constant("").fold())

但是constant("").fold()实际上并不是空的constant("").fold().count() returns 1.这也适用于constant(null).fold()

这是你要找的吗

g.withSideEffect('x',[]).V().has('person','name','marko').project('a','b').by(select('x')).by('name')

==>[a:[],b:marko]

空 array/collection 实际上是 fold() 什么都没有。如果过滤所有内容,您将一无所获,因此:

g.V().has('person','name','marko').
  project('a', 'b').
    by().
    by(__.not(identity()).fold())