我有一组带有多个标签(A,B,C)的节点。所有节点都具有公共属性,该属性在所有标签中都是唯一的。但是,在创建唯一约束时,它仅限于一个标签,不是吗?
文档说的是:
CREATE CONSTRAINT ON (n:A) ASSERT n.uid IS UNIQUE
但我想做一些像
这样的事情 CREATE CONSTRAINT ON (n:A AND n:B AND n:C) ASSERT n.uid IS UNIQUE
或
CREATE CONSTRAINT ON (n) ASSERT n.uid IS UNIQUE
如果不可能,最好是创建标签D,并将其添加到标签为A,B和C的所有节点,然后为标签D创建约束?
答案 0 :(得分:3)
您的建议正是我在类似案例中使用的建议。我创建了一个标签,用于包含另外两个标签,并在新标签上添加了约束(除了其他标签之外)。
除了使用子标签创建的任何新节点之外,唯一的技巧是记住应用该标签。
对于适用于多个标签的约束进行neo4j功能请求并不是一个坏主意,这会非常有用。