Neo4j apoc.periodic.commit不';不会导致更新
以下查询将生成10个更新的节点:Neo4j apoc.periodic.commit不';不会导致更新,neo4j,cypher,neo4j-apoc,Neo4j,Cypher,Neo4j Apoc,以下查询将生成10个更新的节点: MATCH (a:ns3__Organization)-[r:ns4__isDomiciledIn]->(b:Resource) WITH a,b LIMIT 10 SET a.isDomiciledIn = b.Country 我试图通过以下查询将其应用于apoc.periodic.commit的整个图形: CALL apoc.periodic.commit(" MATCH (a:ns3__Organization)-[r:ns4__isDomicil
MATCH (a:ns3__Organization)-[r:ns4__isDomiciledIn]->(b:Resource)
WITH a,b LIMIT 10
SET a.isDomiciledIn = b.Country
我试图通过以下查询将其应用于apoc.periodic.commit的整个图形:
CALL apoc.periodic.commit("
MATCH (a:ns3__Organization)-[r:ns4__isDomiciledIn]->(b:Resource)
WITH a,b LIMIT $limit
SET a.isDomiciledIn = b.Country
", { limit : 50000});
不知何故,它导致0更新。我做错了什么
谢谢你的帮助。你应该试试这个:
CALL apoc.periodic.commit("
MATCH (a:ns3__Organization)-[r:ns4__isDomiciledIn]->(b:Resource)
WHERE NOT a.isDomiciledIn = b.Country
WITH a,b LIMIT $limit
SET a.isDomiciledIn = b.Country
RETURN count(*)
", { limit : 50000});
您可以选择以下错误:
- 查询结束时没有计数(*)。所以你的问题永远不会结束
- 否
子句,仅将结果筛选到尚未更新的节点WHERE
0
。因此,您的查询只执行一个循环。仅供参考: