Neo4J:力关系约束

  • 本文关键字:约束 关系 Neo4J neo4j
  • 更新时间 :
  • 英文 :


我有两种类型的对象说 实体和类型。

每个实体只能属于一种类型。

所以

 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)

我需要的是提供架构级别的约束。

从 Neo4j 3.1 开始,唯一支持的模式约束是:

  • 标签/属性的唯一性约束
  • 标签/属性的存在约束(仅限企业版)
  • 关系类型/属性的存在约束(仅限企业版)

所需限制没有架构支持。

也就是说,您必须自己编写一些解决方法,例如通过添加 TransactionEventHandler 来强制实施您的要求。

最新更新