如果存在从a到b的相同关系,Cypher会阻止从节点b到a的关系吗?

时间:2018-02-11 12:59:02

标签: neo4j cypher

如果已存在来自不同方面的相同关系,我想阻止Neo4j中两个节点之间的关系,即

create (a)-[r:Variation]->(b)

当且仅当数据库中没有(b) - [r:Variation] - >(a)时?

1 个答案:

答案 0 :(得分:1)

如果您的查询只创建了关系(此后没有其他内容),那么只需在您的CREATE之前添加WHERE NOT (b)-[:Variation]->(a)(我假设有a和{{匹配' 1}}以上你没有提供)。

但如果之后还有其他逻辑,并且您希望查询继续执行是否满足条件,您可能需要查看conditional procs in APOC Procedures,特别是b