在使用gremlin查询创建边之前检查边是否已存在?如何更新现有边缘而不是删除和重新创建?
答案 0 :(得分:0)
我不确定您是否还在寻找答案;但是,简单的答案是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()
部分是可选的,但建议使用分区键值。两者都有助于提高性能。
希望有帮助。
干杯, 塞巴