【问题标题】:Gremlin: select vertex based on comparison of two property valuesGremlin:根据两个属性值的比较选择顶点
【发布时间】:2019-05-07 23:05:08
【问题描述】:

假设我有以下 Gremlin 图:

g.addV('test1').property('pkey', 100).property('v1', 100).property('v2', 150)
g.addV('test1').property('pkey', 100).property('v1', 100).property('v2', 75)

我想查询属性值 v1 大于属性值 v2 的所有带有“test1”标签的顶点。如何在 Gremlin 中实现这一目标?

【问题讨论】:

    标签: gremlin azure-cosmosdb-gremlinapi


    【解决方案1】:

    您可以通过这种方式使用where() 步骤:

    gremlin> g.addV('test1').property('pkey', 100).property('v1', 100).property('v2', 150)
    ==>v[0]
    gremlin> g.addV('test1').property('pkey', 100).property('v1', 100).property('v2', 75)
    ==>v[4]
    gremlin> g.V().hasLabel('test1').as('a').where('a',gt('a')).by('v1').by('v2')
    ==>v[4]
    gremlin> g.V().hasLabel('test1').as('a').where(gt('a')).by('v1').by('v2')
    ==>v[4]
    

    【讨论】:

    • 这对 CosmosDB 的 Gremlin API 是否适用?我刚试过,它返回一个空列表。 g.V().hasLabel('test1').valueMap(): ``` [ { "pkey": [ 100 ], "v1": [ 100 ], "v2": [ 150 ] }, { "pkey": [100],“v1”:[100],“v2”:[75]}]```g.V().hasLabel('test1').as('a').where(gt('a') ).by('v1').by('v2'):
    • 我包含了您明确指定 where() 的初始比较步骤标签的简写版本 - 也许这适用于 CosmosDB?如果这不起作用,您可能需要向他们提出错误报告。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-15
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多