子句

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

读取子句

这些包括从数据库读取数据的子句。

Cypher 查询中的数据流是键值对的无序映射序列——查询中的变量与从数据库派生的值之间的一组可能的绑定。这组绑定通过查询的后续部分进行细化和扩充。

子句 描述

MATCH

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

OPTIONAL MATCH

指定要在数据库中搜索的模式,同时对模式的缺失部分使用nulls

投影子句

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

子句 描述

RETURN …​ [AS]

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

WITH …​ [AS]

允许将查询部分链接在一起,将一个查询部分的结果用作下一个查询部分的起点或条件。

UNWIND …​ [AS]

将列表扩展为一系列行。

FINISH

定义查询不返回任何结果。

读取子子句

这些包括必须作为读取子句的一部分运行的子子句。

子子句 描述

WHERE

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

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

RETURNWITH之后的子子句,指定输出应按升序(默认)或降序排序。从 Neo4j 5.24 开始,它也可以用作独立子句。

SKIP / OFFSET

定义从哪一行开始包含输出中的行。从 Neo4j 5.24 开始,它可以用作独立子句。

LIMIT

限制输出中的行数。从 Neo4j 5.24 开始,它可以用作独立子句。

写入子句

这些包括将数据写入数据库的子句。

子句 描述

CREATE

创建节点和关系。

DELETE

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

DETACH DELETE

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

SET

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

REMOVE

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

FOREACH

更新列表中的数据,无论是路径的组件还是聚合的结果。

读写子句

这些包括从数据库读取数据并向数据库写入数据的子句。

子句 描述

MERGE

确保图中存在模式。该模式要么已经存在,要么需要创建。

--- ON CREATE

MERGE结合使用,此写入子子句指定如果需要创建模式则要采取的操作。

--- ON MATCH

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

CALL …​ [YIELD …​]

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

子查询子句

子句 描述

CALL { …​ }

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

CALL { …​ } IN TRANSACTIONS

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

集合操作

子句 描述

UNION

将多个查询的结果组合成单个结果集。重复项将被删除。

UNION ALL

将多个查询的结果组合成单个结果集。重复项将被保留。

多个图

子句 描述

USE

确定查询或查询部分针对哪个图执行。 Fabric

导入数据

子句 描述

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

创建、显示或删除约束。

管理子句

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