弃用、新增和兼容性
Cypher® 是一种不断发展的语言。新功能不断添加到语言中,偶尔也会有某些功能被弃用并随后移除。
本节列出了在不同 Cypher 版本中已移除、弃用、新增或扩展的所有功能。还指出了弃用和移除功能的替代语法。
Neo4j 2025.04
新功能
功能 | 详情 |
---|---|
功能 新增
|
企业版现在支持基于属性的关系访问控制。欲了解更多信息,请参阅基于属性的访问控制。 |
Neo4j 2025.03
新功能
功能 | 详情 |
---|---|
功能 新增
|
|
Neo4j 5.26
弃用功能
功能 | 详情 |
---|---|
功能 已弃用
|
在创建索引或约束时,在 这也意味着向量索引的索引提供程序 |
功能 已弃用
MATCH (...)-[where {...}]->() |
在节点或关系模式中直接跟属性键值表达式使用的名为
|
功能 已弃用
... + n:A&B ... + n:A&B|C |
将未加括号的标签表达式谓词用作 |
功能 已弃用
|
在简单 |
功能 已弃用
CASE x ... WHEN contains - 1 THEN ... END |
在简单
|
功能 已弃用
CASE x ... WHEN in["abc"] THEN ... END |
在简单
|
功能 已弃用
|
过程 |
功能 已弃用
|
|
功能 已弃用
|
|
功能 已弃用
|
在 |
更新功能
功能 | 详情 |
---|---|
功能 已更新
|
|
功能 已更新
|
|
功能 已更新
|
|
功能 已更新
|
在 |
新功能
功能 | 详情 |
---|---|
功能 新增
|
增加了在 |
Neo4j 5.25
弃用功能
功能 | 详情 |
---|---|
功能 已弃用
|
|
更新功能
功能 | 详情 |
---|---|
功能 已更新
|
Neo4j 的块格式现在实现了GQL对标识符最大长度的限制。 标识符的最大长度限制为 16,383 个字符。这意味着节点标签、关系类型和属性键不能包含超过 16,383 个字符。 |
新功能
功能 | 详情 |
---|---|
功能 新增
|
选项 |
Neo4j 5.24
新功能
功能 | 详情 |
---|---|
功能 新增
|
引入了 |
功能 新增
|
引入了 详情请参阅 |
功能 新增
|
引入了符合 GQL 标准的独立 |
功能 新增
|
|
功能 新增
|
|
功能 新增
|
增加了在删除数据库时删除数据库别名的能力。这将影响指向该数据库的本地数据库别名以及属于复合数据库的组成数据库别名。欲了解更多信息,请参阅删除带有指向其的本地数据库别名的数据库和删除带有组成数据库别名的复合数据库。 |
功能 新增
|
LOAD CSV 子句的扩展,允许从 Azure 云存储 URI 加载 CSV 文件。 |
功能 新增
|
增加了设置哪些身份验证提供程序适用于用户(企业版)的能力。 通过新语法管理本机(用户名/密码)身份验证现在也受支持(社区版)。 |
功能 新增
|
增加了通过 通过此新语法设置本机(用户名/密码)身份验证提供程序也受支持(社区版),但移除任何身份验证提供程序或设置非本机身份验证提供程序仅在企业版中受支持。 |
功能 新增
|
新增对 |
功能 新增
|
新增特权,允许用户修改用户身份验证提供程序。这是 |
Neo4j 5.23
弃用功能
功能 | 详情 |
---|---|
功能 已弃用
|
使用 |
更新功能
功能 | 详情 |
---|---|
功能 已更新
|
引入了符合 GQL 标准的持续时间类型新别名: 更多信息请参阅类型及其同义词。 |
新功能
功能 | 详情 |
---|---|
功能 新增
|
引入了新的变量作用域子句,用于在 |
功能 新增
|
引入了以下向量索引的配置设置
此外,自 Neo4j 5.23 起,在创建向量索引时不再强制配置 |
Neo4j 5.21
更新功能
功能 | 详情 |
---|---|
功能 已更新
|
在 如果使用的函数/过程已弃用,该列将返回一个 |
新功能
功能 | 详情 |
---|---|
功能 新增
|
引入了针对读取权限的基于属性的访问控制。企业版现在支持根据节点属性值读取、遍历和匹配节点。 |
功能 新增
|
扩展了 LOAD CSV 子句,允许从 Google Cloud Storage URI 加载 CSV 文件。 |
功能 新增
|
引入了 |
功能 新增
|
|
功能 新增
|
引入了 CALL { … } IN CONCURRENT TRANSACTIONS,它同时使用多个 CPU 处理器并发执行批处理的内部事务。 |
功能 新增
|
引入了新的图模式匹配关键字,用于查找节点之间最短路径的变体。 |
引入了新运算符来解决 |
|
功能 新增
|
引入了在查询前添加 |
Neo4j 5.20
Neo4j 5.19
新功能
功能 | 详情 |
---|---|
功能 新增
|
添加了新的 |
功能 新增
|
新的 FINISH 子句,可选择用于定义不返回结果的查询。 |
功能 新增
|
关键字 |
功能 新增
|
LOAD CSV 子句的扩展,允许从 AWS S3 URI 加载 CSV 文件。 |
功能 新增
|
增加了对其他 Vertex AI 向量编码模型的支持。还增加了对 Vertex AI |
Neo4j 5.18
新功能
功能 | 详情 |
---|---|
功能 新增
|
添加了新关键字 INSERT,可用作 |
功能 新增
|
扩展了简单 |
功能 新增
|
添加了创建关系向量索引的命令。使用此命令时,索引配置设置 |
功能 新增
|
引入了向量相似度函数。这些函数返回一个 |
Neo4j 5.17
更新功能
功能 | 详情 |
---|---|
功能 已更新
|
当尝试使用 |
功能 已更新
|
当尝试使用 |
功能 已更新
|
当尝试使用 |
功能 已更新
|
当尝试使用 |
新功能
功能 | 详情 |
---|---|
功能 新增
|
引入了 normalize() 函数。此函数根据指定的标准化形式(可以是 |
功能 新增
|
引入了 IS NORMALIZED 运算符。该运算符可用于检查 |
功能 新增 新运算符 |
引入了并行运行时使用的分区运算符。这些运算符将数据分段并并行处理每个分段。 |
Neo4j 5.16
更新功能
功能 | 详情 |
---|---|
功能 已更新
|
增加了在 |
功能 已更新
|
增加了在 |
新功能
功能 | 详情 |
---|---|
功能 新增
|
增加了授予或拒绝在 CIDR 范围内 |
Neo4j 5.15
弃用功能
功能 | 详情 |
---|---|
功能 已弃用
|
Unicode 字符 `\u0085` 对于未用反引号引用的标识符已弃用,将来将被视为空白字符。要继续使用它,请用反引号引用标识符。这适用于 Cypher 中的所有标识符,例如标签表达式、属性、变量名或参数。在给定示例中,引用的标识符将是 `my�identifier`。 |
功能 已弃用
|
Unicode 表示 `\u0024` 的字符对于未用反引号引用的标识符已弃用,将来将不再受支持。要继续使用它,请用反引号引用标识符。这适用于 Cypher 中的所有标识符,例如标签表达式、属性、变量名或参数。在给定示例中,引用的标识符将是 `my$identifier`。 以下 Unicode 字符在标识符中已弃用:'\u0000', '\u0001', '\u0002', '\u0003', '\u0004', '\u0005', '\u0006', '\u0007', '\u0008', '\u000E', '\u000F', '\u0010', '\u0011', '\u0012', '\u0013', '\u0014', '\u0015', '\u0016', '\u0017', '\u0018', '\u0019', '\u001A', '\u001B', '\u007F', '\u0080', '\u0081', '\u0082', '\u0083', '\u0084', '\u0086', '\u0087', '\u0088', '\u0089', '\u008A', '\u008B', '\u008C', '\u008D', '\u008E', '\u008F', '\u0090', '\u0091', '\u0092', '\u0093', '\u0094', '\u0095', '\u0096', '\u0097', '\u0098', '\u0099', '\u009A', '\u009B', '\u009C', '\u009D', '\u009E', '\u009F', '\u0024', '\u00A2', '\u00A3', '\u00A4', '\u00A5', '\u00AD', '\u0600', '\u0601', '\u0602', '\u0603', '\u0604', '\u0605', '\u061C', '\u06DD', '\u070F', '\u08E2', '\u180E', '\u200B', '\u200C', '\u200D', '\u200E', '\u200F', '\u202A', '\u202B', '\u202C', '\u202D', '\u202E', '\u2060', '\u2061', '\u2062', '\u2063', '\u2064', '\u2066', '\u2067', '\u2068', '\u2069', '\u206A', '\u206B', '\u206C', '\u206D', '\u206E', '\u206F', '\u2E2F', '\uFEFF', '\uFFF9', '\uFFFA', '\uFFFB' |
更新功能
功能 | 详情 |
---|---|
功能 已更新
|
扩展了 |
功能 已更新
|
|
新功能
功能 | 详情 |
---|---|
功能 新增
|
添加了新关键字 ALL,明确定义聚合函数不为 |
功能 新增
|
添加了创建节点向量索引的命令,取代了 |
Neo4j 5.13
更新功能
功能 | 详情 |
---|---|
功能 已更新
|
更新了 过程签名现在遵循以下模式: 没有返回列的过程签名现在遵循以下模式: 函数签名现在遵循以下模式: 有关所有可用的 Cypher 类型,请参阅类型及其同义词一节。 |
新功能
功能 | 详情 |
---|---|
功能 新增 测试版
|
引入了变更数据捕获 (CDC) 功能。详情请参阅变更数据捕获。 |
功能 新增
|
引入了 valueType() 函数。此函数返回给定表达式评估结果的最精确值类型的 |
功能 新增
|
引入了 char_length() 函数。此函数返回 |
功能 新增
|
引入了 character_length() 函数。此函数返回 |
功能 新增 新特权
|
新特权,控制用户加载数据的能力。与其他特权不同,这些特权不是在图、数据库或 DBMS 上授予、拒绝或撤销,而是在 |
功能 新增
|
新的图函数 graph.byElementId(),它解析给定元素 ID 所属的构成图。 |
功能 新增 CYPHER runtime = parallel |
引入了并行运行时。此运行时专为在具有多个可用 CPU 的机器上运行的分析型、全局图读取查询而设计。 |
Neo4j 5.12
新功能
功能 | 详情 |
---|---|
功能 新增
|
新的数据库函数,用于从元素 ID 返回数据库名称。 |
Neo4j 5.11
更新功能
功能 | 详情 |
---|---|
功能 已更新
|
在 该列返回别名所属的复合数据库的名称,如果别名不属于复合数据库,则返回 |
功能 已更新
|
扩展了类型谓词表达式。现在支持封闭的动态联合类型 (
|
功能 已更新
|
扩展了节点和关系属性类型约束。现在支持封闭的动态联合类型 (
|
功能 已更新
|
此命令现在即使在显式事务中执行也会自动提交。 |
Neo4j 5.10
更新功能
功能 | 详情 |
---|---|
功能 已更新
|
扩展了类型谓词表达式。新支持的类型包括:
|
功能 已更新
|
扩展了节点和关系属性类型约束。新支持的类型包括:
|
Neo4j 5.9
弃用功能
功能 | 详情 |
---|---|
功能 已弃用
|
创建节点或关系实体,然后在同一个 |
更新功能
功能 | 详情 |
---|---|
功能 已更新
|
在 如果设置/函数/过程已弃用,则该列为 true,否则为 false。 |
功能 已更新
|
在 如果参数/返回值已弃用,则该字段为 true,否则为 false。 |
功能 已更新
|
引入了 |
新功能
功能 | 详情 |
---|---|
功能 新增
|
引入了量化路径模式——一种在图模式匹配中用于匹配可变长度路径的新方法。更多信息可在此处找到。 |
功能 新增 新运算符: |
|
功能 新增
|
添加了类型谓词表达式。可用类型包括:
|
功能 新增
|
添加了节点和关系属性类型约束。可用属性类型包括:
|
功能 新增
|
为新的属性约束添加了对 |
功能 新增
|
列出当前服务器上支持的特权。 |
Neo4j 5.8
更新功能
功能 | 详情 |
---|---|
功能 已更新
|
引入了
|
新功能
功能 | 详情 |
---|---|
功能 新增 新运算符: |
|
Neo4j 5.7
弃用功能
功能 | 详情 |
---|---|
功能 已弃用
|
Cypher 查询选项 |
更新功能
功能 | 详情 |
---|---|
功能 已更新
|
|
功能 新增
|
|
功能 新增
|
为新的约束类型添加了对 现有 |
新功能
功能 | 详情 |
---|---|
功能 新增
|
新的细粒度控制机制,用于控制内部事务如何影响后续的内部和/或外部事务。
|
Neo4j 5.6
新功能
功能 | 详情 |
---|---|
功能 新增
|
新增功能,可通过 |
功能 新增
|
新表达式,返回以列表形式收集的子查询结果。 |
功能 新增
|
列出当前服务器上的配置设置。
|
功能 新增
|
新特权,控制用户对所需配置设置的访问。 |
Neo4j 5.5
弃用功能
功能 | 详情 |
---|---|
功能 已弃用
|
在
|
新功能
功能 | 详情 |
---|---|
功能 新增 新运算符: |
|
Neo4j 5.3
更新功能
功能 | 详情 |
---|---|
功能 已更新
|
离线服务器上托管的数据库的可见性变更。 对于此类数据库
|
功能 已更新
|
|
功能 已更新
|
|
功能 已更新
|
属性唯一性约束类型过滤器现在允许使用 |
新功能
功能 | 详情 |
---|---|
功能 新增 新运算符: |
|
Neo4j 5.0
已移除功能
功能 | 详情 |
---|---|
功能 已移除
|
替换为
|
功能 已移除
|
替换为
|
功能 已移除
|
替换为
|
功能 已移除
|
替换为
|
功能 已移除
|
替换为
|
功能 已移除
|
替换为
|
功能 已移除
|
替换为
|
功能 已移除
功能 已移除
|
B-树索引已移除。 用于
用于空间查询的 B-树索引已替换为
用于一般查询或属性值类型的 B-树索引已替换为
这些新索引可以组合用于多种用例。 |
功能 已移除
|
B-树索引已移除。 替换为
|
功能 已移除
|
B-树索引已移除。 替换为
|
功能 已移除
|
由 B-树索引支持的节点键和属性唯一性约束已移除。 替换为
用于 |
功能 已移除
|
引入了新列 |
功能 已移除
|
|
功能 已移除
|
替换为
|
功能 已移除
|
替换为
|
功能 已移除
|
|
功能 已移除
|
替换为
|
功能 已移除
|
替换为
|
功能 已移除
|
替换为 |
功能 已移除
|
仅支持 |
功能 已移除
|
对重复关系变量的剩余支持已移除。 |
功能 已移除
|
将列表自动强制转换为布尔值的支持已移除。 替换为
|
功能 已移除
|
替换为
|
功能 已移除
|
在空间点上使用运算符
|
功能 已移除
|
替换为
|
功能 已移除
|
不再允许在 |
功能 已移除
|
在子查询
|
功能 已移除
|
不再支持生成路径列表的模式表达式,但它们仍可用作存在谓词,例如在
|
功能 已移除
|
不再支持隐式分组键。只有不包含聚合的表达式才仍被视为分组键。在包含聚合的表达式中,叶子必须是:
|
弃用功能
功能 | 详情 |
---|---|
功能 已弃用
|
请改用
|
功能 已弃用
|
不带可变长度关系的
|
功能 已弃用
|
在名称中包含点号创建数据库已弃用,请改用反引号引用数据库名称。
|
功能 已弃用
|
替换为
|
更新功能
功能 | 详情 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
功能 已更新
|
默认索引类型已从 B-树索引更改为范围索引。 |
|||||||||||||||
功能 已更新
|
新增列 |
|||||||||||||||
功能 已更新
|
新增列 |
|||||||||||||||
功能 已更新
|
当前查询新增列
这些列仅在完整结果集(带 |
|||||||||||||||
功能 已更新
|
终止事务现在允许使用 |
|||||||||||||||
功能 已更新
|
|
|||||||||||||||
功能 已更新
|
当命令不在独立模式下时,
|
|||||||||||||||
功能 已更新
|
这不是语法更改,而是语义更改。授予 |
|||||||||||||||
功能 已更新
|
权限可以指定为 |
|||||||||||||||
功能 已更新
|
|
|||||||||||||||
功能 已更新
|
结果中默认列的更改
以下列已添加到完整结果集(带
|
|||||||||||||||
功能 已更新
|
以前,如果 这只是一个语义更改。由于在 Cypher 中 如果需要匹配
|
|||||||||||||||
功能 已更新
|
对无穷大和 NaN 值进行四舍五入现在将返回原始值,而不是在精度为 0 时返回整数近似值,或在精度大于 0 时抛出异常。
要获取整数值,请使用 |
|||||||||||||||
功能 已更新
|
别名命令现在可以处理复合数据库中的别名。 |
|||||||||||||||
功能 已更新
|
|
|||||||||||||||
功能 已更新
|
别名命令现在可以处理复合数据库中的别名。 |
|||||||||||||||
功能 已更新
|
|
新功能
功能 | 详情 |
---|---|
功能 新增
|
用于创建和删除复合数据库的新 Cypher 命令。 |
功能 新增
|
新特权,允许用户 |
功能 新增
|
Cypher 现在支持数字字面量中数字之间的下划线。 |
功能 新增
|
新函数,返回给定数字是否为 |
功能 新增
|
Cypher 现在支持 |
功能 新增
|
新表达式,返回子查询结果的数量。 |
功能 新增
|
|
功能 新增
|
|
功能 新增
|
用于启用服务器的新 Cypher 命令。 |
功能 新增
|
用于设置服务器选项的新 Cypher 命令。 |
功能 新增
|
用于更改服务器名称的新 Cypher 命令。 |
功能 新增
|
用于重新平衡哪些服务器托管哪些数据库的新 Cypher 命令。 |
功能 新增
|
用于将所有数据库从服务器移动的新 Cypher 命令。 |
功能 新增
|
用于删除服务器的新 Cypher 命令。 |
功能 新增
|
用于列出服务器的新 Cypher 命令。 |
功能 新增
|
新特权,允许用户创建、修改、重新分配、释放、删除和列出服务器。 |
功能 新增
|
用于表达节点可能具有哪些标签的谓词的新简洁语法,称为标签表达式。 |
功能 新增
|
用于表达关系可能具有哪些关系类型谓词的新简洁语法,称为关系类型表达式。 |
功能 新增
|
新语法,支持在关系模式内部内联 |
Neo4j 4.4
弃用功能
功能 | 详情 |
---|---|
功能 已弃用
|
隐式分组键已弃用。只有不包含聚合的表达式才仍被视为分组键。在包含聚合的表达式中,叶子必须是:
|
语法 已弃用
|
替换为
|
语法 已弃用
|
在 |
语法 已弃用
|
替换为
|
功能 已弃用
|
B-树索引已弃用。 用于字符串查询的 B-树索引已替换为:
用于空间查询的 B-树索引已替换为
用于一般查询或属性值类型的 B-树索引已替换为
这些新索引可以组合用于多种用例。 |
功能 已弃用
|
|
功能 已弃用
|
B-树索引已弃用。 替换为
|
功能 已弃用
|
B-树索引已弃用。 替换为
|
功能 已弃用
|
带有 B-树选项的节点键和属性唯一性约束已弃用。 替换为
用于字符串属性的约束还需要一个额外的文本索引来正确覆盖字符串查询。用于点属性的约束还需要一个额外的点索引来正确覆盖空间查询。 |
功能 已弃用
|
替换为
|
功能 已弃用
|
在空间点上使用不等于运算符
|
功能 已弃用
|
目前,如果 请改用
|
新功能
功能 | 详情 |
---|---|
功能 新增
|
用于在单独事务中评估子查询的新子句。通常用于修改或导入大量数据时。参见CALL { ... } IN TRANSACTIONS。 |
语法 新增
|
用于创建约束的新语法,适用于所有约束类型。 |
功能 新增
|
属性唯一性约束现在允许使用多个属性,确保属性值的组合是唯一的。 |
功能 新增 已弃用
|
属性唯一性约束现在允许使用多个属性。 替换为
|
语法 新增
|
存在性约束现在允许使用 |
功能 新增
|
令牌查找索引现在允许使用 |
功能 新增
|
允许在具有特定标签或关系类型以及属性组合的节点或关系上创建文本索引。它们可以通过其名称删除。 |
功能 新增
|
允许在具有特定标签或关系类型以及属性组合的节点或关系上创建范围索引。它们可以通过其名称删除。 |
功能 新增
|
允许通过在 |
功能 新增
|
允许在具有特定标签或关系类型以及属性组合的节点或关系上创建点索引。它们可以通过其名称删除。 |
语法 新增
|
新特权,允许用户假定另一个用户的特权。 |
功能 新增
|
列出当前服务器上的事务。
这取代了过程 |
功能 新增
|
终止当前服务器上的事务。
这取代了过程 |
功能 新增
|
修改数据库访问模式的新 Cypher 命令。 |
功能 新增
|
允许用户修改数据库的新权限。 |
功能 新增
|
允许用户修改数据库访问模式的新权限。 |
功能 新增
|
创建数据库名称别名的新 Cypher 命令。远程别名仅在 Neo4j 4.4.8 及更高版本中受支持。 |
功能 新增
|
创建或替换数据库名称别名的新 Cypher 命令。远程别名仅在 Neo4j 4.4.8 及更高版本中受支持。 |
功能 新增
|
更改别名的新 Cypher 命令。远程别名仅在 Neo4j 4.4.8 及更高版本中受支持。 |
功能 新增
|
删除数据库别名的新 Cypher 命令。 |
功能 新增
|
列出数据库别名的新 Cypher 命令。仅在 Neo4j 4.4.8 及更高版本中受支持。 |
功能 新增
|
允许用户创建、修改、删除和列出别名的新权限。仅在 Neo4j 4.4.8 及更高版本中受支持。 |
功能 新增
|
允许用户创建别名的新权限。仅在 Neo4j 4.4.8 及更高版本中受支持。 |
功能 新增
|
允许用户修改别名的新权限。仅在 Neo4j 4.4.8 及更高版本中受支持。 |
功能 新增
|
允许用户删除别名的新权限。仅在 Neo4j 4.4.8 及更高版本中受支持。 |
功能 新增
|
允许用户显示别名的新权限。仅在 Neo4j 4.4.8 及更高版本中受支持。 |
语法 新增
|
允许在节点模式中内联 |