如何在gremlin中执行像cypher这样的MERGE方法

问题描述

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'))

这将返回现有的顶点,或者如果不存在则创建它并返回新的顶点。

您可以在Gremlin RecipesPractical Gremlin中了解有关此内容的更多信息。