添加多个唯一顶点

时间:2018-08-03 15:01:06

标签: gremlin tinkerpop3 amazon-neptune

我想编写一个单一的gremlin查询,该查询将创建多个顶点,但前提是它们都是唯一的。我知道我可以通过使用注释中提到的合并步骤来使用get或addV方法。

g.V().has('com.demo.test', '__type', 'Namespace').fold().coalesce(unfold(), addV('com.demo.test').property('__type', 'Namespace'))

仅当顶点不存在时,它才会拥有一个顶点。如果我想对单个查询中的多个边和顶点执行相同的步骤怎么办?我的目标是,如果顶点/边之一不是唯一的,则不会创建任何一个。但是,我知道这不可能,因此欢迎所有答案。

谢谢

1 个答案:

答案 0 :(得分:0)

我找到了可能的解决方案。这行得通,但可能会有更好的方法。

g.V().coalesce(V().has(label,'Namespace61'),addV('Namespace61')).coalesce(V().has(label,'Namespace76'),addV('Namespace76')).coalesce(V().has(label,'Namespace74'),addV('Namespace74')).dedup()