创建唯一约束
Neo4j CQL 提供“CREATE CONSTRAINT”命令来创建节点或关系属性的唯一约束。
句法
以下是在 Neo4j 中创建 UNIQUE 约束的语法。
MATCH (root {name: "Dhawan"})
CREATE UNIQUE (root)-[:LOVES]-(someone)
RETURN someone
例子
在继续该示例之前,创建 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 上创建唯一约束的示例 Cypher 查询。
CREATE CONSTRAINT ON (n:player) ASSERT n.id IS UNIQUE
要执行上述查询,请执行以下步骤 -
Step 1− 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL 打开 Neo4j 的内置浏览器应用程序http://localhost:7474/如以下屏幕截图所示。
Step 2- 在美元提示符中复制并粘贴所需的查询,然后按以下屏幕截图中突出显示的播放按钮(执行查询)。
结果
执行时,您将得到以下结果。
确认
现在,尝试添加另一个具有冗余 id 值的节点。在这里,我们正在尝试创建一个具有 id 的节点002.
CREATE (Jadeja:player {id:002, name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})
如果执行此查询,您将收到一条错误消息,如以下屏幕截图所示。