apoc使用触发器:如apoc官网指导


  1. CREATE (d:Person {name:‘Daniel’})
  2. CREATE (l:Person {name:‘Mary’})
  3. CREATE (t:Person {name:‘Tom’})
  4. CREATE (j:Person {name:‘John’})
  5. CREATE (m:Person {name:‘Michael’})
  6. CREATE (a:Person {name:‘Anne’})
  7. CREATE (l)-[:DAUGHTER_OF]->(d)
  8. CREATE (t)-[:SON_OF]->(d)
  9. CREATE (t)-[:BROTHER]->(j)
  10. CREATE (a)-[:WIFE_OF]->(d)
  11. CREATE (d)-[:SON_OF]->(m) CREATE (j)-[:SON_OF]->(d)
  12. CALL apoc.trigger.add(‘setAllConnectedNodes’,‘UNWIND apoc.trigger.propertiesByKey({assignedNodeProperties},“surname”) as prop
  13. WITH prop.node as n MATCH(n:Person)-[]-(a) //库中不同标签的节点较多,所以较官方手册加了一个Person标签
  14. SET a.surname = n.surname’, {phase:‘after’});

使用如下的set语句构造触发条件 MATCH (d:Person {name:‘Daniel’}) SET d.surname = ‘William’

该语句执行完成后,触发器的功能已经实现了,但是为什么web页面显示一直转圈,虚机和物理机都是这样,超过5min。

apoc.trigger.enabled=true已经设置过了,而且这之后继续使用MATCH (d:Person {name:‘Daniel’}) SET d.surname = ‘Xaaa’这样的语句不起作用,person的surname是之前的William没有变成Xaaa,为什么?

按F12后发现,一直在向后台发送请求,引发数据库后台进程阻塞。个人推测为'setAllConnectedNodes'这样的触发器,在节点上添加surname属性时,它会添加到所有的连接的节点(但是添加之后又会循环触发,导致走进了一个死循环。)

解决方法:

要注意的是,这样的情况会引发数据库后台进程阻塞,需要后台重启neo4j实例,来阻止对应的阻塞进程。前端刷新并不生效。仅仅在前端刷新,会阻塞对Person标签类对象的一切操作,包括delete与set。

//修改相应的触发器语句,此时成功执行,不再阻塞,但是在前端显示不会说Set 6 //properties。仅仅显示Set 1 property,因为其他5个节点的属性是后台触发完成的。


  1. CALL apoc.trigger.add('setAllConnectedNodes','UNWIND apoc.trigger.propertiesByKey({assignedNodeProperties},"surname") as prop
  2. WITH prop.node as n
  3. MATCH(n:Person)-[]-(a:Person)
  4. where not exists(a.surname) or n.surname<>a.surname
  5. SET a.surname = n.surname', {phase:'after'});

原文地址:https://blog.csdn.net/weixin_42348333/article/details/89855189

APOC官网触发器示例执行后Web页面一直转圈的更多相关文章

  1. InfluxDB安装后web页面无法访问的解决方案

    本文属于<InfluxDB系列教程>文章系列,该系列共包括以下 16 部分: InfluxDB学习之InfluxDB的安装和简介 InfluxDB学习之InfluxDB的基本概念 Infl ...

  2. Vue官网todoMVC示例

    这个示例是模仿官网示例样式和功能用我自己的方式写的,基本上没有看官网的源码,只参考自定义指令.让我们一步步来探讨一下.官网demo 要实现的功能 单条添加todo 单条删除todo 双击编辑todo ...

  3. Scrapy官网程序执行示例

    Windows 10家庭中文版本,Python 3.6.4,Scrapy 1.5.0, Scrapy已经安装很久了,前面也看了不少Scrapy的资料,自己尝试使其抓取微博的数据时,居然连登录页面(首页 ...

  4. 【生活】已经从官网购买iPad,单独购买AppleCare+服务

    1 什么是AppleCare+服务 从苹果官网购买的硬件产品如ipad.iphone和MacBook等,官网承诺的保修期限是一年.AppleCare+是水果公司推出的一种保修服务,最大的特点就是将保修 ...

  5. tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片

    本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...

  6. docker swarm(当前官网示例)

    介绍 Docker Swarm 是 Docker 公司推出的官方容器集群平台,基于 Go 语言实现 作为容器集群管理器,Swarm 最大的优势之一就是 100% 支持标准的 Docker API.各种 ...

  7. FineUI(开源版)v4.2.2发布(8年125个版本,官网示例突破300个)!

    开源版是 FineUI 的基石,从 2008 年至今已经持续发布了 120 多个版本,拥有会员 15,000 多位,捐赠会员达到 1,200 多位.   FineUI(开源版)v4.2.2 是 8 年 ...

  8. [踩过的坑]Elasticsearch.Net 官网示例的坑

    经过昨天的ElasticSearch 安装,服务以及可以启动了,接下来就可以开发了,找到了官网提供的API以及示例,Es 官方提供的.net 客户端有两个版本一个低级版本: [Elasticsearc ...

  9. Scrapy的【SitemapSpider】的【官网示例】没有name属性

    Windows 10家庭中文版,Python 3.6.4,Scrapy 1.5.0, 上午看了Scrapy的Spiders官文,并按照其中的SitemapSpider的示例练习,发现官文的示例存在问题 ...

随机推荐

  1. 求两个排序数组的交集和并集----时间复杂度O(n+m)

    问题: 给你两个排序的数组,求两个数组的交集. 比如: A = 1 3 4 5 7, B = 2 3 5 8 9, 那么交集就是 3 5,n是a数组大小,m是b数组大小. 思路: (1)从b数组遍历取 ...

  2. svg简单的应用

    1.可以直接在html内写svg (1)width宽度,height高度 (2)xmlns svg的规则 <svg xmlns="http://www.w3.org/2000/svg& ...

  3. DataFactory生产手机号码

    表中的数据类型是CHAR()类型的,才会出现,如右图的“Build a composite field”的这个功能: 固定部分设置 剩余变化部分设置 操作成功 数据库查询的结果

  4. 宝塔安装Nextcloud,挂载在阿里云oss上,打造个人/企业高效私有云盘

    如下未完整整理,看懂看不懂随缘.... 准备条件: 1.阿里云oss 2.阿里云ecs 3.环境:centos7.x 步骤: 1.centos中安装宝塔面板 2.下载NextCloud安装包,上传到宝 ...

  5. 实时更新DataGridView 合计值

    public partial class Form1 : Form { public Form1() { InitializeComponent(); dataGridView1.DataSource ...

  6. linux下如何更新当前的容器镜像?

    docker commit <container_id> <container_image_name>

  7. powershell获取mac地址

    > getmac > getmac | select-string "00" > $a = getmac | select-string "00&quo ...

  8. vue导航菜单调用PHP后台数据

    数据库设计: 后台PHP输出所有菜单数据(index.php): <?phpheader("Access-Control-Allow-Origin:*");header(&q ...

  9. memcached源码分析-----item过期失效处理以及LRU爬虫

    memcached源码分析-----item过期失效处理以及LRU爬虫,memcached-----item 转载请注明出处:http://blog.csdn.net/luotuo44/article ...

  10. ppt学习笔记

    文档:ppt学习笔记.note链接:http://note.youdao.com/noteshare?id=719a525ca3420e3692b1025d5d904c02&sub=4E52E ...