postgresql - 如何将 Cayley 与 Postgres 后端一起使用?

标签 postgresql go cayley

根据 this Github issueCayley 的 Postgres 后端功能图数据库实现。但是,目前 docs 中没有示例,我无法通过阅读代码来弄清楚。有人可以帮忙吗?

编辑

要开始使用 Cayley,我们可以使用以下命令加载源附带的数据:

./cayley load --config=cayley.cfg.overview --quads=data/30kmoviedata.nq.gz

我尝试了 cayley.cfg.overview 文件的两种变体:

{
    "database": "sql",
    "db_path": "localhost:5432",
    "read_only": false
}

{
    "database": "sql",
    "db_path": "/var/lib/postgresql/9.4/main/cayley",
    "read_only": false
}

第一个类似于用于 mongo 的那个(5432 是 postgres 服务器监听的端口)。至于第二个,我不知道我在那里做什么 :D。

在任何情况下,当我使用 ./cayley load --config=cayley.cfg.overview --quads=data/30kmoviedata.nq.gz 命令时,我得到以下错误(变化只有 db_path 的值):

Couldn't open database at localhost:5432: 
&errors.errorString{s:"missing \"=\" after \"127.0.0.1:5432\" in connection 
info string\""}
E1117 21:09:18.300033 16689 cayley.go:277] missing "=" after "localhost:5432" 
in connection info string"

最佳答案

看起来 Cayley 在幕后使用 lib/pq。 lib/pq 连接字符串看起来像这样:"user=pqgotest dbname=pqgotest sslmode=verify-full""postgres://pqgotest:password@localhost/pqgotest?sslmode=verify-full" 有关完整详细信息,请参阅位于 godoc.org 的 lib/pq 文档.

(您可以在 cayley/graph/sql/quadstore.go connectSQLTables 中看到调用 sql.Open 的位置。)

关于postgresql - 如何将 Cayley 与 Postgres 后端一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33769116/

相关文章:

sql - 仅使用 SQL 返回 pre-UPDATE 列值

python - Django,ManyToManyField - ProgrammingError : relation foo_bar does not exist. 在迁移中被识别,但从未创建关系

go - 当我不需要停止时,time.Tick 会导致内存泄漏吗?

php - PDO::quote 的默认字符集

Go - 实例化结构并获取指向它的指针的 "&MyStruct{1, 2}"语法何时有用?

go - 如何获得屏幕位置

graph-databases - Gremlin Cayley 查询 : How to have a multi leveled query

python - 如何在 cayley graph db 中加载 json api

go - 用 go(cayley) 创建一个新的 quad store?

database - 如何同步 postgresql 模式的表 - Sequelize ORM