apoc.cypher.mapParallel2
存储过程 Apoc Extended 已弃用
apoc.cypher.mapParallel2(fragment, params, list-to-parallelize) yield value - 在并行批次中执行片段,并将列表段分配给 _
签名
apoc.cypher.mapParallel2(fragment :: STRING?, params :: MAP?, list :: LIST? OF ANY?, partitions :: INTEGER?, timeout = 10 :: INTEGER?) :: (value :: MAP?)
输入参数
| 名称 | 类型 | 默认 |
|---|---|---|
fragment |
STRING? |
null |
params |
MAP? |
null |
list |
LIST? OF ANY? |
null |
分区 |
整数? |
null |
timeout |
整数? |
10 |
输出参数
| 名称 | 类型 |
|---|---|
值 |
MAP? |
注意:此过程已弃用。对于单次只读操作,请使用 Cypher 并行运行时(parallel runtime)
CYPHER runtime=parallel
CALL {
MATCH (p:Post)
WITH
CASE
WHEN p.updatedAt IS NULL THEN [p.createdAt]
ELSE [p.createdAt, p.updatedAt]
END AS activityDates
UNWIND activityDates AS activityDate
RETURN activityDate
UNION ALL
MATCH (u:User)
UNWIND [u.createdAt, u.accessedAt] AS activityDate
RETURN activityDate
}
RETURN activityDate.year AS year,
activityDate.month AS month,
count(*) AS activity
ORDER BY activity DESC, year, month
LIMIT 10
或者,对于写入操作,请使用 IN CONCURRENT TRANSACTIONS
:auto
CALL {
UNWIND range(0,9) as b
MATCH (m:Movie { ranking: b }) RETURN m
} IN CONCURRENT TRANSACTIONS
WITH m.ranking as rank
MATCH (n:Movie)
SET n.ranking = 11
RETURN n