运行 Cypher 片段

我们可以在 APOC 中使用 Cypher 作为一种安全的、图感知的、部分编译的脚本语言。

过程概述

下表描述了支持的过程

限定名称 类型 版本

apoc.cypher.parallel

- 通过 paramMap 中定义的列表以并行方式执行片段,该列表具有键 keyList

过程

Apoc Extended

apoc.cypher.parallel2

- 通过 paramMap 中定义的列表以并行批次方式执行片段,该列表具有键 keyList

过程

Apoc Extended

apoc.cypher.mapParallel

apoc.cypher.mapParallel(fragment, params, list-to-parallelize) yield value - 以并行批次方式执行片段,列表段被分配到 _

过程

Apoc Extended

apoc.cypher.mapParallel2

apoc.cypher.mapParallel2(fragment, params, list-to-parallelize) yield value - 以并行批次方式执行片段,列表段被分配到 _

过程

Apoc Extended

示例:按标签快速计算节点数量

我们可以使用 count 函数快速计算特定标签的节点数量,但这仅当该函数是查询中唯一的元素时才有效。例如

MATCH (:Person) RETURN count(*);

我们也可以将多个查询组合起来使用 UNION ALL

有效
MATCH (:Person) RETURN count(*)
UNION ALL
MATCH (:Movie) RETURN count(*);

但是我们不能使用 WITH 子句做同样的事情

无效
MATCH (:Person)
WITH count(*) as people
MATCH (:Movie) RETURN people, count(*) as movies;

此查询将通过遍历所有节点来计算计数,这是一个非常慢的操作