Я пытаюсь создать триггер с APO C, который срабатывает после запроса (фаза: после). Я пытаюсь сделать это, следуя точным инструкциям, приведенным в первом примере здесь . Тем не менее, запрос никогда не завершается.
Я работаю с fre sh сборкой neo4j 3.5.4 и только установил APO C в качестве плагина, я не изменил ни одной конфигурации, кроме добавления apoc.trigger.enabled=true
.
Точнее, я выполняю следующие шаги в браузере на localhost:7474
:
Создание данных
CREATE (d:Person {name:'Daniel'})
CREATE (l:Person {name:'Mary'})
CREATE (t:Person {name:'Tom'})
CREATE (j:Person {name:'John'})
CREATE (m:Person {name:'Michael'})
CREATE (a:Person {name:'Anne'})
CREATE (l)-[:DAUGHTER_OF]->(d)
CREATE (t)-[:SON_OF]->(d)
CREATE (t)-[:BROTHER]->(j)
CREATE (a)-[:WIFE_OF]->(d)
CREATE (d)-[:SON_OF]->(m)
CREATE (j)-[:SON_OF]->(d)
Создание триггера
CALL apoc.trigger.add('setAllConnectedNodes','UNWIND apoc.trigger.propertiesByKey({assignedNodeProperties},"surname") as prop
WITH prop.node as n
MATCH(n)-[]-(a)
SET a.surname = n.surname', {phase:'after'});
Выполнить запрос, который должен вызвать вышеуказанный триггер
MATCH (d:Person {name:'Daniel'})
SET d.surname = 'William'
Этот последний шаг приведет к тому, что запрос никогда не завершится, он даст мне счетчик, который никогда не будет листья. Единственный способ остановиться - убить запрос.
Что здесь происходит?