一:背景

通过langchain组件生成图谱。本文是延续上一篇文章【Linux Red Hat 部署neo4j 2025.8社区版-CSDN博客】以下所有路径,命令都是基于这篇内容设置的

二:准备

1.APOC插件

apoc是调用neo4j的一个插件,在使用langchain存储图谱时会用到其中的apoc.merge.node方法,如果不装会出现报错

neo4j.exceptions.ClientError: 
{code: Neo.ClientError.Procedure.ProcedureNotFound} 
{message: There is no procedure with the name `apoc.merge.node` registered for this database instance.}

1.下载对应版本的 APOC 插件

【官方地址:https://github.com/neo4j/apoc/releases】

直接下载好2025.8的版本

sudo wget -O /var/lib/neo4j/plugins/apoc.jar   https://github.com/neo4j/apoc/releases/download/5.26.12/apoc-5.26.12-core.jar

2.验证文件

ls -l /var/lib/neo4j/plugins/apoc.jar

3.设置权限

sudo chown neo4j:neo4j /var/lib/neo4j/plugins/apoc.jar
sudo chmod 644 /var/lib/neo4j/plugins/apoc.jar

4.启动apoc

echo 'dbms.security.procedures.unrestricted=apoc.*' >> /etc/neo4j/neo4j.conf
echo 'dbms.security.procedures.allowlist=apoc.*' >> /etc/neo4j/neo4j.conf

5.重启

sudo /usr/bin/neo4j restart

6.验证插件

三:python代码

【driver在上一篇文章中】

def verify_apoc_ready(tx):
    """检查 APOC 是否加载"""
    result = tx.run("CALL apoc.help('') YIELD name RETURN count(name) AS totalCount")
    record = result.single()
    return record["totalCount"] > 0

def get_apoc_version(tx):
    """获取 APOC 版本"""
    try:
        result = tx.run("RETURN apoc.version() AS version")
        record = result.single()
        return record["version"]
    except ClientError:
        return None
def main():
    # 测试连接
    driver.verify_connectivity()
    print("成功连接到 Neo4j 数据库")

    with driver.session() as session:
        # 1. 检查 APOC 是否存在
            has_apoc = session.execute_read(verify_apoc_ready)
            if not has_apoc:
                print("APOC 未加载:没有找到任何 APOC 过程")
                return
            print("APOC 已加载(检测到多个 APOC 过程)")

            # 2. 获取 APOC 版本
            apoc_version = session.execute_read(get_apoc_version)
            if apoc_version:
                print(f"APOC 版本: {apoc_version}")
            else:
                print("APOC 版本无法获取,但过程可用")
    driver.close()

if __name__ == "__main__":
    main()

【未完待续...........】

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐