如何在Gremlin遍历中创建空数组?解决project字段赋值问题
在Gremlin遍历中创建空数组的解决方案
要给投影字段b设置真正的空数组,你可以用inject().fold()这个组合,它能生成一个完全空的集合(数组)。修改后的查询语句如下:
g.V().has('person','name', 'marko').project('a', 'b').by().by(inject().fold())
为什么你之前的方法不行?
你尝试的constant("").fold()和constant(null).fold(),本质是先创建了包含单个元素(空字符串或null)的常量值,再通过fold()把它包装成数组——所以数组里自然会有一个元素,count()返回1也就不奇怪了。
补充说明
如果你的图数据库支持直接返回空列表(比如部分符合TinkerPop 3.5+规范的实现),也可以直接用constant([])来替代inject().fold(),但inject().fold()是更通用的跨数据库写法,兼容性更好。
内容的提问来源于stack exchange,提问作者Glide
相关产品推荐
相关产品推荐

