Neo4j APOC-01-图数据库 apoc 插件 windows10 安装

打印 上一主题 下一主题

主题 871|帖子 871|积分 2613

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/
步骤:


  • 下载 APOC 插件
  1. CALL dbms.components() YIELD name, versions
  2. RETURN name, versions;
复制代码
结果:
  1. ╒══════════════╤══════════╕
  2. │name          │versions  │
  3. ╞══════════════╪══════════╡
  4. │"Neo4j Kernel"│["5.12.0"]│
  5. └──────────────┴──────────┘
复制代码
我的 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\

我的本地是:
  1. 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


比如我的是在 :
  1. C:\Users\dh\.Neo4jDesktop\relate-data\dbmss\dbms-95030949-1290-4c0a-867e-fd9f9aac13d6\conf
复制代码

  • 在设置文件中添加以下行,启用 APOC 插件:
    1. dbms.security.procedures.unrestricted=apoc.*
    2. dbms.security.procedures.allowlist=apoc.*
    复制代码
这里我加了这两个,如果有多个,逗号隔开。
启动的时候失败了,发现以前有这个设置,改一下:
  1. dbms.security.procedures.unrestricted=jwt.security.*,apoc.*
复制代码

  • 重启 Neo4j

    • 保存设置文件并重启 Neo4j 服务器。你可以通过下令行重启 Neo4j:

      • 对于 Linux/macOS:
        1. sudo systemctl restart neo4j
        复制代码
      • 对于 Windows,利用 Neo4j Desktop 或服务管理工具举行重启。


  • 验证安装

    • 你可以通过执行以下 Cypher 查询来验证 APOC 插件是否安装乐成:
      1. RETURN apoc.version()
      复制代码
    • 如果安装乐成,它会返回 APOC 的版本号。

返回
  1. "5.12.0"
复制代码
入门的例子

我们不能到这里就结束了,我们入门体验一下。
数据初始化
  1. // Create nodes for people
  2. CREATE (alice:Person {name: 'Alice', age: 30}),
  3.        (bob:Person {name: 'Bob', age: 25}),
  4.        (carol:Person {name: 'Carol', age: 35}),
  5.        (dave:Person {name: 'Dave', age: 40});
复制代码
创建关系
  1. // 假设已经有了 Person 节点
  2. MATCH (alice:Person {name: 'Alice'}), (bob:Person {name: 'Bob'})
  3. CREATE (alice)-[:FRIEND]->(bob);
  4. // 创建更多的关系
  5. MATCH (bob:Person {name: 'Bob'}), (carol:Person {name: 'Carol'})
  6. CREATE (bob)-[:FRIEND]->(carol);
  7. MATCH (alice:Person {name: 'Alice'}), (carol:Person {name: 'Carol'})
  8. CREATE (alice)-[:FRIEND]->(carol);
  9. MATCH (carol:Person {name: 'Carol'}), (dave:Person {name: 'Dave'})
  10. CREATE (carol)-[:FRIEND]->(dave);
复制代码
APOC
  1. CALL apoc.help('') YIELD name
  2. RETURN name
复制代码
检察全部的方法。
expand

apoc.path.expand参数签名如下:

  • startNode:起始节点
  • relFilter:关系范例过滤器
  • labelFilter:标签过滤器
  • minDepth:最小深度
  • maxDepth:最大深度
在你的查询中,你缺少了 labelFilter 参数。根据你提供的查询,你应该添加一个空字符串 '' 作为 labelFilter 参数,如下所示:
  1. MATCH (start:Person {name: 'Alice'})
  2. CALL apoc.path.expand(start, 'FRIEND', '', 1, 1) YIELD path
  3. RETURN path;
复制代码
这里,我将 minDepth 设置为1,maxDepth 设置为5,这意味着你将从Alice开始,沿着 'FRIEND' 关系范例,寻找1到1跳的路径。
labelFilter 参数设置为空字符串,表示不对节点标签举行过滤。
结果:
  1. ╒══════════════════════════════════════════════════════════════════════╕
  2. │path                                                                  │
  3. ╞══════════════════════════════════════════════════════════════════════╡
  4. │(:Person {name: "Alice",age: 30})-[:FRIEND]->(:Person {name: "Carol",a│
  5. │ge: 35})                                                              │
  6. ├──────────────────────────────────────────────────────────────────────┤
  7. │(:Person {name: "Alice",age: 30})-[:FRIEND]->(:Person {name: "Bob",age│
  8. │: 25})                                                                │
  9. └──────────────────────────────────────────────────────────────────────┘
复制代码
参考资料

Neo4j安装插件
neo4j手动安装插件

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

怀念夏天

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表