解析
此页面提供有关 Cypher® 如何解析输入 `STRING` 的概览。
Cypher 解析器接收任意输入 `STRING`。虽然 Cypher 的语法将在后续章节中介绍,但以下内容详细介绍了哪些字符被认为是有效输入的一般规则。
在 Cypher 中使用 Unicode
Unicode 通常可以转义为 `\uxxx`。
有关 `STRING` 字面量、名称和正则表达式的转义规则的更多文档,请参阅此处
以下示例在关键字 `MATCH` 中转义了 Unicode 字符 `A` (`\u0041`)
M\u0041TCH (m) RETURN m;
Cypher 使用的 Unicode 版本取决于运行的 JVM 版本。
Neo4j 版本 | JVM 符合性 | Unicode 版本 |
---|---|---|
3.x |
Java SE 8 平台规范 |
Unicode 6.2 |
4.x |
Java SE 11 平台规范 |
Unicode 10.0 |
5.x |
Java SE 17 平台规范 |
Unicode 13.0 |
5.14 |
Java SE 17 和 Java SE 21 平台规范 |
Unicode 13.0 和 Unicode 15.0 |
支持的空白字符
空白字符可以用作关键字之间的分隔符,没有语义含义。以下 Unicode 字符被视为空白字符
描述 | 包含的 Unicode 字符列表 |
---|---|
Unicode 通用类别 Zp |
|
Unicode 通用类别 Zs |
|
Unicode 通用类别 class Zl |
|
水平制表符 |
|
换行符 |
|
垂直制表符 |
|
换页符 |
|
回车符 |
|
文件分隔符 |
|
组分隔符 |
|
记录分隔符 |
|
单元分隔符 |
|
可以在一行中有多个空白字符,其效果与使用单个空白字符相同。
以下示例查询在 `RETURN` 关键字和变量 `m` 之间使用垂直制表符 (\u000B
) 作为空白字符
MATCH (m) RETURN\u000Bm;