如何在 gremlin 中像 cypher 一样执行 MERGE 方法
How to do MERGE method like cypher in gremlin
g.addV('person').property('name','Tim')
我得到了V[0]节点
g.addV('person').property('name','Tim')
我再次获得了具有完全相同标签和键值的 V[1] 节点。
我只想要V[0],如果有V[0]存在,V[1]就不能加了
今天使用 Gremlin 执行此操作的推荐方法是使用 coalesce
模式,如下所示:
g.V().has('person','name','Tim').
fold().
coalesce(unfold(),addV('person').property('name','Tim'))
这将 return 现有的顶点,或者如果它不存在,将创建它并 return 新的顶点。
您可以在 Gremlin Recipes and in Practical Gremlin 中阅读更多相关信息。
g.addV('person').property('name','Tim')
我得到了V[0]节点
g.addV('person').property('name','Tim')
我再次获得了具有完全相同标签和键值的 V[1] 节点。
我只想要V[0],如果有V[0]存在,V[1]就不能加了
今天使用 Gremlin 执行此操作的推荐方法是使用 coalesce
模式,如下所示:
g.V().has('person','name','Tim').
fold().
coalesce(unfold(),addV('person').property('name','Tim'))
这将 return 现有的顶点,或者如果它不存在,将创建它并 return 新的顶点。
您可以在 Gremlin Recipes and in Practical Gremlin 中阅读更多相关信息。