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

使用pyTigerGraph创建TigerGraph schema报Connection Refused错误

问题原因
  • 实例化连接后打印Connected不代表连接有效:pyTigerGraph 0.9.1版本初始化TigerGraphConnection对象时,仅会在本地存储传入的连接参数,不会主动发起网络请求校验连通性,因此这行输出不能作为连接正常的判断依据。
  • 报错核心诱因为端口配置不匹配:pyTigerGraph 0.9.1的默认端口配置适配本地自部署的TigerGraph实例,默认REST++服务端口为9000、GSQL服务端口为14240;但TigerGraph Cloud托管实例的所有服务均通过HTTPS 443端口做反向代理,未手动指定端口时,调用gsql()方法会向不存在的14240端口发起请求,触发错误码111的Connection refused报错,该问题和用户名、密码配置无关。
  • 语法兼容问题:GSQL脚本中使用的USE GLOBAL语法不适用于TigerGraph Cloud新托管实例,云实例默认不开放全局schema操作权限,直接执行会触发权限类错误。
修复方案
  • 实例化连接时手动补充适配云实例的参数:将restppPort、gsqlPort均设置为443,开启useCert=True适配HTTPS证书校验,同时传入已创建的目标图名作为graphname参数。
  • 调整GSQL脚本逻辑:删除脚本中的USE GLOBAL行,所有schema创建操作会在指定的目标图下执行。如果实例上还未创建目标图,先执行创建图的GSQL命令,等待图创建完成后再执行schema创建操作。
  • 可选兼容方案:将pyTigerGraph升级至1.x及以上稳定版本,新版本已内置TigerGraph Cloud实例的端口适配规则,无需手动指定端口参数即可正常连接。
参考修正代码

连接初始化部分

# Imports
import pyTigerGraph as tg
import json
import pandas as pd

# Connection parameters
hostName = "https://DOMAIN.i.tgcloud.io"
userName = "tigergraph"
password = "XXXXXX"
# 替换为自己实例上创建的目标图名
graphName = "替换为你的图名"

conn = tg.TigerGraphConnection(
    host=hostName,
    username=userName,
    password=password,
    graphname=graphName,
    restppPort=443,
    gsqlPort=443,
    useCert=True
)

# 执行LS命令验证连通性,正常会返回实例内的资源列表
print(conn.gsql("LS"))

# 若未创建图,先执行下方命令创建图,创建完成后再执行后续schema操作
# print(conn.gsql(f"CREATE GRAPH {graphName}()"))

Schema创建部分

# DEFINE / CREATE ALL EDGES AND VERTICES 
results = conn.gsql('''
  CREATE VERTEX Person (PRIMARY_ID id STRING, name STRING, email STRING, username STRING, created_at DATETIME) WITH primary_id_as_attribute="true"
  CREATE VERTEX Post (PRIMARY_ID id STRING, content STRING, posted_date DATETIME, deleted BOOL) WITH primary_id_as_attribute="true"
  CREATE VERTEX Hashtag (PRIMARY_ID tag STRING) WITH primary_id_as_attribute="true"
  CREATE VERTEX Message (PRIMARY_ID id STRING, subject STRING, body STRING) WITH primary_id_as_attribute="true"
  CREATE DIRECTED EDGE posted (From Person, To Post, post_date DATETIME) WITH REVERSE_EDGE="reverse_posted"
  CREATE DIRECTED EDGE liked (From Person, To Post, like_date DATETIME) WITH REVERSE_EDGE="reverse_liked"
  CREATE DIRECTED EDGE has_tag (From Post, To Hashtag) WITH REVERSE_EDGE="reverse_has_tag"
  CREATE DIRECTED EDGE sent_message (From Person, To Message, to_person STRING, sent_date DATETIME) WITH REVERSE_EDGE="reverse_sent_message"
  CREATE DIRECTED EDGE received_message (From Message, To Person, from_person STRING, receive_date DATETIME, opened_date DATETIME) WITH REVERSE_EDGE="reverse_received_message"
''')
print(results)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 20:27:19