文章目录

一、APOC经典使用场景二、APOC所在系统说明三、APOC详细配置安装1. APOC插件下载2. APOC的相关文件下载说明3. APOC与图数据库neo4j的版本对应4. APOC在本机安装位置5. 修改APOC的配置文件6. 配置APOC的注意问题7. web端启动:测试APOC是否安装成功

四、APOC的一些经典应用1. 编辑距离2. 基于编辑距离的相似度3. 模糊匹配4. 链接数据库

一、APOC经典使用场景

APOC(Awesome Procedures on Cypher)是Neo4j图数据库的一个插件,它提供了一组强大的过程和函数,扩展了Cypher查询语言的功能。APOC可以帮助你进行更高级的数据处理和操作,例如导入和导出数据、动态创建节点和关系、执行事务操作等。

使用APOC插件需要先下载并安装它,然后在Neo4j的配置文件中启用它。一旦启用,你就可以在Cypher查询中使用APOC提供的各种过程和函数了。

我这里主要是想使用,APOC中的相似度查询功能.

APOC(Awesome Procedures on Cypher)是一个用于扩展Neo4j图数据库的插件,它为开发人员提供了一些非常有用的功能和过程。APOC通过增加超过450个过程来扩展了Cypher查询语言的功能。这些过程可以用于数据转换、导入/导出、字符串处理、时间处理、密码学等。使用APOC,您可以更轻松地进行复杂的数据操作和分析。APOC提供了更高级的图算法和数据科学功能。它包括社区发现、路径分析、相似性计算等算法。这些功能可以帮助您深入探索图数据并从中获得洞察力。APOC由Neo4j的社区成员开发和维护,是一个开源项目。它得到了全球范围内的开发者社区的积极贡献和支持。使用APOC插件的好处很多。它可以大大简化开发过程,节省大量的时间和精力。它还可以提供更丰富的功能和工具,以解决实际问题。此外,由于APOC是开源的,所以您可以根据自己的需求进行定制和扩展。APOC是一个强大而灵活的Neo4j插件,可以在生产开发中提供许多好处,帮助您更轻松地处理图数据和进行数据分析。

二、APOC所在系统说明

操作系统; window 11 neo4j版本:neo4j-community-4.4.23 APOC 版本:apoc-4.4.0.3-all.jar

三、APOC详细配置安装

1. APOC插件下载

github下载地址

比较推荐这个方法: 第三方下载地址(推荐使用)

2. APOC的相关文件下载说明

apoc插件分为两种,一个是core核心版,一个是 all 豪华本。另外,apoc插件本身也是需要和neo4j的版本号一一对应的,两者是需要版本兼容的关系。

我这里使用的是 :apoc-4.4.0.3-all.jar

3. APOC与图数据库neo4j的版本对应

版本不对应,大概率,neo4j 服务启动不起来。提示 版本问题

4. APOC在本机安装位置

将下载的 apoc-4.4.0.3-all.jar 直接复制到这个文件夹 就行

5. 修改APOC的配置文件

打开配置文件将,这两行内容,注释去掉就行了

dbms.security.procedures.unrestricted=apoc.*

将apoc中一般要加载的过程和函数列入白名单 (允许运行的程序列表中)

dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.*

这里因为需要 还有有其他的配置,这个配置就 根据需要来进行配置就行

6. 配置APOC的注意问题

正常情况情况下,配置到第五步就结束了,大概率配置成功了、但是我正好是不幸运的一拨人。配置到第五步 启动:RETURN apoc.version() 出现了

Neo.ClientError.Statement.SyntaxError

Invalid input '​': expected (line 1, column 1 (offset: 0))

"​RETURN apoc.version();"

^

解决方法:就是 第 5 步图片中的那样子。

把这一行内容 : dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.* 注释掉

7. web端启动:测试APOC是否安装成功

配置成功

四、APOC的一些经典应用

1. 编辑距离

RETURN apoc.text.distance("手提包包女新款潮韩版时尚尼龙布单肩包休闲简约斜挎包妈妈包", "新款女士手提包韩版大容量菱格牛津手提斜挎包多功能大容量单肩包")

RETURN apoc.text.levenshteinDistance("手提包包女新款潮韩版时尚尼龙布单肩包休闲简约斜挎包妈妈包", "新款女士手提包韩版大容量菱格牛津手提斜挎包多功能大容量单肩包")

2. 基于编辑距离的相似度

RETURN apoc.text.levenshteinSimilarity("手提包包女新款潮韩版时尚尼龙布单肩包休闲简约斜挎包妈妈包", "新款女士手提包韩版大容量菱格牛津手提斜挎包多功能大容量单肩包")

3. 模糊匹配

RETURN apoc.text.fuzzyMatch("手提包包女新款潮韩版时尚尼龙布单肩包休闲简约斜挎包妈妈包", "新款女士手提包韩版大容量菱格牛津手提斜挎包多功能大容量单肩包")

数据导入和导出:使用APOC插件可以轻松导入和导出不同格式的数据到Neo4j图数据库。您可以将数据从关系型数据库、CSV文件、JSON等转换为图形数据,并相反地,将图形数据导出到其他格式。图形算法:APOC提供了许多有用的图形算法,如PageRank、社区发现(例如Louvain算法),路径分析等。这些算法可以帮助您发现数据之间的关联性和模式,并从中提取有价值的信息。数据清洗和转换:APOC提供了丰富的过程和函数,用于数据清洗和转换。您可以使用它来处理字符串、时间、密码学等方面的数据,并进行必要的清洗和格式化。可视化:APOC支持将图形数据转换为其他可视化工具所需的格式,例如Gephi、D3.js等。这使得您可以将您的图形数据以更直观的方式呈现,进一步探索和交流。地理空间分析:APOC提供了与地理空间数据相关的功能,如计算两个地点之间的距离、查找附近的地点等。这对于在地理空间上分析和查询数据特别有用。

4. 链接数据库

要在Python中使用APOC插件,首先需要确保已经安装了Neo4j和APOC插件。安装Neo4j可以参考官方文档(https://neo4j.com/docs/)。一旦安装完成,您可以使用Python的Neo4j驱动程序来连接到Neo4j数据库,并执行Cypher查询来调用APOC过程。 一个简单的示例代码,演示如何使用Python和Neo4j驱动程序执行APOC过程:

from neo4j import GraphDatabase

# 连接到Neo4j数据库

driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "password"))

# 执行查询并调用APOC过程

def run_query(query):

with driver.session() as session:

result = session.run(query)

return result

# 调用APOC过程

query = "CALL apoc.someProcedure()"

result = run_query(query)

# 处理结果

for record in result:

# 在这里进行结果处理

print(record)

# 关闭驱动程序连接

driver.close()

参考阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: