我想编写一个单一的gremlin查询,该查询将创建多个顶点,但前提是它们都是唯一的。我知道我可以通过使用注释中提到的合并步骤来使用get或addV方法。
g.V().has('com.demo.test', '__type', 'Namespace').fold().coalesce(unfold(), addV('com.demo.test').property('__type', 'Namespace'))
仅当顶点不存在时,它才会拥有一个顶点。如果我想对单个查询中的多个边和顶点执行相同的步骤怎么办?我的目标是,如果顶点/边之一不是唯一的,则不会创建任何一个。但是,我知道这不可能,因此欢迎所有答案。
谢谢
答案 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()