1. 创建节点属性的唯一性约束
先创建一个节点,CQL语句如下所示:
CREATE (test:TEST{name:'test'})
给创建 TEST 标签中节点的 name 属性创建唯一性约束。
CREATE CONSTRAINT ON (test:TEST) ASSERT test.name IS UNIQUE
创建成功,如下所示:
重复创建节点属性的唯一性约束,不报错,但无影响,如下图所示:
如果数据库中已经有重复的节点,创建唯一性约束会失败,会报错:
2. 唯一性测试
再CREATE 一个相同的节点会报错:Neo.ClientError.Schema.ConstraintValidationFailed: Node(1183) already exists with label `TEST` and property `name` = 'test'。
CREATE (test1:TEST{name:'test'})
3. 查询已创建的唯一性约束
查询CQL语句如下:
:schema
系统还自动创建了索引,如图所示。
4. 删除唯一性约束
CQL 语句如下所示:
DROP CONSTRAINT ON (test:TEST) ASSERT test.name IS UNIQUE
删除之后就可以继续创建相同的节点了。
重新创建唯一性约束,再删除该标签中所有的节点,唯一性约束还在。