如何在Neo4j中创建两个节点之间关系数量的约束

时间:2017-05-11 22:33:03

标签: neo4j cypher

我想创建一个这样的约束:

create constraint on (a:NodeTypeA)-[r:TYPE_OF_REL]->(b:NodeTypeB) ASSERT count(r) < 2

2 个答案:

答案 0 :(得分:2)

每当您创建此类关系时,您都可以使用MERGE代替CREATE来获得相同的结果。例如:

MATCH (a:NodeTypeA {id: 123}), (b:NodeTypeB {id: 456})
MERGE (a)-[r:TYPE_OF_REL]->(b);

MERGE如果已存在,则不会创建关系。

(但是,请注意,如果多个MERGE操作可以同时运行,则仍然可以实现重复关系。如果您使用的是neo4j 3.1.2或更高版本,或者只要求DB,则不需要考虑这种关系。一次执行一个操作。)

答案 1 :(得分:1)

根据the documentation,Neo不支持这一点。