在Neo4j中不与APOC一起使用的阶段之后触发

时间:2020-01-20 11:33:26

标签: neo4j neo4j-apoc

我正在尝试使用APOC构建一个在请求查询后触发的触发器(阶段:“之后”)。我正在尝试按照第一个示例here中提供的确切步骤进行操作。但是,查询永远不会完成。

我正在使用neo4j 3.5.4的全新构建,并且仅安装了APOC作为插件,除了添加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'

这最后一步将导致查询永远不会完成,这给了我一个永远不会离开的微调框。唯一的停止方法是终止查询。

这是怎么回事?

0 个答案:

没有答案