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

是否有API可通过Go bolt驱动获取Neo4j关系详情?

Neo4j Go Bolt驱动无法获取关系数据排查方案
  • 数据库实例不匹配

确认程序连接的数据库名称和Neo4j浏览器使用的库一致。Neo4j浏览器默认使用neo4j默认库,若程序初始化驱动、创建会话时没有显式指定DatabaseName参数,部分版本驱动会默认连接system系统库,自然无法查询到业务数据。

  • 查询语句符号错误
    你给出的查询示例中使用了全角左引号‘包裹字符串foo,确认程序内的查询语句是否使用了半角单引号',或直接使用参数化查询避免符号、编码问题:
// 推荐参数化写法,避免符号匹配问题
result, err := tx.Run(
    `MATCH (:a {name: $name})-[r:bar]->() RETURN properties(r)`,
    map[string]interface{}{"name": "foo"},
)
  • 结果消费逻辑错误
    Go驱动的Result是流式迭代对象,必须在事务未关闭/提交前完成结果遍历,不能在事务结束后再消费结果,也不能省略迭代错误检查,正确写法参考:
// 事务生命周期内遍历结果
for result.Next() {
    record := result.Record()
    // 两种取值方式二选一即可
    // 方式1:按返回值索引取值
    props, isOk := record.Values[0].(map[string]interface{})
    // 方式2:按返回字段名取值
    // propsVal, isExist := record.Get("properties(r)")
    // props, isOk := propsVal.(map[string]interface{})
    if isOk {
        println("X:", props["X"], "Y:", props["Y"])
    }
}
// 必须检查迭代过程产生的底层错误
if err = result.Err(); err != nil {
    // 处理查询错误
    panic(err)
}
  • 集群访问模式配置错误
    如果你使用的是Neo4j集群部署,创建会话时请显式指定读访问模式neo4j.AccessModeRead,避免请求被路由到未同步数据的节点,导致查询返回空结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:06:04