子句

本节包含有关 Cypher® 查询语言中所有子句的信息。

读取子句

这些子句用于从数据库中读取数据。

Cypher 查询中的数据流是一系列无序的映射(键值对集合),即查询中的变量与从数据库获取的值之间的一组可能的绑定关系。这组映射会通过查询的后续部分进行筛选和扩充。

子句 描述

FILTER

为查询添加过滤器。仅限 Cypher 25 Neo4j 2025.06 引入

MATCH

指定在数据库中搜索的模式。

OPTIONAL MATCH

指定在数据库中搜索的模式,同时使用 null 表示模式中缺失的部分。

投影子句

这些子句用于定义在结果集中返回哪些表达式。返回的表达式都可以使用 AS 进行别名命名。

子句 描述

FINISH

定义一个无结果的查询。

LET

将值绑定到变量。仅限 Cypher 25 Neo4j 2025.06 引入

RETURN …​ [AS]

定义查询结果集中应包含的内容。

UNWIND …​ [AS]

将列表展开为一系列行。

WITH …​ [AS]

允许将查询部分链接在一起,将前一个查询的结果作为后一个查询的起点或条件进行传递。

读取子子句

这些子子句必须作为读取子句的一部分使用。

子子句 描述

WHERE

MATCHOPTIONAL MATCH 子句中的模式添加约束,或筛选 WITH 子句的结果。

SEARCH

跟在 MATCHOPTIONAL MATCH 之后的子子句,基于近似最近邻 (ANN) 向量搜索来筛选结果。

ORDER BY [ASC[ENDING] | DESC[ENDING]]

跟在 RETURNWITH 之后的子子句,指定输出应按升序(默认)或降序排列。

SKIP / OFFSET

定义输出中从哪一行开始包含数据。

LIMIT

限制输出的行数。

写入子句

这些子句用于向数据库写入数据。

子句 描述

CREATE

创建节点和关系。

DELETE

删除节点、关系或路径。任何要删除的节点都必须同时显式删除所有关联的关系。

DETACH DELETE

删除节点或一组节点。所有关联的关系将自动删除。

SET

更新节点的标签以及节点和关系的属性。

REMOVE

从节点和关系中移除属性和标签。

FOREACH

更新列表内的数据,无论是路径的组成部分,还是聚合的结果。

读/写子句

这些子句既用于从数据库读取数据,也用于向数据库写入数据。

子句 描述

MERGE

确保图中存在特定的模式。如果模式尚不存在,则进行创建。

--- ON CREATE

MERGE 结合使用,该写入子子句指定在需要创建模式时要采取的操作。

--- ON MATCH

MERGE 结合使用,该写入子子句指定在模式已存在时要采取的操作。

CALL …​ [YIELD …​]

调用部署在数据库中的过程并返回结果。

子查询子句

子句 描述

CALL { …​ }

评估子查询,通常用于 UNION 后的处理或聚合。

CALL { …​ } IN TRANSACTIONS

在单独的事务中评估子查询。通常在修改或导入大量数据时使用。

集合操作

子句 描述

UNION(并集)

将多个查询的结果合并为一个结果集。重复项将被移除。

UNION ALL

将多个查询的结果合并为一个结果集。保留重复项。

多图子句

子句 描述

USE

确定查询或查询部分是在哪个图上执行的。

导入数据

子句 描述

LOAD CSV

在从 CSV 文件导入数据时使用。

CALL { …​ } IN TRANSACTIONS

当使用 LOAD CSV 导入大量数据时,可以使用此子句防止发生内存溢出错误。

列出函数和过程

子句 描述

SHOW FUNCTIONS

列出可用的函数。

SHOW PROCEDURES

列出可用的过程。

配置命令

子句 描述

SHOW SETTINGS

列出配置设置。

事务命令

子句 描述

SHOW TRANSACTIONS

列出可用的事务。

TERMINATE TRANSACTIONS

按 ID 终止事务。

读取提示

这些子句用于在优化查询时指定规划器提示。关于这些提示以及查询优化的更多详细信息,请参见 规划器提示和 USING 关键字

提示 描述

USING INDEX

索引提示用于指定规划器应使用哪个索引(如果有)作为起点。

USING INDEX SEEK

索引查找提示指示规划器为此子句使用索引查找。

USING SCAN

扫描提示用于强制规划器执行标签扫描(随后进行过滤操作),而不是使用索引。

USING JOIN

连接提示用于在指定点强制执行连接操作。

索引和模式子句

这些子句用于管理索引、约束和图类型。

子句 描述

CREATE | SHOW | DROP INDEX

创建、显示或删除索引。

CREATE | SHOW | DROP CONSTRAINT

创建、显示或删除约束。

ALTER CURRENT GRAPH TYPE SET | ADD | ALTER |DROP

设置、扩展、修改或删除图类型中的元素。

SHOW CURRENT GRAPH TYPE

显示完整的图类型。

管理子句

Cypher 包含用于管理数据库、别名、服务器和基于角色的访问控制的命令。要了解有关这些内容的更多信息,请参阅: