【问题标题】:Create a empty array inside a Gremlin traversal?在 Gremlin 遍历中创建一个空数组?
【发布时间】:2018-03-22 00:31:40
【问题描述】:

这听起来很傻,但是有没有办法在 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()

【问题讨论】:

    标签: gremlin datastax-enterprise-graph


    【解决方案1】:

    这就是你要找的东西

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

    【讨论】:

    • 这行得通,但只是好奇,有没有办法在by 中添加withSideEffect
    【解决方案2】:

    一个空的数组/集合实际上是一个fold() 什么都没有。如果过滤所有内容,您将一无所获,因此:

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

    【讨论】:

      猜你喜欢
      • 2018-01-30
      • 1970-01-01
      • 2021-12-21
      • 2021-04-23
      • 2023-03-23
      • 1970-01-01
      • 2021-11-27
      • 1970-01-01
      • 2018-09-07
      相关资源
      最近更新 更多