如何在 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 中阅读更多相关信息。