Neo4j 简明教程
Neo4j - Create Unique Constraint
在 Neo4j 数据库中,CQL CREATE 命令始终会创建新节点或关系,这意味着即使您使用相同的值,它也会插入新行。根据我们的应用程序要求的一些节点或关系,我们必须避免这种重复。为此,我们应使用一些数据库约束在节点或关系的一个或多个属性上创建规则。
与 SQL 类似,Neo4j 数据库还支持节点或关系属性上的 UNIQUE(唯一)约束。UNIQUE 约束用于避免重复记录并强制执行数据完整性规则。
Create UNIQUE Constraint
Neo4j CQL 提供“CREATE CONSTRAINT”命令,用于针对节点或关系属性创建唯一约束。
Syntax
以下是 Neo4j 中创建 UNIQUE 约束的语法。
MATCH (root {name: "Dhawan"})
CREATE UNIQUE (root)-[:LOVES]-(someone)
RETURN someone
Example
在继续示例之前,如以下所示创建 4 个节点。
CREATE(Dhawan:player{id:001, name: "shikar Dhawan", YOB: 1995, POB: "Delhi"})
CREATE(Jonathan:player {id:002, name: "Jonathan Trott", YOB: 1981, POB: "CapeTown"})
CREATE(Sangakkara:player {id:003, name: "Kumar Sangakkara", YOB: 1977, POB: "Matale"})
CREATE(Rohit:player {id:004, name: "Rohit Sharma", YOB: 1987, POB: "Nagpur"})
CREATE(Virat:player {id:005, name: "Virat Kohli", YOB: 1988, POB: "Delhi"})
以下是使用 Neo4j 根据 id 属性创建 UNIQUE 约束的 Cypher 查询示例。
CREATE CONSTRAINT ON (n:player) ASSERT n.id IS UNIQUE
执行上述查询,执行以下步骤:
Step 1 - 打开 Neo4j Desktop App 并启动 Neo4j Server。使用 URL http://localhost:7474/ 打开 Neo4j 的内置浏览器应用,如下面的屏幕截图所示。
Step 2 - 在美元提示符中复制并粘贴所需的查询,并按播放按钮(执行查询)突出显示在下面的屏幕截图中。