标签或属性名称是否可能包含空格?

时间:2015-08-12 08:15:35

标签: neo4j

我想使用包含空格而不是CamelCase的标签/属性。这是可能的,如果是这样的话?

e.g。 '架构描述元素'

1 个答案:

答案 0 :(得分:11)

是的,你可以,但你需要用反引号括起标签或属性名称。

CREATE (n:`Architecture Description Element` { `property name`:"It works!" })

http://console.neo4j.org/r/kctf37

手册section 2.1

  

标签名称

     

任何非空的Unicode字符串都可以用作标签名称。在Cypher中,您可能需要使用反引号(`)语法来避免与Cypher标识符规则冲突或允许标签中的非字母数字字符。按照惯例,标签使用CamelCase表示法编写,第一个字母为大写。例如,User或CarOwner。

关于属性的相应段落不涉及属性名称限制,但在Cypher章节中有一段关于section 9.3中标识符名称的段落

  

标识符名称区分大小写,可以包含下划线和字母数字字符(a-z,0-9),但必须始终以字母开头。如果需要其他字符,可以使用反引号(`)符号引用标识符。

     

相同的规则适用于属性名称。

如果使用shell中的dump命令导出子图,则所有属性和标签名称都将被反引号包围,无论它们是否需要。您可能需要考虑对以编程方式生成的查询执行相同的操作。