【问题标题】:Gremlin Query (JSON Output) using tree使用树的 Gremlin 查询(JSON 输出)
【发布时间】:2020-11-05 03:19:41
【问题描述】:

查询:

g.withSack(0).V().hasLabel('A').has('label_A','A').union(__.emit().repeat(sack(sum).by(constant(1)).in()),emit().repeat(sack(sum).by(constant(-1)).out())).project('level','properties').by(sack()).by(tree().by(valueMap().by(unfold())).unfold())

输出:

{
    "level": 1,
    "properties": {
        "key": {
            "label_A": "A"
            
        },
        "value": {
            "{label_A=A}": {}
        }
    }
},
{
    "level": 2,
    "properties": {
        "key": {
            "label_A": "A"
          
        },
        "value": {
            "{label_A=A}": {}
            }
        }
    }
}

获取 json 格式的键而不是值。请建议更改查询以实现 json 格式的值。

【问题讨论】:

    标签: graph gremlin janusgraph


    【解决方案1】:

    tree() 步骤以MapMap 实例的形式返回树结构,因此输出与您预期的差不多。在这种情况下,我想知道您是否需要使用tree() 而可以使用path(),因为它似乎在没有添加结构的情况下实现了相同的结果:

    g.withSack(0).
      V().hasLabel('A').has('label_A','A').
      union(__.emit().repeat(sack(sum).by(constant(1)).in()),
            emit().repeat(sack(sum).by(constant(-1)).out())).
      project('level','properties').
        by(sack()).
        by(path().by(elementMap()))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-08
      • 2019-05-14
      • 1970-01-01
      相关资源
      最近更新 更多