gpt4 book ai didi

properties - 在 neo4j 中对多个属性创建约束

转载 作者:行者123 更新时间:2023-12-05 04:11:54 24 4
gpt4 key购买 nike

我是 Neo4j 的新手,我需要一些帮助。

我试图根据两种含义同时对节点的多个属性进行约束:

  1. 我需要将许多属性指定为约束,而无需使用命令在所有属性上一遍又一遍地键入
  2. 我需要将许多属性定义为 ONE-UNITY 约束,就像在 SQL 中,当 3 个属性是主键且不可分离时。

我怎样才能实现它?

最佳答案

你实际上问了 2 个问题。

  1. APOC 程序 apoc.schema.assert有助于方便地确保数据库具有所需的一组索引和约束。 (但请注意,此过程将删除调用中未指定的任何现有索引和约束。)

    例如,如文档中所示,此调用:

    CALL apoc.schema.assert(
    {Track:['title','length']},
    {Artist:['name'],Track:['id'],Genre:['name']});

    将返回这样的结果(另外,如果索引或约束已被删除,则 action 值为“DROPPED”的行也会被返回):

      ╒════════════╤═══════╤══════╤═══════╕
    │label │key │unique│action │
    ╞════════════╪═══════╪══════╪═══════╡
    │Track │title │false │CREATED│
    ├────────────┼───────┼──────┼───────┤
    │Track │length │false │CREATED│
    ├────────────┼───────┼──────┼───────┤
    │Artist │name │true │CREATED│
    ├────────────┼───────┼──────┼───────┤
    │Genre │name │true │CREATED│
    ├────────────┼───────┼──────┼───────┤
    │Track │id │true │CREATED│
    └────────────┴───────┴──────┴───────┘
  2. 由于(目前)还没有任何方法可以在节点标签的多个属性上创建索引或约束,因此一种流行的解决方法是使用一个额外的属性,其值是您要使用的值的数组.您必须确保所有值都是同一类型,并在必要时转换一些值。不幸的是,这需要冗余地存储一些数据,并使您的代码有点复杂。

关于properties - 在 neo4j 中对多个属性创建约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41862488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com