【问题标题】:cosmos db graph api how to check if exist and update edge?cosmos db graph api如何检查是否存在并更新边缘?
【发布时间】:2018-03-13 21:04:26
【问题描述】:

如何在使用 gremlin 查询创建边缘之前检查边缘是否已经存在?如何更新现有边缘而不是删除和重新创建?

【问题讨论】:

  • 您能补充一些细节吗?现有优势的标准是什么?在 2 个特定顶点之间具有特定标签的边?它必须具有特定的属性吗? “更新现有边缘”是什么意思?只需添加/删除/更改它的一些属性?
  • 好的,所以更新边缘属性的最简单方法是使用查询:g.E().has('anyProperty', 'propValue').property('propName', 'propValue') Cosmos DB 没有没有完全实现对 gremlin 语言的支持。目前只接受一些基本命令。您可以忘记动态值是查询等。

标签: graph azure-cosmosdb gremlin


【解决方案1】:

我不确定您是否还在寻找答案;然而,简单的答案是 Cosmos DB 在其对 Gremlin 的支持方面有些限制。见这里:https://docs.microsoft.com/en-us/azure/cosmos-db/gremlin-support。在撰写此答案时更新边缘的唯一方法是删除并重新创建边缘。无论您是添加属性还是更新属性,都是如此。

查询边是否已经存在,可以使用g.E('<xyz-id-guid>')g.V('id', '<xyz-id-guid>', '<partition-key-property>', '<xyz-id>').outE('<edge-label>').hasId('<xyz-id-guid>')hasId() 部分是可选的,但建议使用分区键值。两者都有助于提高性能。

希望对您有所帮助。

干杯, 赛博

【讨论】:

    猜你喜欢
    • 2022-08-11
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    相关资源
    最近更新 更多