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

4
这听起来很傻,但是否有办法在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()返回1。同样适用于constant(null).fold()

2个回答

5
这是你要找的吗?
g.withSideEffect('x',[]).V().has('person','name','marko').project('a','b').by(select('x')).by('name')

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

这个可以工作,但是我很好奇,是否有一种方法可以将 withSideEffect 放在 by 内部? - Glide

4

一个空的数组/集合实际上就是什么也没有的fold()。如果你把所有东西都过滤掉了,那么你就什么也得不到:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接