解析
本页提供了 Cypher® 如何解析输入 STRING 的总体概述。
Cypher 解析器接受任意输入 STRING。本页详细说明了哪些字符被视为有效输入的一般规则。
在 Cypher 中使用 Unicode
Unicode 通常可以使用 \uxxx 进行转义。例如,下面的查询使用 Unicode u00B0 来搜索包含度数符号 º 的任何配方描述。
在
STRING 匹配中使用 UnicodeMATCH (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 |
|
Unicode 通用类别 Zs |
|
Unicode 通用类别 Zl |
|
水平制表符 |
|
换行符 |
|
垂直制表符 |
|
换页符 |
|
回车符 |
|
文件分隔符 |
|
组分隔符 |
|
记录分隔符 |
|
单元分隔符 |
|
下一行 |
|
可以连续出现多个空白字符,效果等同于使用单个空白字符。
下面的示例查询使用垂直制表符(\u000B)作为 RETURN 关键字与变量 m 之间的空白字符
MATCH (m) RETURN\u000Bm;