neo4j apoc 系列
Neo4j APOC-01-图数据库 apoc 插件介绍
Neo4j APOC-01-图数据库 apoc 插件安装 neo4j on windows10
Neo4j APOC-03-图数据库 apoc 实战利用利用
Neo4j APOC-04-图数据库 apoc 实战利用利用 apoc.path.spanningTree 最小生成树
如何安装 APOC 插件
安装 Neo4j 的 APOC 插件的步骤相对简单,具体取决于你利用的是哪种 Neo4j 版本(例如 Neo4j Desktop、Neo4j Aura 或 Neo4j 服务器)。
以下是差别环境下安装 APOC 插件的步骤:
1. Neo4j Desktop 安装 APOC 插件
Neo4j Desktop 是一个桌面版的 Neo4j 安装工具,安装和管理 APOC 插件非常简单。
发现不太行,不停安装无相应。
步骤:
- 打开 Neo4j Desktop 应用。
- 在左侧的 Projects 面板中,选择你要利用的 Database,然后点击该数据库旁边的 Settings 按钮(齿轮图标)。
- 在弹出的设置页面中,找到 Plugins 选项卡。
- 在插件列表中,找到 APOC 插件。如果没有显示,请确保 Neo4j Desktop 已连接到互联网。
- 点击 Install 按钮安装 APOC 插件。安装完成后,它将自动启用。
- 安装完成后,你可以在 Database 面板中看到 APOC 插件已启用。
3. Neo4j 服务器版安装 APOC 插件
对于自托管的 Neo4j 服务器,安装 APOC 插件需要手动操作。
你需要将 APOC 插件文件放入 Neo4j 的插件目录,并修改设置文件来启用它。
参考文档:https://neo4j.com/docs/apoc/5/overview/
步骤:
- CALL dbms.components() YIELD name, versions
- RETURN name, versions;
复制代码 结果:- ╒══════════════╤══════════╕
- │name │versions │
- ╞══════════════╪══════════╡
- │"Neo4j Kernel"│["5.12.0"]│
- └──────────────┴──────────┘
复制代码 我的 neo4j 版本是 5.12.0,对应的版本可以在文档检察
https://neo4j.com/docs/apoc/5/installation/#apoc
对应的版本为:
https://github.com/neo4j/apoc/releases/tag/5.12.0
- 将 APOC 插件复制到 Neo4j 插件目录:
- 将下载的 apoc-x.x.x-all.jar 文件复制到 Neo4j 的 plugins 目录。
默认路径:
- 对于 Linux/macOS:/var/lib/neo4j/plugins/
- 对于 Windows:C:\Program Files\Neo4j\neo4j-community-x.x.x\plugins\
我的本地是:- C:\Users\dh\.Neo4jDesktop\relate-data\dbmss\dbms-95030949-1290-4c0a-867e-fd9f9aac13d6\plugins
复制代码
- 修改 Neo4j 设置文件:
- 打开 Neo4j 的设置文件 neo4j.conf。这个文件通常位于 conf 目录中,路径雷同于:
- 对于 Linux/macOS:/etc/neo4j/neo4j.conf 或 /var/lib/neo4j/conf/neo4j.conf
- 对于 Windows:C:\Program Files\Neo4j\neo4j-community-x.x.x\conf\neo4j.conf
比如我的是在 :- C:\Users\dh\.Neo4jDesktop\relate-data\dbmss\dbms-95030949-1290-4c0a-867e-fd9f9aac13d6\conf
复制代码
- 在设置文件中添加以下行,启用 APOC 插件:
- dbms.security.procedures.unrestricted=apoc.*
- dbms.security.procedures.allowlist=apoc.*
复制代码 这里我加了这两个,如果有多个,逗号隔开。
启动的时候失败了,发现以前有这个设置,改一下:- dbms.security.procedures.unrestricted=jwt.security.*,apoc.*
复制代码
- 重启 Neo4j:
- 保存设置文件并重启 Neo4j 服务器。你可以通过下令行重启 Neo4j:
- 对于 Linux/macOS:
- sudo systemctl restart neo4j
复制代码 - 对于 Windows,利用 Neo4j Desktop 或服务管理工具举行重启。
- 验证安装:
- 你可以通过执行以下 Cypher 查询来验证 APOC 插件是否安装乐成:
- 如果安装乐成,它会返回 APOC 的版本号。
返回入门的例子
我们不能到这里就结束了,我们入门体验一下。
数据初始化
- // Create nodes for people
- CREATE (alice:Person {name: 'Alice', age: 30}),
- (bob:Person {name: 'Bob', age: 25}),
- (carol:Person {name: 'Carol', age: 35}),
- (dave:Person {name: 'Dave', age: 40});
复制代码 创建关系- // 假设已经有了 Person 节点
- MATCH (alice:Person {name: 'Alice'}), (bob:Person {name: 'Bob'})
- CREATE (alice)-[:FRIEND]->(bob);
- // 创建更多的关系
- MATCH (bob:Person {name: 'Bob'}), (carol:Person {name: 'Carol'})
- CREATE (bob)-[:FRIEND]->(carol);
- MATCH (alice:Person {name: 'Alice'}), (carol:Person {name: 'Carol'})
- CREATE (alice)-[:FRIEND]->(carol);
- MATCH (carol:Person {name: 'Carol'}), (dave:Person {name: 'Dave'})
- CREATE (carol)-[:FRIEND]->(dave);
复制代码 APOC
- CALL apoc.help('') YIELD name
- RETURN name
复制代码 检察全部的方法。
expand
apoc.path.expand参数签名如下:
- startNode:起始节点
- relFilter:关系范例过滤器
- labelFilter:标签过滤器
- minDepth:最小深度
- maxDepth:最大深度
在你的查询中,你缺少了 labelFilter 参数。根据你提供的查询,你应该添加一个空字符串 '' 作为 labelFilter 参数,如下所示:- MATCH (start:Person {name: 'Alice'})
- CALL apoc.path.expand(start, 'FRIEND', '', 1, 1) YIELD path
- RETURN path;
复制代码 这里,我将 minDepth 设置为1,maxDepth 设置为5,这意味着你将从Alice开始,沿着 'FRIEND' 关系范例,寻找1到1跳的路径。
labelFilter 参数设置为空字符串,表示不对节点标签举行过滤。
结果:- ╒══════════════════════════════════════════════════════════════════════╕
- │path │
- ╞══════════════════════════════════════════════════════════════════════╡
- │(:Person {name: "Alice",age: 30})-[:FRIEND]->(:Person {name: "Carol",a│
- │ge: 35}) │
- ├──────────────────────────────────────────────────────────────────────┤
- │(:Person {name: "Alice",age: 30})-[:FRIEND]->(:Person {name: "Bob",age│
- │: 25}) │
- └──────────────────────────────────────────────────────────────────────┘
复制代码 参考资料
Neo4j安装插件
neo4j手动安装插件
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |