apoc.cypher.mapParallel2

Procedure Apoc Extended Deprecated

apoc.cypher.mapParallel2(fragment, params, list-to-parallelize) yield value - executes fragment in parallel batches with the list segments being assigned to _

Signature

apoc.cypher.mapParallel2(fragment :: STRING?, params :: MAP?, list :: LIST? OF ANY?, partitions :: INTEGER?, timeout = 10 :: INTEGER?) :: (value :: MAP?)

Input parameters

Name Type Default

fragment

STRING?

null

params

MAP?

null

list

LIST? OF ANY?

null

partitions

INTEGER?

null

timeout

INTEGER?

10

Output parameters

Name Type

value

MAP?

Note: this procedure is deprecated. Use Cypher runtime parallel for single read-only operations:

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

or, alternatively, for write operations use 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