- Neo4j CQL
- Neo4j CQL - 简介
- Neo4j CQL - 创建节点
- Neo4j CQL - 创建关系
- Neo4j CQL 写入子句
- Neo4j - 合并命令
- Neo4j - 设置子句
- Neo4j - 删除子句
- Neo4j - 移除子句
- Neo4j - Foreach 子句
- Neo4j CQL 读取子句
- Neo4j - 匹配子句
- Neo4j - 可选匹配子句
- Neo4j - 条件子句
- Neo4j - 计数函数
- Neo4j CQL 常用子句
- Neo4j - 返回子句
- Neo4j - 排序子句
- Neo4j - 限制子句
- Neo4j - 跳过子句
- Neo4j - With 子句
- Neo4j - Unwind 子句
- Neo4j CQL 函数
- Neo4j - 字符串函数
- Neo4j - 聚合函数
- Neo4j CQL 管理
- Neo4j - 备份和恢复
- Neo4j - 索引
- Neo4j - 创建唯一约束
- Neo4j - 删除唯一约束
- Neo4j 有用资源
- Neo4j - 快速指南
- Neo4j - 有用资源
- Neo4j - 讨论
Neo4j - 创建唯一约束
在 Neo4j 数据库中,CQL CREATE 命令始终创建一个新的节点或关系,这意味着即使使用相同的值,它也会插入新行。根据我们的应用程序需求,对于某些节点或关系,我们必须避免这种重复。为此,我们应该使用一些数据库约束在一个或多个节点或关系属性上创建规则。
与 SQL 类似,Neo4j 数据库也支持节点或关系属性上的唯一约束。唯一约束用于避免重复记录并执行数据完整性规则。
创建唯一约束
Neo4j CQL 提供“CREATE CONSTRAINT”命令来在节点或关系属性上创建唯一约束。
语法
以下是 Neo4j 中创建唯一约束的语法。
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
要执行上述查询,请执行以下步骤:
步骤 1 - 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL https://127.0.0.1:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。
步骤 2 - 将所需的查询复制并粘贴到美元提示符中,然后按播放按钮(执行查询),如下面的屏幕截图中突出显示的那样。
结果
执行后,您将获得以下结果。
验证
现在,尝试添加另一个具有冗余 id 值的节点。在这里,我们尝试创建一个 id 为 002 的节点。
CREATE (Jadeja:player {id:002, name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})
如果您执行此查询,您将收到一条错误消息,如下面的屏幕截图所示。
广告