How to create unique constraint involving multiple properties in Neo4J

后端 未结 3 824
名媛妹妹
名媛妹妹 2020-12-10 11:02

I know I can create a unique constraint on a single property with Cypher like CREATE CONSTRAINT ON (p:Person) ASSERT p.name IS UNIQUE. But I was wondering wheth

3条回答
  •  情书的邮戳
    2020-12-10 11:15

    neo4j (2.0.1) does not currently support a uniqueness constraint that covers multiple properties simultaneously.

    However, I can think of a workaround that might be acceptable, depending on your use cases. Let's say you want properties a, b, and c to be unique as a group. You can add an extra property, d, that concatenates the stringified values of a, b, and c, using appropriate delimiter(s) to separate the substrings (such that, for example, the a/b delimiter is a character that never appears in a or b). You can then create a uniqueness constraint on d.

    [UPDATE]

    Neo4j 3.3 added support for uniqueness constraints that cover multiple properties, via node key constraints. However, this feature is only available in the Enterprise Edition.

提交回复
热议问题