【问题标题】:Rename property with Gremlin in Azure Cosmos DB在 Azure Cosmos DB 中使用 Gremlin 重命名属性
【发布时间】:2019-05-27 00:58:53
【问题描述】:

我们的一些代码库已经改变,所以它现在期望曾经有一个名为“Sdg”的属性的顶点现在有一个名为“causeType”并且具有相同值的属性......在简而言之,就是对属性进行重命名。

在这一点上我已经尝试了很多,并且......我有点惊讶于弄清楚如何搜索图表并在需要时进行重命名。

我最接近的是以下查询:

g.V().has('sdg').as('vertexWithOldProperty').property('causeType', value(select('vertexWithOldProperty').select('sdg')))

...由于错误,它不起作用:

Gremlin 查询编译错误:无法绑定到方法“值”, 参数类型为:(GraphTraversal)@ 第 1 行,第 68 列。无法 绑定到方法“属性”,参数类型:(字符串)

这个想法是遍历图并记住每个具有旧值的顶点。然后我会向它们添加具有相同值的新属性......为了简单/可行,我决定忽略旧值而不是删除它。

谁能帮助我或引导我走向正确的方向?

谢谢!

【问题讨论】:

    标签: azure-cosmosdb gremlin tinkerpop


    【解决方案1】:

    也许有更好的方法,但我认为这应该适合你:

    g.V().has('sdg').property('causeType', values('sdg'))
    
    

    如果你想删除旧属性

    g.V().has('sdg').property('causeType', values('sdg')).properties('sdg').drop()
    
    

    【讨论】:

    • 在 CosmosDB 上运行时仍有一些问题。在将其与完整语言进行比较时,它似乎仍然是 CosmosDb 支持的一小部分功能。话虽如此,我也解决了 - 谢谢!
    猜你喜欢
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 2021-11-08
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    相关资源
    最近更新 更多