我有两种类型的对象说 实体和类型。
每个实体只能是一种类型。
所以
Merge (M1:Entity {name:'m1'})
Merge (M2:Entity {name:'m2'})
Merge (T1:EType {name:'System'})
Merge (T2:EType {name:'User'})
然后
MERGE (M1)-[:typeOf]->(T1)
MERGE (M2)-[:typeOf]->(T1)
应该可以工作,但是跟随一个应该给我错误(每个实体应该只与一个EType链接)
MERGE (M1)-[:typeOf]->(T2)
我需要的是在架构级别提供约束。
答案 0 :(得分:0)
从Neo4j 3.1开始,唯一支持的架构约束是:
没有架构支持您想要的限制。
也就是说,有workarounds you'll have to code yourself,例如通过添加TransactionEventHandler来强制执行您的要求。