Cypher:没有重复关系的合并路径

时间:2015-10-23 09:49:39

标签: neo4j cypher

我目前正在实施一个图形数据库,其中使用分配节点将人员分配给(客户的)项目。客户或项目可能已经存在,也可能不存在,分配节点应该是唯一的(每个分配节点只能有一个传入和一个传出关系)。下面的代码有效,但当数据库中已存在两者时,重复Project-> Customer关系。我该如何防止这种情况?

MATCH (p:Person {id:1})
MERGE (c:Customer {id:1})
MERGE (pr:Project {id:1})
CREATE (p)-[:HAS_ALLOCATION]->(a:Allocation)-[:ON_PROJECT]->(pr)-[:HAS_CUSTOMER]->(c)
RETURN a,p,pr,c;

a busy cat

1 个答案:

答案 0 :(得分:0)

您应该尝试使用MERGECREATE UNIQUE代替CREATE条款,看看是否能解决您的问题。