配置 Cypher 默认版本

您可以指定运行查询时所使用的 Cypher® 版本,在 Cypher 5 和 Cypher 25 之间进行选择。有关更多信息,请参阅 Cypher® 版本

要指定 Cypher 版本,请使用以下选项之一:

为整个 DBMS 配置默认 Cypher 版本

整个 DBMS 的默认语言版本可以在 neo4j.conf 文件中通过设置 db.query.default_language 来配置。
在现有 DBMS 中更改此设置不会影响现有的数据库。除非在 CREATEALTER 数据库命令中显式指定了版本,否则它仅适用于新建的数据库。
db.query.default_language 的默认值为 CYPHER_5。这意味着除非在 neo4j.conf 中显式设置 db.query.default_language=CYPHER_25,否则新建的数据库默认将使用 CYPHER_5

从 Neo4j 2026.02 版本开始,分发的 neo4j.conf 显式设置db.query.default_language=CYPHER_25。因此,对于使用所提供配置文件的部署,新建数据库默认将使用 Cypher 25。

为每个数据库配置默认 Cypher 版本

特定数据库的默认语言可以使用 Cypher 数据库管理命令,通过在创建数据库时或创建后修改数据库时使用 SET DEFAULT LANGUAGE 子句来设置。该子句确定了指定数据库的默认 Cypher 版本,并覆盖配置文件中设置的版本。例如:CREATE DATABASE mydb SET DEFAULT LANGUAGE CYPHER 25ALTER DATABASE mydb SET DEFAULT LANGUAGE CYPHER 5。有关更多详细信息和示例,请参阅 数据库管理命令语法 以及 数据库管理 部分中的相关页面。
如果未指定,数据库的默认语言将设置为 DBMS 的默认语言。在创建时设置默认语言仅需要正确的 CREATE 权限。修改现有标准数据库的默认语言需要 SET DATABASE DEFAULT LANGUAGE 权限,而修改现有复合数据库则需要 ALTER COMPOSITE DATABASE 权限。

将默认语言设置为 CYPHER 25 可确保在该数据库上运行的所有查询都将使用该数据库当前运行的 Cypher 25 版本(除非您在查询前加上 CYPHER 5,这将覆盖此默认值)。例如,具有默认语言 Cypher 25 的 Neo4j 2025.08 数据库将使用 Neo4j 2025.08 中存在的 Cypher 25,包括在 Neo4j 2025.06、2025.07 和 2025.08 中引入的所有更改。

将默认语言设置为 CYPHER 5 可确保在该数据库上运行的所有查询都将使用 Neo4j 2025.06 版本发布时所具备的 Cypher 5 版本(除非您在查询前加上 CYPHER 25,这会覆盖此默认设置)。2025.06 版本之后引入的任何更改都不会影响查询的语义。

按单个查询设置 Cypher 版本

特定查询的默认语言可以通过在查询前加上 CYPHER 5CYPHER 25 关键字来设置。
例如:CYPHER 25 MATCH (n) RETURN nCYPHER 5 MATCH (n) RETURN n。此设置决定了指定查询的语言,并覆盖配置文件和数据库中设置的默认语言。