Neo4j 版本4中添加了很多重要的改进和新特性。我们会在接下来几个月中陆续介绍这些新特性。先从Cypher开始。
关于CALL的完整使用方法请参见:https://neo4j.com/docs/cypher-manual/current/clauses/call-subquery/ 。
1. 介绍
Cypher 版本4中增加的CALL命令允许执行子查询,即其他查询内部的查询。 子查询允许组合查询,这在使用UNION或聚合时特别有用。
子查询为每个传入的输入行评估并执行,并且该子查询可以产生任意数量的输出行。 然后,将每个输出行与输入行合并以构建子查询的结果。 这意味着子查询将影响行数。 如果子查询不返回任何行,则子查询后将没有可用的行。
对于允许哪些查询作为子查询以及它们与父查询的交互方式,存在一些限制:
- 子查询必须以RETURN子句结尾。
- 子查询仅在显式导入的情况下才引用父查询中的变量。
- 子查询不能返回与父查询中名称相同的变量。
- 从子查询返回的所有变量随后都可以在父查询中使用。
我们将用下图作为例子说明:

Neo4j版本4引入了重要的改进,特别是Cypher中的CALL子查询功能。子查询允许在其他查询内部执行查询,支持UNION和聚合操作。文章介绍了如何导入变量到子查询、在UNION后的处理、汇总和副作用以及如何处理导入变量。通过实例展示了子查询如何用于查询最年轻和最年长的人、计算朋友和父母数量,以及进行副作用管理和汇总。
最低0.47元/天 解锁文章
1902

被折叠的 条评论
为什么被折叠?



