百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

Neo4j APOC-01-图数据库 apoc 插件介绍

liuian 2024-12-08 16:20 44 浏览

neo4j apoc 系列

Neo4j APOC-01-图数据库 apoc 插件介绍[1]

Neo4j APOC-01-图数据库 apoc 插件安装 neo4j on windows10[2]

Neo4j APOC-03-图数据库 apoc 实战使用使用[3]

Neo4j APOC-04-图数据库 apoc 实战使用使用 apoc.path.spanningTree 最小生成树[4]

neo4j 的 apoc

Neo4j 的 APOC(Awesome Procedures on Cypher)是一个非常强大的 Neo4j 插件,它扩展了 Cypher 查询语言的功能,提供了大量的实用函数和存储过程,极大地增强了 Neo4j 的功能性。

APOC 适用于需要更复杂数据处理和操作的场景,支持各种数据转换、图算法、数据导入/导出、集成外部系统等操作。

1.APOC 的基本功能

APOC 插件包含了以下几类常用功能:

?数据转换和处理

?支持各种图数据的转换,例如将节点和关系转换为其他格式(JSON、CSV 等),以及对图的结构和数据进行各种操作(过滤、聚合、排序等)。?提供了对集合、字符串、日期等数据类型的操作函数。

?图算法

?APOC 提供了许多图算法(如最短路径、中心度、PageRank 等),虽然 Neo4j 本身也有图算法库(Graph Data Science),但是 APOC 是一个更加轻量级的选择,适用于简单的图分析任务。

?存储过程

?提供了丰富的存储过程,例如批量数据插入、更新、删除、导入导出等。?支持对图数据库的各种操作进行封装,并简化复杂操作。

?与外部系统的集成

?APOC 支持通过 HTTP 访问外部 REST API,或者与文件系统交互(如上传、下载文件),以便集成外部数据源。?也支持与外部数据库的连接,如导入其他数据库的数据到 Neo4j。

总结

APOC 是一个功能丰富且灵活的 Neo4j 插件,它为 Cypher 查询语言提供了大量实用的扩展,涵盖了数据处理、图算法、外部系统集成等方面。

通过使用 APOC,开发者可以大大提高图数据库的操作效率和灵活性,尤其是在复杂的数据处理和分析任务中。

apoc 常用的功能

下面是一些常用的 APOC 插件功能和示例

功能

存储过程/函数

描述

示例

数据转换

apoc.convert.toJson()

将节点、关系或任何图数据结构转换为 JSON 格式

MATCH (n:Person) RETURN apoc.convert.toJson(n)

集合操作

apoc.coll.flatten()

将嵌套的集合扁平化

RETURN apoc.coll.flatten([[1, 2], [3, 4]])


apoc.coll.sum()

计算集合中所有元素的和

RETURN apoc.coll.sum([1, 2, 3, 4])


apoc.text.join()

将集合中的元素连接成一个字符串

RETURN apoc.text.join(['a', 'b', 'c'], ',')

图算法

apoc.algo.shortestPath()

计算两个节点之间的最短路径

MATCH (start:Person {name: 'Alice'}), (end:Person {name: 'Bob'}) CALL apoc.algo.shortestPath(start, end, 'KNOWS') YIELD path RETURN path


apoc.algo.dijkstra()

Dijkstra 算法计算最短路径

MATCH (start:Person {name: 'Alice'}), (end:Person {name: 'Bob'}) CALL apoc.algo.dijkstra(start, end, 'KNOWS') YIELD path RETURN path

导入/导出数据

apoc.import.csv()

从 CSV 文件导入数据

CALL apoc.import.csv('file:///path/to/file.csv', {header:true}) YIELD nodes, relationships RETURN nodes


apoc.export.csv.all()

将所有图数据导出为 CSV 文件

CALL apoc.export.csv.all('file:///output.csv', {})


apoc.load.csv()

从 CSV 文件中加载数据

CALL apoc.load.csv('file:///path/to/file.csv') YIELD map RETURN map


apoc.load.json()

从外部 URL 加载 JSON 数据

CALL apoc.load.json('http://example.com/data.json') YIELD value RETURN value

外部系统集成

apoc.load.xml()

从外部 URL 加载 XML 数据

CALL apoc.load.xml('http://example.com/data.xml') YIELD value RETURN value


apoc.load.http()

通过 HTTP 请求获取外部数据

CALL apoc.load.http('http://example.com/api') YIELD value RETURN value

日期和时间处理

apoc.date.convert()

将日期时间字符串转换为时间戳

RETURN apoc.date.convert('2024-11-01T12:00:00', 'ISO_8601', 'milliseconds')

图数据操作

apoc.create.node()

创建节点并为其设置属性

CALL apoc.create.node(['Person'], {name: 'Alice', age: 30}) YIELD node RETURN node


apoc.create.relationship()

创建关系并设置属性

MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'}) CALL apoc.create.relationship(a, 'KNOWS', {since: 2020}) YIELD rel RETURN rel

事务和批量操作

apoc.periodic.iterate()

按批次进行迭代处理

CALL apoc.periodic.iterate('MATCH (n:Person) RETURN n', 'SET n.processed = true', {batchSize: 1000}) YIELD batches, total RETURN batches, total

性能监控与统计

apoc.stats()

返回数据库的统计信息

RETURN apoc.stats()

路径和图遍历

apoc.path.expand()

扩展路径,获取指定节点的邻居

MATCH (a:Person {name: 'Alice'}) CALL apoc.path.expand(a, 'KNOWS', 1) YIELD path RETURN path


apoc.path.subgraphNodes()

获取路径的子图节点

MATCH (a:Person {name: 'Alice'}) CALL apoc.path.subgraphNodes(a, {relationshipFilter: 'KNOWS'}) YIELD node RETURN node

字符串处理

apoc.text.split()

按指定分隔符将字符串分割成多个部分

RETURN apoc.text.split('a,b,c,d', ',')


apoc.text.replace()

在字符串中进行替换操作

RETURN apoc.text.replace('Hello World', 'World', 'Neo4j')

这些功能覆盖了图数据库的许多常见操作,如数据转换、导入导出、图算法、路径计算等,能够有效扩展 Neo4j 的使用场景。

参考资料

https://www.cnblogs.com/liaozk/p/17138133.html

https://www.w3cschool.cn/neo4j/neo4j_cql_introduction.html

References

[1] Neo4j APOC-01-图数据库 apoc 插件介绍: https://houbb.github.io/2018/01/08/neo4j-plugins-apoc-01-intro
[2] Neo4j APOC-01-图数据库 apoc 插件安装 neo4j on windows10:
https://houbb.github.io/2018/01/08/neo4j-plugins-apoc-02-windows10-install-plugins
[3] Neo4j APOC-03-图数据库 apoc 实战使用使用:
https://houbb.github.io/2018/01/08/neo4j-plugins-apoc-03-basic-usage
[4] Neo4j APOC-04-图数据库 apoc 实战使用使用 apoc.path.spanningTree 最小生成树:
https://houbb.github.io/2018/01/08/neo4j-plugins-apoc-04-minist-tree

相关推荐

win8激活码免费领取(windows8激活码免费)

1、首先我们下载一个能够永久激活win8系统的KMSpico激活工具。2、然后将“KMSpico_setup”双击打开进行安装。3、安装目录随便选择就行了,安装完成之后找到EXE文件,以管理员身份运行...

微信安装官方正版(2025版微信官方正版)

必须先安装微信,如果自己的微信号和密码忘了可以通过绑定的手机号码进行找回,操作步骤如下:1、在手机上点击打开微信,来到登陆窗口,点击”找回密码“。2、在找回密码界面,选择”通过手机号码找回”,然后...

大白菜u盘启动怎么装系统(大白菜u盘启动盘怎么装系统win10)

  1、根据上面的教程制作好大白菜pe启动盘,然后将下载的操作系统iso文件直接复制到U盘的GHO目录下;  2、在需要装系统的电脑上插入U盘,重启后不停按F12、F11、Esc等快捷键打开启动菜单,...

360软件管家使用方法(360软件管家使用方法视频)

步骤:1、只要在提示条上点击“安全保存”按钮,即可方便快捷地将网站的帐号密码保存下来,且网站会出现在登录管家主面板的网站列表中。2、登录360安全浏览器后可使用云加密的网站列表,帐号密码安全性进一步提...

originos下载(originos官方下载地址)

已经在官网上进行下载。originos3.0从目前已经在vivo手机的官网中可以进行下载。先登录进vivo官网,然后再找到系统的专区,找到最新版本的originos3.0,然后选择你手机的型号。进行...

文件夹怎样加密码保护(文件夹如何加密码锁)

1.鼠标右键点击电脑桌面里面要加密的文件或者文件夹,选择“属性”;2.在“常规”下方,选择“高级”选项;3.之后就会继续弹出一个窗口,在压缩或加密属性下,选择“加密内容以便保护数据”即可。.鼠标右键...

office永久激活码密钥2010(office2010永久激活版)
  • office永久激活码密钥2010(office2010永久激活版)
  • office永久激活码密钥2010(office2010永久激活版)
  • office永久激活码密钥2010(office2010永久激活版)
  • office永久激活码密钥2010(office2010永久激活版)
手机总是自动关机是怎么回事
手机总是自动关机是怎么回事

手机会动不动就关机,可能是手机的电池材质已经开始有变化了,或者在寒冷的地方温度过低也会造成自动关机的,也有可能是因为手机被摔伤过,从手机内的软件破坏了,就会自动关机。造成智能手机自动关机的原因较多,常见的有:误操作开启了定时关机功能;环境温...

2025-12-24 00:55 liuian

文件夹变成exe文件还原(文件夹变成exe后缀)
  • 文件夹变成exe文件还原(文件夹变成exe后缀)
  • 文件夹变成exe文件还原(文件夹变成exe后缀)
  • 文件夹变成exe文件还原(文件夹变成exe后缀)
  • 文件夹变成exe文件还原(文件夹变成exe后缀)
下载gho的网站(ghost官网下载地址)

非原版系统的话,去winos里面下载比较靠谱一点https://www.winos.me/

联想win7下载链接(联想win7oem原版下载)

如果你想在联想小新win7上下载AMD软件,首先要确定你要下载的是哪款软件。然后,你可以前往AMD官方网站,在网站上搜索该软件并下载。在下载完成后,双击安装该软件即可。另外,你也可以通过第三方软件下载...

三星笔记本电脑售后服务维修中心

您可以通过以下方式查询附近的三星售后服务点:访问三星官方网站,在网站首页选择“售后服务”选项,然后选择“售后服务网点查询”,在弹出的页面中选择所在省份和城市,即可查询附近的售后服务网点。在手机应用商店...

电脑重装系统后没有声音怎么解决

电脑重装系统后没有声音,可能是声卡驱动未安装、声卡驱动不兼容或者声音相关服务未开启等原因。解决方法可以尝试重新安装声卡驱动、更新驱动程序软件或者打开声音相关设置。如果问题仍然存在,建议寻求专业人士的...

word2007安装产品密钥(安装office2010产品密钥)

可以通过以下方式获取Word文档的产品密钥:购买正版Word软件,从官方渠道获得产品密钥。下载并安装MicrosoftOffice,从安装过程中获取产品密钥。请注意,任何未经授权的方式获取...

绝地求生电脑配置要求(绝地求生电脑配置要求2024)
绝地求生电脑配置要求(绝地求生电脑配置要求2024)

绝地求生的最低配置国服官方给出的最低配置是内存6G,CPUInteli3-4340/AMDFX-630,显卡GTX660/HD7850,所有效果最低,但是说实话,这个配置玩起来,体验太差,而且没几局就需要重启客户端,而且GTX6...

2025-12-23 21:05 liuian