Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j apoc.periodic.commit不';不会导致更新_Neo4j_Cypher_Neo4j Apoc - Fatal编程技术网

Neo4j apoc.periodic.commit不';不会导致更新

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

以下查询将生成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__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
    子句,仅将结果筛选到尚未更新的节点

谢谢Benoit!由于某些原因,此查询挂起,数据库未更新。你知道发生了什么吗?通过查看代码,如果没有结果(或Numeroc结果),则计数为
0
。因此,您的查询只执行一个循环。仅供参考: