当前位置: 首页 > article >正文

Neo4j【环境部署 03】插件APOC和ALGO配置使用实例分享(网盘分享3.5.5兼容版本插件)

由于 JDK 版本限制安装的 Neo4j 的版本为 3.5.5以下插件的使用都是基于这个版本的。Neo4j 及插件网盘分享:

通过网盘分享的文件:CSDN_Neo4j

链接: https://pan.baidu.com/s/107wQYy34OrjkxMUe-jGEVA?pwd=cyni 提取码: cyni

分享文件列表:

  • apoc-3.5.0.15-all.jar
  • graph-algorithms-algo-3.5.4.0.jar
  • neo4j-community-3.5.5-unix.tar.gz

插件APOC和ALGO配置使用实例

  • 1.APOC
    • 1.1 下载
    • 1.2 配置
    • 1.3 简单实例
  • 2.ALGO
    • 2.1 下载
    • 2.2 配置
  • 3.总结

1.APOC

【讯飞星火】Neo4j的APOC插件是一个强大的工具,它扩展了Cypher查询语言的功能,提供了许多内置过程和函数,用于完成数据集成、图形算法或数据转换等领域的不同任务。以下是一些常见的使用场景和相应的Cypher查询示例:

  1. 文本相似度计算:使用apoc.text.distance函数计算两个字符串之间的Levenshtein距离。例如,比较节点属性name与字符串"周"的相似度。
  2. 图算法:使用APOC提供的图算法过程,如apoc.algo.pageRank进行PageRank计算,apoc.algo.betweennessCentrality计算中介中心性等。
  3. 数据导入导出:使用APOC的过程从CSV文件导入数据到Neo4j数据库,或将数据从Neo4j导出到CSV文件。
  4. 网络分析:使用APOC的过程进行网络分析,如apoc.algo.centrality计算中心性指标,apoc.algo.clusteringCoefficient计算聚类系数等。
  5. 路径查找:使用APOC的过程进行复杂的路径查找,如apoc.path.expandConfig根据配置展开路径,apoc.path.expand根据关系类型展开路径等。
  6. 数据转换:使用APOC的过程将数据从一种格式转换为另一种格式,如将JSON字符串转换为Map对象,将Map对象转换为JSON字符串等。
  7. 图可视化:使用APOC的过程生成图的可视化表示,如apoc.graphviz.graphviz生成Graphviz格式的图表示,apoc.graphviz.dot生成DOT格式的图表示等。
  8. 机器学习:使用APOC的过程进行机器学习任务,如apoc.ml.corex进行Corex聚类,apoc.ml.knn进行K近邻分类等。

1.1 下载

下载地址:https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases,下载版本对照:

本次下载的文件为:apoc-3.5.0.15-all.jar

1.2 配置

将下载的 jar包放置于plugins文件夹下,修改配置文件 conf/neo4j.conf添加以下内容:

# A comma separated list of procedures and user defined functions that are allowed
# full access to the database through unsupported/insecure internal APIs.
#dbms.security.procedures.unrestricted=my.extensions.example,my.procedures.*

# A comma separated list of procedures to be loaded by default.
# Leaving this unconfigured will load all procedures found.
#dbms.security.procedures.whitelist=apoc.coll.*,apoc.load.*

dbms.security.procedures.unrestricted=apoc.*
# 白名单可以不配置
dbms.security.procedures.whitelist=apoc.*

修改配置文件后重启 Neo4j,然后验证是否安装成功:

RETURN apoc.version()

// 返回结果
apoc.version()
"3.5.0.15"

// 获取函数列表
CALL apoc.help('')

1.3 简单实例

MATCH (n)
WITH n, apoc.text.levenshteinDistance(n.name, '周王丽') AS dist
ORDER BY dist ASC
RETURN n.name, dist

对于较短的文本,编辑距离的意义不大。

使用编辑距离计算相似度(这种相似度并非语义相似度)。

MATCH ( i1 : information )  WITH i1
MATCH ( i2 : information ) WHERE i1 <> i2 WITH i1, i2
RETURN i1.name AS from, i2.name AS to, 
apoc.math.round((1- apoc.text.levenshteinDistance(i1.content, i2.content)*1.0/apoc.coll.max([size(i1.content) ,size(i2.content)]))*100 ,2) AS similarity 
ORDER BY similarity desc

2.ALGO

【讯飞星火】Neo4j的algo插件是一个强大的工具,它提供了多种图形算法和统计过程,用于分析图数据。这些算法可以帮助你识别图中的模式、计算路径、进行社区检测等。以下是一些常见的使用场景和相应的Cypher查询示例:

  1. 最短路径算法:用于查找两个节点之间的最短路径。例如,使用Dijkstra算法找到节点A到节点B的最短路径。
  2. 中心性算法:用于评估节点在图中的重要性。例如,使用Closeness Centrality计算每个节点的中心性得分。
  3. 社区检测算法:用于发现图中的社区结构。例如,使用Label Propagation算法检测社区。
  4. 链接预测算法:用于预测节点之间可能存在的关系。例如,使用Katz算法预测两个节点之间的潜在关系。
  5. 节点相似度算法:用于计算节点之间的相似度。例如,使用Cosine相似度计算两个节点的相似度。
  6. 图匹配算法:用于在图中查找特定的子图结构。例如,使用VF2算法查找特定的子图模式。
  7. 聚类算法:用于对节点进行聚类。例如,使用K-Means算法对节点进行聚类。
  8. 降维算法:用于减少数据的维度。例如,使用PCA算法对节点属性进行降维。

2.1 下载

下载地址:https://github.com/neo4j-contrib/neo4j-graph-algorithms/releases,ALGO 没有版本对照,查看 GDS 的下载版本对照:

里边有历史版本的对照关系:Graph algorithms 3.5.14.0 is only compatible with Neo4j 3.5.9 and above. 本次下载文件为graph-algorithms-algo-3.5.4.0.jar

2.2 配置

将下载的 jar包放置于plugins文件夹下,修改配置文件 conf/neo4j.conf如下:

dbms.security.procedures.unrestricted=algo.*,apoc.*
dbms.security.procedures.whitelist=algo.*,apoc.*

修改配置文件后重启 Neo4j,然后验证是否安装成功:

RETURN algo.version()

// 返回结果
algo.version()
"3.5.5"
// 查询函数列表
CALL algo.list()

3.总结

有了这些插件,一些复杂的业务就可以通过调用函数实现了。


http://www.kler.cn/a/612936.html

相关文章:

  • Python 爬虫案例
  • 在Windows下VSCodeSSH远程登录到Ubuntu
  • Java EE——线程状态
  • 手机抓取崩溃的log日志(安卓/ios)
  • C笔记20250325
  • 位运算算法:解锁高效编程的钥匙
  • 【C#】`Interlocked` vs `lock`
  • debug 笔记:llama 3.2 部署bug 之cutlassF: no kernel found to launch!
  • 歌词json
  • 【redis】持久化之RDB与AOF
  • [c语言日寄]柔性数组
  • [Java微服务架构]7-3_事务处理——分布式事务
  • UML之包含用例
  • 基于 Qt / HTTP/JSON 的智能天气预报系统测试报告
  • 智慧电力:点亮未来能源世界的钥匙
  • 推荐:大模型靠啥理解文字?通俗解释:词嵌入embedding
  • 网络安全法律法规简介
  • RFID技术在机器人中的核心应用场景及技术实现
  • AI PPT哪家强?2025年4款高效工具深度测评
  • 【数据分享】基于联合国城市化程度框架的全球城市边界数据集(免费获取/Shp格式)