解析

本页提供了 Cypher® 如何解析输入 STRING 的总体概述。

Cypher 解析器接受任意输入 STRING。本页详细说明了哪些字符被视为有效输入的一般规则。

在 Cypher 中使用 Unicode

Unicode 通常可以使用 \uxxx 进行转义。例如,下面的查询使用 Unicode u00B0 来搜索包含度数符号 º 的任何配方描述。

STRING 匹配中使用 Unicode
MATCH (r:Recipe)
WHERE r.description CONTAINS "\u00B0"
RETURN r

关于 STRING 字面量、名称和正则表达式的转义规则的更多文档可在此处找到

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 通用类别 Zl

\u2028

水平制表符

\t, \u0009

换行符

\n, \u000A

垂直制表符

\u000B

换页符

\f, \u000C

回车符

\r, \u000D

文件分隔符

\u001C

组分隔符

\u001D

记录分隔符

\u001E

单元分隔符

\u001F

下一行

\u0085

可以连续出现多个空白字符,效果等同于使用单个空白字符。

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

MATCH (m) RETURN\u000Bm;

支持的换行符

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

描述 包含的 Unicode 字符列表

换行符

\n, \u000A

回车符

\r, \u000D

回车 + 换行

\r\n, \u000D\u000A