解析

此页面提供有关 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

\u2029

Unicode 通用类别 Zs

\u0020 (空格),\u1680\u2000-200A\u202F\u205F\u3000

Unicode 通用类别 class Zl

\u2028

水平制表符

\t\u0009

换行符

\n\u000A

垂直制表符

\u000B

换页符

\f\u000C

回车符

\r\u000D

文件分隔符

\u001C

组分隔符

\u001D

记录分隔符

\u001E

单元分隔符

\u001F

可以在一行中有多个空白字符,其效果与使用单个空白字符相同。

以下示例查询在 `RETURN` 关键字和变量 `m` 之间使用垂直制表符 (\u000B) 作为空白字符

MATCH (m) RETURN\u000Bm;

支持的换行符

换行符标识查询中的新行,也视为空白字符。Cypher 中支持的换行符为

描述 包含的 Unicode 字符列表

换行符

\n\u000A

回车符

\r\u000D

回车符 + 换行符

\r\n\u000D\u000A