【发布时间】:2021-12-06 08:12:45
【问题描述】:
我正在尝试在 Docker 上创建一个 GraphDB 实例。创建实例后,我需要创建一个存储库以将数据导入实例。但是,当我创建一个存储库时,它说该存储库不存在。当我使用 loadrdf 命令导入数据时,我收到关于存储库不存在的错误。
dist/bin/loadrdf -f -i repo-test -m parallel /opt/graphdb/home/data/*.ttl
【问题讨论】:
我正在尝试在 Docker 上创建一个 GraphDB 实例。创建实例后,我需要创建一个存储库以将数据导入实例。但是,当我创建一个存储库时,它说该存储库不存在。当我使用 loadrdf 命令导入数据时,我收到关于存储库不存在的错误。
dist/bin/loadrdf -f -i repo-test -m parallel /opt/graphdb/home/data/*.ttl
【问题讨论】:
GraphDB 的默认数据位置是 GraphDB 主目录的data 子目录,该目录又默认为分发目录。
对于 docker 映像,这是 /opt/graphdb/dist,因此默认数据目录是 /opt/graphdb/dist/data。
而且在docker镜像中默认home改为/opt/graphdb/home,所以数据目录变成/opt/graphdb/home/data。这是通过在启动 GraphDB 时传递 -Dgraphdb.home=/opt/graphdb/home java 选项来完成的。
因此,当您创建存储库时,它是在 /opt/graphdb/home/data/repositories/repo-test 创建的。
您的问题是loadrdf 工具不知道更改的主目录。
要克服这个问题,请尝试在运行 loadrdf 之前导出具有值 -Dgraphdb.home=/opt/graphdb/home 的 GDB_JAVA_OPTS 变量,或者作为单行:
GDB_JAVA_OPTS='-Dgraphdb.home=/opt/graphdb/home' ./dist/bin/loadrdf -f -i repo-test -m parallel /opt/graphdb/home/data/*.ttl
【讨论】: