📜  Neo4j |命名规则和建议

📅  最后修改于: 2021-09-09 11:30:46             🧑  作者: Mango

命名规则很少,节点标签、关系类型、属性名称和变量的命名都必须遵循一些规则,除非发生错误。

命名规则:

  • 要命名节点标签、关系类型、属性名称,变量名称也应以字母开头。这也可能是非英文字符。如果需要数字字符来命名上面提到的任何内容,那么您可以使用反引号来转义非字母字符,例如`^n`
  • 命名可以包含数字,但不能像1Geeks一样在第一位。您可以将其用作Geeks1Geek1s 。但是,如果你把一个数字在随后开始同样使用反引号,比如`1Geeks`是反引号将跳过1级其他字符的行为,因为它应该是。
  • Neo4j 中的命名不能包含任何用于命名的特殊符号。但允许使用下划线,如果需要特殊符号,则使用反引号
  • 命名可以很长 65535 (2^16 – 1) 或 65534 它基本上取决于 Neo4j 的版本。
  • Neo4j 中的命名区分大小写,例如:Geeks:GEEKS:geeks是三个不同的标签, gG是不同的变量。
  • 空白字符是可以接受的所有前导和尾随空白字符将被自动删除。像MATCH (a) RETURN a 等价于MATCH (a) RETURN a 。如果名称中需要空格,请使用反引号进行转义,例如“我的变量有空格”

作用域和命名空间规则:

  • 所有节点标签、关系类型和属性名称都可以重用名称。以下查询?—?带有标签、类型和属性名称的 a?—? 有效:
    CREATE (a:a {a: 'a'})-[r:a]?(b:a {a: 'a'}).
  • 节点和关系的变量不得在同一查询范围内重复使用名称。以下查询无效,因为节点和关系都具有名称
    a: CREATE (a)-[a]?(b)

推荐用于命名节点标签、关系类型、属性名称和变量:

  • 节点标签:尝试使用 Camel 大小写,以大写字符开头,如下例所示。
    :GeeksforGeeks rather than :geeksforgeeks
  • 关系类型:尽量使用大写,可以使用下划线分隔单词
    :Geeks_for_Geeks rather than :geeksForGeeks 

参考: https : //neo4j.com/docs/cypher-manual/current/syntax/naming/