You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Neo4jGraph无法连接Neo4j数据库,GraphDatabase.driver可正常连接

解决WSL下Neo4jGraph无法连接Neo4j的问题

可能的原因及修复步骤

1. 升级依赖包版本

旧版的langchain或langchain-community包可能存在连接兼容性问题,执行命令更新相关依赖:

pip install --upgrade langchain langchain-community neo4j

2. 调整Neo4jGraph连接参数

  • 显式指定数据库名称(默认是neo4j,但明确声明可避免隐式配置问题):
    graph = Neo4jGraph(
        url="bolt://localhost:7687",
        username="neo4j",
        password="neo4j",
        database="neo4j"
    )
    
  • 若WSL与主机网络隔离导致localhost映射失效,替换为主机的局域网IP(比如192.168.x.x):
    graph = Neo4jGraph(
        url="bolt://192.168.x.x:7687",
        username="neo4j",
        password="neo4j"
    )
    

3. 检查Neo4j的Bolt服务配置

打开Neo4j配置文件neo4j.conf,确保以下配置未被注释,修改后重启Neo4j:

dbms.connector.bolt.enabled=true
dbms.connector.bolt.listen_address=0.0.0.0:7687

4. 验证WSL端口访问能力

在WSL终端执行命令,测试7687端口是否可访问:

telnet localhost 7687

若连接失败,在Windows管理员命令提示符中添加端口转发规则(172.x.x.x为WSL内部IP,可通过ip addr在WSL终端查看):

netsh interface portproxy add v4tov4 listenport=7687 listenaddress=0.0.0.0 connectport=7687 connectaddress=172.x.x.x

5. 简化代码测试基础连接

先排除后续查询逻辑干扰,仅测试Neo4jGraph的连接有效性:

from langchain_community.graphs import Neo4jGraph

graph = Neo4jGraph(
    url="bolt://localhost:7687",
    username="neo4j",
    password="neo4j"
)
# 打印节点标签验证连接
print(graph.schema.node_labels)

内容的提问来源于stack exchange,提问作者Mathys Ferrato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 20:02:40