运算符
运算符摘要
此表包含按字典顺序排列的所有执行计划运算符。
-
在大多数情况下,叶运算符用于定位执行查询所需的起始节点和关系。
-
更新运算符用于更新图的查询中。
-
急切运算符在将其行传递给下一个运算符之前累积所有行。
名称 | 描述 | 叶子? | 更新? | 注意事项 |
---|---|---|---|---|
从节点存储中读取所有节点。 |
是 |
|||
测试是否存在模式。 |
||||
执行嵌套循环。测试是否存在模式谓词。 |
||||
执行嵌套循环。生成来自左侧和右侧运算符的行。 |
||||
指示用作 |
是 |
|||
用于确保逐行语义。限制 Cypher 运行时不将操作批量处理为更大的块。 |
是 |
|||
确保没有节点属性唯一性约束被违反。 |
||||
确保没有关系属性唯一性约束被违反。 |
在 5.8 中引入 |
|||
用于确保没有属性唯一性约束被违反。 |
是 |
|||
读取节点或关系属性并缓存它们。 |
||||
生成左侧和右侧运算符输入的笛卡尔积。 |
||||
创建节点和关系。 |
是 |
|||
为节点或关系创建索引。 |
是 |
|||
为节点或关系创建约束。 |
是 |
|||
删除节点或关系。 |
是 |
|||
删除节点及其关系。 |
是 |
|||
获取数据库中的所有关系及其起始节点和结束节点。 |
是 |
|||
通过元素 ID(通过函数 elementId() 指定)从关系存储中读取一个或多个关系,并生成该关系以及关系的源节点和目标节点。 |
是 |
|||
通过 ID(通过函数 Id() 指定)从关系存储中读取一个或多个关系,并生成该关系以及关系的源节点和目标节点。 |
是 |
|||
检查索引中存储的所有值,搜索包含特定 |
是 |
|||
检查索引中存储的所有值,搜索以特定 |
是 |
|||
检查索引中存储的所有值,返回所有具有特定关系类型和指定属性的关系及其起始节点和结束节点。 |
是 |
|||
使用索引查找关系及其起始节点和结束节点。 |
是 |
|||
使用索引查找关系及其起始节点和结束节点,其中属性值与给定的前缀 |
是 |
|||
从关系类型索引中获取所有具有特定类型的关系及其起始节点和结束节点。 |
是 |
|||
从关系类型索引中获取所有至少具有所提供类型之一的关系及其起始节点和结束节点。 |
||||
从传入的行流中删除重复行。 |
Eager |
|||
检查约束是否已存在,如果存在则停止执行,否则继续。 |
是 |
|||
检查索引是否已存在,如果存在则停止执行,否则继续。 |
是 |
|||
使用其名称删除约束。 |
是 |
是 |
||
使用其名称删除索引。 |
是 |
是 |
||
出于隔离目的, |
Eager |
|||
评估分组表达式。 |
Eager |
|||
急切地加载所有传入数据并丢弃它们。 |
Eager |
|||
返回一个不带任何列的单行。 |
是 |
|||
|
||||
遍历给定节点的传入或传出关系。 |
||||
查找两个节点之间的所有关系。 |
||||
过滤来自子运算符的每一行,只通过将谓词评估为 |
||||
执行嵌套循环。生成左侧运算符的行,并丢弃右侧运算符的行。 |
||||
从节点标签索引中获取具有所有提供的标签的所有节点。 |
是 |
在 5.5 中引入 |
||
执行嵌套循环。测试包含多个模式谓词的查询中是否存在模式谓词。 |
||||
执行嵌套循环。测试与其它谓词组合的模式谓词是否存在。 |
||||
执行嵌套循环。测试与其它谓词组合的模式谓词是否存在。 |
||||
执行嵌套循环。测试包含多个模式谓词的查询中是否存在模式谓词。 |
||||
从传入输入中返回前 |
||||
将数据从 CSV 源加载到查询中。 |
是 |
|||
类似于 |
||||
|
||||
使用多个索引查找节点。 |
是 |
|||
通过节点存储中的 ID(通过函数 elementId() 指定)读取一个或多个节点。 |
是 |
在 5.3 中引入 |
||
通过节点存储中的 ID(通过函数 id() 指定)读取一个或多个节点。 |
是 |
|||
从节点标签索引中获取所有具有特定标签的节点。 |
是 |
|||
使用计数存储来回答有关节点计数的问题。 |
是 |
|||
在节点 ID 上执行哈希连接。 |
Eager |
|||
检查索引中存储的所有值,搜索包含特定 |
是 |
|||
检查索引中存储的所有值,搜索以特定 |
是 |
|||
检查索引中存储的所有值,返回所有具有特定标签和指定属性的节点。 |
是 |
|||
使用索引查找节点。 |
是 |
|||
使用索引查找节点,其中属性值与给定的前缀 |
是 |
|||
执行左外哈希连接。 |
Eager |
|||
执行右外哈希连接。 |
Eager |
|||
在唯一索引中使用索引查找节点。 |
是 |
|||
在唯一索引中使用索引查找节点,其中属性值与给定的前缀 |
是 |
|||
负责清理 |
在 5.9 中引入 |
|||
如果其源没有返回数据,则生成一个所有列都设置为 |
||||
遍历给定节点的关系,如果谓词未满足,则生成一行,并将关系和结束节点设置为 |
||||
遍历两个节点之间的所有关系,如果没有找到匹配关系(起始节点是度数最小的节点),则生成一行,并将关系和结束节点设置为 |
||||
类似于 |
||||
类似于 |
||||
如果已经存在排序,则按多列对行进行排序。 |
||||
如果已经存在排序,则返回按多列排序的前 |
||||
由并行运行时用于从节点存储中读取所有节点。 |
是 |
在 5.17 中引入 |
||
由并行运行时用于从数据库中获取所有关系及其起始节点和结束节点。 |
是 |
在 5.17 中引入 |
||
由并行运行时用于检查索引中存储的所有值。它返回所有具有特定类型和指定属性的关系,以及它们的起始节点和结束节点。 |
是 |
在 5.17 中引入 |
||
使用并行索引查找关系及其起始节点和结束节点。 |
是 |
在 5.17 中引入 |
||
使用并行索引查找关系,其中指定关系类型属性的值在给定范围内。它还查找这些关系的起始节点和结束节点。 |
是 |
在 5.17 中引入 |
||
使用并行扫描从关系类型索引中获取所有具有特定类型的关系。它还获取这些关系的起始节点和结束节点。 |
是 |
在 5.17 中引入 |
||
使用并行扫描从关系类型索引中获取所有至少具有所提供类型之一的关系。它还获取这些关系的起始节点和结束节点。 |
在 5.17 中引入 |
|||
由并行运行时用于从节点标签索引中获取所有具有特定标签的节点。 |
是 |
在 5.17 中引入 |
||
由并行运行时用于检查索引中存储的所有值,返回所有具有特定标签和指定属性的节点。 |
是 |
在 5.17 中引入 |
||
由并行运行时用于使用索引查找节点。 |
是 |
在 5.17 中引入 |
||
使用并行索引查找节点,其中指定属性的值在给定范围内。 |
是 |
在 5.17 中引入 |
||
由并行运行时用于从节点标签索引中获取所有具有第一组提供的标签但没有第二组提供的标签的节点。 |
是 |
在 5.21 中引入 |
||
由并行运行时用于从数据库中获取所有关系及其起始节点和结束节点。 |
是 |
在 5.17 中引入 |
||
由并行运行时用于检查索引中存储的所有值,返回所有具有特定关系类型和指定属性的关系。它还返回这些关系的起始节点和结束节点。 |
是 |
在 5.17 中引入 |
||
使用并行索引查找关系及其起始节点和结束节点。 |
是 |
在 5.17 中引入 |
||
使用并行索引查找关系,其中指定关系属性类型的值在给定范围内。它还查找这些关系的起始节点和结束节点。 |
是 |
在 5.17 中引入 |
||
由并行运行时用于从关系类型索引中获取所有具有特定类型的关系。它还获取这些关系的起始节点和结束节点。 |
是 |
在 5.17 中引入 |
||
由并行运行时用于从关系类型索引中获取所有至少具有所提供类型之一的关系。它还获取这些关系的起始节点和结束节点。 |
是 |
在 5.17 中引入 |
||
由并行运行时用于从节点标签索引中获取所有至少具有所提供标签之一的节点。 |
是 |
在 5.17 中引入 |
||
由并行运行时用于返回列表中每个项目一行。 |
在 5.17 中引入 |
|||
调用过程。 |
||||
准备结果以便用户可以消费。 |
||||
投射关系的起始节点和结束节点。 |
||||
评估一组表达式,生成包含结果的行。 |
||||
使用计数存储来回答有关关系计数的问题。 |
是 |
|||
解决量化路径模式。 |
在 5.9 中引入 |
|||
从节点中删除标签。 |
是 |
|||
执行嵌套循环。执行模式表达式或模式理解。 |
||||
执行嵌套循环。如果表达式谓词评估为 |
||||
执行嵌套循环。如果表达式谓词评估为 |
||||
执行嵌套循环。测试是否存在模式谓词。 |
||||
在节点上设置标签。 |
是 |
|||
从映射在节点上设置属性。 |
是 |
|||
在节点或关系上设置属性。 |
是 |
|||
在节点或关系上设置多个属性时使用。 |
是 |
|||
从映射在关系上设置属性。 |
是 |
|||
查找两个先前匹配的节点变量之间的一条或所有最短路径。 |
||||
列出可用的约束。 |
是 |
|||
列出可用的函数。 |
是 |
|||
列出可用的索引。 |
是 |
|||
列出可用的过程。 |
是 |
|||
列出可用的配置设置。 |
是 |
|||
列出当前服务器上可用的事务。 |
是 |
|||
从传入行中跳过 |
||||
按提供的键对行进行排序。 |
Eager |
|||
查找从先前匹配的节点变量到未先前匹配的端点的最短路径。 |
在 5.21 中引入 |
|||
查找两个先前匹配的节点变量之间的最短路径。它使用双向广度优先搜索 (BFS) 算法,该算法同时执行两次 BFS 调用,一次从左边界节点,一次从右边界节点。 |
在 5.21 中引入 |
|||
作用类似于 |
||||
从节点标签索引中获取所有具有第一组提供的标签但没有第二组提供的标签的节点。 |
是 |
在 5.21 中引入 |
||
终止具有给定 ID 的事务。 |
是 |
|||
返回按提供的键排序的前 'n' 行。 |
Eager |
|||
作用类似于 |
||||
作用类似于 |
||||
与 |
||||
与 |
||||
解决三角查询,例如非常常见的“查找我朋友的朋友中还不是我朋友的人”。 |
||||
获取数据库中的所有关系及其起始节点和结束节点。 |
是 |
|||
通过元素 ID(通过函数 ElementId() 指定)从关系存储中读取一个或多个关系。由于方向未指定,因此通过交替组合起始节点和结束节点,每个关系会生成两行。 |
是 |
|||
通过 ID(通过函数 Id() 指定)从关系存储中读取一个或多个关系。由于方向未指定,因此通过交替组合起始节点和结束节点,每个关系会生成两行。 |
是 |
|||
检查索引中存储的所有值,搜索包含特定 |
是 |
|||
检查索引中存储的所有值,搜索以特定 |
是 |
|||
检查索引中存储的所有值,返回所有具有特定关系类型和指定属性的关系及其起始节点和结束节点。 |
是 |
|||
使用索引查找关系及其起始节点和结束节点。 |
是 |
|||
使用索引查找关系及其起始节点和结束节点,其中属性值与给定的前缀 |
是 |
|||
从关系类型索引中获取所有具有特定类型的关系及其起始节点和结束节点。 |
是 |
|||
从关系类型索引中获取所有至少具有所提供类型之一的关系及其起始节点和结束节点。 |
是 |
|||
将右侧运算符的结果与左侧运算符的结果连接起来。 |
||||
从节点标签索引中获取所有至少具有所提供标签之一的节点。 |
是 |
|||
返回列表中每个项目一行。 |
||||
在任意值上执行哈希连接。 |
Eager |
|||
遍历给定节点的可变长度关系。 |
||||
查找两个节点之间的所有可变长度关系。 |
||||
遍历给定节点的可变长度关系,只返回唯一的结束节点。 |
||||
遍历给定节点的可变长度关系,只返回唯一的结束节点。 |
数据库命中
每个运算符都会向存储引擎发送请求以执行诸如检索或更新数据等工作。数据库命中 (DBHits) 是此存储引擎工作的一个抽象单位。
以下是所有触发一个或多个数据库命中的操作
-
创建操作
-
创建节点。
-
创建关系。
-
创建新的节点标签。
-
创建新的关系类型。
-
为同名属性键创建新的 ID。
-
-
删除操作
-
删除节点。
-
删除关系。
-
-
更新操作
-
在一个节点上设置一个或多个标签。
-
从节点中删除一个或多个标签。
-
-
节点特定操作
-
通过 ID 获取节点。
-
获取节点的度数。
-
确定节点是否密集。
-
确定节点上是否设置了标签。
-
获取节点的标签。
-
获取节点的属性。
-
获取现有节点标签。
-
通过 ID 获取标签名称,或通过名称获取其 ID。
-
-
关系特定操作
-
通过 ID 获取关系。
-
获取关系的属性。
-
获取现有关系类型。
-
通过 ID 获取关系类型名称,或通过名称获取其 ID。
-
-
通用操作
-
通过 ID 获取属性键的名称,或通过键名称获取其 ID。
-
通过索引查找或索引扫描查找节点或关系。
-
在可变长度扩展中查找路径。
-
查找最短路径。
-
向计数存储查询值。
-
-
模式操作
-
添加索引。
-
删除索引。
-
获取索引的引用。
-
创建约束。
-
删除约束。
-
-
调用过程。
-
调用用户定义函数。