首页 > 解决方案 > Neo4j 中的 apoc.cypher.mapParallel2 没有给出预期的结果

问题描述

我有以下查询

MATCH (e) WHERE SIZE((e:Customer)<-[:Transaction]-()) <> 0
AND SIZE(()<-[:Transaction]-(e)) <> 0
MATCH path = (e)-[:Transaction*..10]-(e) return path

通过上述查询,我​​得到了预期的结果。

我正在尝试将此查询与以下查询并行化

MATCH (e:Customer) WHERE SIZE((e)<-[:Transaction]-()) <> 0 AND SIZE(()<-[:Transaction]-(e)) <> 0 WITH 
collect(e.ID) AS users CALL apoc.cypher.mapParallel2("match (e:Customer)-[:Transaction*..10]->(e) 
where e.ID=_ return e.ID as ll",{},users,10) yield value return value.ll

此查询不返回任何内容。请帮我解决这个问题。

标签: neo4jparallel-processingcypher

解决方案


这个查询也更有效,对您有用吗?

MATCH (e:Customer) 
WHERE (e)<-[:Transaction]-() AND ()<-[:Transaction]-(e)
WITH collect(e) AS users
CALL apoc.cypher.mapParallel2(
  "match (_)-[:Transaction*..10]->(_) return _.ID as ll",
  {},users,10) YIELD value
RETURN value.ll

推荐阅读