apoc.periodic.commit не приводит к обновлениям - PullRequest
0 голосов
/ 03 сентября 2018

Следующий запрос приводит к 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 обновлению. Что я делаю не так?

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 03 сентября 2018

Вы должны попробовать это:

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});

Вы ошибки:

  • нет count(*) в конце вашего запроса. ТАК ваш запрос никогда не заканчивается
  • no WHERE, чтобы отфильтровать результат только по тем узлам, которые еще не обновлены
...