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

使用GraphDataScience从DataFrame构建GDS图时遇连接错误求助

解决GraphDataScience连接Neo4j的Connection Refused错误

你遇到的UnableToConnectError是本地Neo4j服务未正常运行或连接参数错误导致的,和你用DataFrame构建图的逻辑无关,以下是具体排查和解决步骤:

核心排查方向

  • 确认Neo4j服务状态
  • 核对连接地址与端口
  • 检查认证配置
  • 排查网络防火墙限制

1. 确认Neo4j服务正在运行

  • 如果用Neo4j Desktop:打开客户端,查看对应数据库是否处于「Running」状态,未启动则点击「Start」按钮。
  • 如果是命令行安装版:执行neo4j status检查状态,未运行则执行neo4j start启动服务。
  • 如果是Docker容器:执行docker ps查看容器是否运行,未运行则执行docker start <容器ID/名称>启动。

2. 核对连接地址与端口

  • Neo4j默认Bolt端口为7687,确认你的Neo4j配置未修改过端口。若自定义了端口,需同步修改代码中的连接字符串,比如:
    gds = GraphDataScience("bolt://localhost:自定义端口", auth=None)
    
  • 若连接远程Neo4j,将localhost替换为目标服务器的IP或域名,同时确保远程服务器的7687端口对外开放。

3. 检查认证配置

代码中设置了auth=None,但默认情况下Neo4j是开启认证的:

  • 若你的Neo4j开启了认证,需提供正确的用户名和密码,修改代码如下:
    gds = GraphDataScience("bolt://localhost:7687", auth=("neo4j", "你的数据库密码"))
    
  • 若为测试环境需要关闭认证,可修改Neo4j配置文件neo4j.conf,设置dbms.security.auth_enabled=false,修改后重启Neo4j服务。

4. 排查网络防火墙限制

本地防火墙可能拦截了7687端口的连接请求:

  • 暂时关闭本地防火墙测试是否能连接成功。
  • 若测试有效,在防火墙规则中添加允许Neo4j 7687端口通信的规则。

代码小优化(不影响连接)

你的代码中导入了pandas as pd,但创建DataFrame时用的是pandas.DataFrame,可以统一改为pd.DataFrame,更符合常规写法:

nodes = pd.DataFrame(...)
relationships = pd.DataFrame(...)

内容的提问来源于stack exchange,提问作者Mariusz Szymoniak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 01:18:14