neo4j - 如何在 neo4j 中的两个属性上创建唯一约束?
问题描述
我使用节点作为中间路径元素,但我想确保开始/结束是唯一的。如何创建需要检查两个值的约束?
我可以设置单独的,但看不到两部分约束的语法。
neolib.run_query(
"""CREATE CONSTRAINT
uSource
if not exists
ON (m:route) ASSERT m.source IS UNIQUE""")
neolib.run_query(
"""CREATE CONSTRAINT
uTarget
if not exists
ON (m:route) ASSERT m.target IS UNIQUE""")
解决方案
它有这个文档:
https://neo4j.com/docs/cypher-manual/current/administration/constraints/#query-constraint-node-key
CREATE CONSTRAINT [constraint_name] [IF NOT EXISTS]
ON (n:LabelName)
ASSERT (n.propertyName_1,
n.propertyName_2,
…
n.propertyName_n)
IS NODE KEY
[OPTIONS "{" option: value[, ...] "}"]
FOR EXAMPLE:
CREATE CONSTRAINT uSourceTarget IF NOT EXISTS ON (m:route) ASSERT (m.source, m. target) IS NODE KEY
注意:仅适用于企业版(不适用于社区版)
推荐阅读
- python - 如何根据条件暂停人脸识别并在python中执行语句/函数
- assembly - 如何禁用某些 msp430 gcc 代码注入
- php - 如何计算非空变量以获得非空的总和
- docusignapi - 如何将发件人更改为其他用户?
- azure - Azure 表单识别器 - 标签变量类型数据 - 接收列表中的数据
- javascript - 如何循环遍历对象数组以添加缺少值的对象
- amazon-web-services - 从 S3 存储桶读取火花的 AWS 收费?
- c - 如何在字符串中查找单词而不是子字符串
- google-bigquery - 如何在云数据融合中使用 BigQuery 视图作为源?
- google-data-studio - 如何在 Google Data Studio 中划分两个参数?