作者:维韦克 萨兰(Vivek Saran)

适用版本:Neo4j 4.0 / 4.1

标签:APOC

在Neo4j 3.5中,可以在一个事务中获取实体(节点、关系、路径)并安全地在另一个事务中重用。

然而在4.0中,这些实体将拥有返回它们的事务的引用。

对于任何创建新事务的APOC调用中,这会带来问题,例如 apoc.periodic.iterate(以及另外2个)。 从驱动查询(driving)声明中提出的任何实体都必须在任务查询(action)声明中重新绑定

这意味着我们基本上需要重新绑定源自不同事务的实体。

Rebinding意味着,做一个这样的查询:MATCH (n) WHERE id(n) = id(myknownnode)

例如,以下语句在3.5.x中完全没有问题:

CALL apoc.periodic.iterate('MATCH (:Account)-[r:ASSOCIATED_WITH]->() RETURN r','CALL apoc.do.case(.....) YIELD value RETURN value',{batchSize: 10000, parallel: false, iterateList: true});

但是,在4.0.x中,上述声明需要修改为:

CALL apoc.periodic.iterate('MATCH (:Account)-[r:ASSOCIATED_WITH]->() RETURN id(r) as id','MATCH ()-[r]->() WHERE id(r)=id CALL apoc.do.case(.....) YIELD value RETURN value',{batchSize: 10000, parallel: false, iterateList: true});

请注意,在第一个(外部驱动陈述)中,我们将RETURN r 更改为RETURN id(r) AS id

在第二个(内部陈述)中,我们在CALL apoc.do.case()之前插入了MATCH ()-[r]->() WHERE id(r)=id。

对于来自APOC库中其他有用的过程,请参阅APOC用户指南4.0。

Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC - apoc.periodic.iterate()过程在4.0版本中的重大变化相关推荐

  1. Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.8 - 图生成 完全图

    1.概述 apoc.generate.complete 本过程生成一个完全图.完全图中,每个节点有到所有其他节点的边.在无向图中,有N个节点的完全图有N x (N – 1) / 2个边.Neo4j在存 ...

  2. Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.6 - 图生成 小世界模型

    1.概述 WS小世界模型(Watts - Strogatz model)是一种随机图生成模型,其生成的图具有小世界属性,包括较短的平均节点间距离和高集聚系数.该模型由Duncan J. Watts(邓 ...

  3. Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(5.5) - 导入JSON数据

    1. 定义 Web API/RESTful API是访问和集成外部数据源又一种常用的接口.目前,很多网站和应用服务都提供类似开放接口供其他应用读取其数据,而这些接口都使用JSON[1]作为数据格式. ...

  4. Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.5 - 图生成 / 随机图

    1.概述 图生成过程用来生成不同类型的随机图,以用作算法研究.性能测试等目的.APOC提供下列随机图生成过程. 过程 说明 apoc.generate.er(noNodes, noEdges, 'la ...

  5. Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(5.4) - 导出数据到Cypher脚本文件

    APOC提供一系列过程实现将数据库中的数据导出到可执行的Cypher脚本文件.这些过程支持不同的导出逻辑: 导出所有数据 导出查询结果 导出特定标签节点和关系类型 导出一个graph对象 仅导出索引和 ...

  6. Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC 8.7 - 图生成 无标度网络

    1.概述 Barabási和Albert(1999)的"富者更富"(Rich get richer)生成模型(BA模型)最被熟知的无标度网络子集的生成模型.它让每个网页根据一个非均 ...

  7. Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC (8.4) - 集合相关操作

    1.概述 在Cypher查询语言中,集合的使用非常普遍.集合的元素可以是简单类型的值.节点.关系.路径,甚至混合类型.下面的例子是产生集合的一些常用方法: // 返回一个包含从1到10 的整数集合 R ...

  8. neo4j︱图数据库基本概念、操作罗列与整理(一)

    图数据库常规的有:neo4j(支持超多语言).JanusGraph/Titan(分布式).Orientdb,google也开源了图数据库Cayley(Go语言构成).PostgreSQL存储RDF格式 ...

  9. Neo4j图数据库从入门到精通

    add by zhj: 转载时,目录没整理好,还会跳转到原文 其实RDB也可以存储多对多的关系,使用的是中间表,GDB使用的是边,RDB中的实体存储在数据表,而GDB存储在节点.两者使用的底层技术不同 ...

  10. 知识图谱和Neo4j图数据库

    一.知识图谱 互联网.大数据的背景下,谷歌.百度.搜狗等搜索引擎纷纷基于该背景,创建自己的知识图谱Knowledge Graph(谷歌).知心(百度)和知立方(搜狗),主要用于改进搜索质量. 1.什么 ...

最新文章

  1. C#实现网页截图功能
  2. Linux 操作系统原理 — 内存 — 基于局部性原理实现的内/外存交换技术
  3. java graphics 类_对于 Graphics 类的一点认识(转)
  4. 常见问题—打包压缩问题
  5. Android-ImageLoader的最基础的操作
  6. matlab 小技巧
  7. [转载]Android.mk简介
  8. SAP Odata服务里filter的用法
  9. 大型网站架构演化(二)——应用服务和数据服务分离
  10. Express-start
  11. 查找数据库大小和表大小
  12. AI技术宅:女神说什么,听我的!
  13. redux react-redux入门篇
  14. 软件测试面试题及答案,2022最强版
  15. linux下 Wowza安装与ffmpeg测试
  16. womic网络错误_WO Mic驱动程序下载
  17. Python实现历史记录功能
  18. Ubuntu系统备份还原教程
  19. k8s 查看pod流量_K8s中对pod进行流量限制
  20. 企业为什么要绘制用户画像?谈谈用户画像的真正作用

热门文章

  1. 武汉服务器眼中的黄鹤楼
  2. 51nod 1108.距离之和最小 V2 - 曼哈顿距离
  3. 量化择业 银行vs券商vs公募vs私募?(行内人深度分享)
  4. 用 Python 画哆啦 A 梦
  5. 【魔改蜗牛星际】B双主板变“皇帝板”扩展到8个SATA口
  6. 什么是“系统空闲进程”,为什么使用那么多的CPU?
  7. 【Java】异步回调转为同步返回
  8. C语言malloc与calloc区别
  9. JavaScript中的eval函数
  10. 51单片机小白零基础教程——独立键盘检测原理以及实际应用