知识图谱基本工具Neo4j使用笔记 五 :APOC插件安装及简单应用

文章目录

  • 一、使用场景
  • 二、系统说明
  • 三、配置安装
    • [1. 插件下载](#1. 插件下载)
    • [2. 文件下载说明](#2. 文件下载说明)
    • [3. 版本对应](#3. 版本对应)
    • [4. 安装位置](#4. 安装位置)
    • [5. 修改配置文件](#5. 修改配置文件)
    • [6. 注意问题](#6. 注意问题)
    • [7. web端启动:测试](#7. web端启动:测试)
  • 四、简单应用
    • [1. 编辑距离](#1. 编辑距离)
    • [2. 基于编辑距离的相似度](#2. 基于编辑距离的相似度)
    • [3. 模糊匹配](#3. 模糊匹配)

一、使用场景

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

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

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

二、系统说明

操作系统; window 11

neo4j版本:neo4j-community-4.4.23

APOC 版本:apoc-4.4.0.3-all.jar

三、配置安装

1. 插件下载

github下载地址

第三方下载地址(推荐使用)

2. 文件下载说明

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

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

3. 版本对应

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

4. 安装位置

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

5. 修改配置文件

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

python 复制代码
dbms.security.procedures.unrestricted=apoc.*

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

python 复制代码
dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.*

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

6. 注意问题

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

python 复制代码
Neo.ClientError.Statement.SyntaxError
Invalid input '​': expected <init> (line 1, column 1 (offset: 0))
"​RETURN apoc.version();"
 ^

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

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

7. web端启动:测试

配置成功

四、简单应用

1. 编辑距离

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

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

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

3. 模糊匹配

python 复制代码
RETURN apoc.text.fuzzyMatch("手提包包女新款潮韩版时尚尼龙布单肩包休闲简约斜挎包妈妈包", "新款女士手提包韩版大容量菱格牛津手提斜挎包多功能大容量单肩包")
相关推荐
安冬的码畜日常31 分钟前
【Vim Masterclass 笔记24】S10L43 + L44:同步练习10 —— 基于 Vim 缓冲区的各类基础操作练习(含点评课)
笔记·vim·自学笔记·vim同步练习·vim缓冲区·vim buffer·vim缓冲区练习
一只码代码的章鱼41 分钟前
粒子群算法 笔记 数学建模
笔记·算法·数学建模·逻辑回归
圆圆滚滚小企鹅。1 小时前
刷题笔记 贪心算法-1 贪心算法理论基础
笔记·算法·leetcode·贪心算法
杨过姑父1 小时前
ES6 简单练习笔记--变量申明
前端·笔记·es6
l1x1n01 小时前
No.37 笔记 | Python面向对象编程学习笔记:探索代码世界的奇妙之旅
笔记·python·学习
路上阡陌2 小时前
Java学习笔记(二十四)
java·笔记·学习
束照2 小时前
noteboolm 使用笔记
笔记·notebooklm
安冬的码畜日常3 小时前
【Vim Masterclass 笔记23】第十章:Vim 缓冲区与多窗口的用法概述 + S10L42:Vim 缓冲区的用法详解与多文件编辑
笔记·vim·buffer·vim缓冲区·vim buffer·vim多文件编辑·vim多文件
初九之潜龙勿用3 小时前
我的创作纪念日,纪念我的第512天
笔记
雾里看山5 小时前
【MySQL】 库的操作
android·数据库·笔记·mysql