Neo4j 插件APOC使用 后台任务和触发器
查看后台任务
CALL apoc.periodic.list();
提交一个后台任务
CALL apoc.periodic.submit(
"create-person",
"CREATE (:Person {name: 'Michael Hunger'})"
);
多次执行的后台任务,每秒一次
CREATE (:Counter {value: 10000});
CALL apoc.periodic.countdown(
"decrement",
"MATCH (counter:Counter)
SET counter.value = counter.value - 1
RETURN counter.value as count",
1);
触发器(4.4.5版本和5版本的不同) 数据发生变化时自动执行的cypher 需要在apoc.conf中配置如下:
apoc.trigger.enabled=true
apoc.trigger.refresh=60000
添加触发器 例子:
CREATE (:Counter {count:0})
CREATE (f:Foo);
设置触发器,任何node被删除,Counter 的count属性+1
CALL apoc.trigger.add(
'count-removals',
'MATCH (c:Counter)
SET c.count = c.count + size([f IN $deletedNodes WHERE id(f) > 0])',
{}
);
查看触发器:
CALL apoc.trigger.list();
删除触发器
CALL apoc.trigger.remove("count-removals");