【发布时间】:2016-01-13 04:44:50
【问题描述】:
我正在尝试使用此处提到的批量上传功能将三元组上传到 Virtuoso:https://github.com/dbpedia/dbpedia-docs/wiki/Loading-Data-Virtuoso。有时批量上传有效,有时无效。
这就是我所做的(我在 CentOS 机器上工作):
已下载/安装 Virtuoso(最新版本)
通过指定默认的virtuoso.ini 文件在端口8890 上启动Virtuoso:
virtuoso -f virtuoso.ini
启动了自带的iSQL解释器:
./isql 1111
加载了批量上传功能(例如可以在这里找到:https://github.com/mysema/rdfbean/blob/master/rdfbean-virtuoso/doc/rdfloader.sql):
LOAD rdfloader.sql
上传了第一个三重文件(~500 Mb):
ld_dir('/path/to/dir1','*.gz','http://graph.1.com');
rdf_loader_run();
(我们称之为事务 1,它运行良好)
试图将另一个文件加载到另一个图表中
ld_dir('/path/to/dir2','*.gz','http://graph.2.com');
rdf_loader_run();
(我们称之为事务 2)
它不起作用,即使 Virtuoso 日志文件没有指向错误源,写入事务事件的 SQL 表 (DB.DBA.LOAD_LIST) 提到第 16061 行有问题:
37000 SP029: TURTLE RDF loader, line 16061: syntax error processed pending to here.
我相应地更正了文件,在 iSQL 解释器中键入了与事务 2 几乎相同的命令:
ld_dir('/path/to/dir2','*.gz','http://graph.3.com');
rdf_loader_run();
(我们称之为事务 3)
现在什么也没有发生。 DB.DBA.LOAD_LIST 甚至不包含该新事务。它只包含事务 1 和 2。
有没有人知道幕后发生了什么以及为什么这里什么都没有发生?
【问题讨论】:
-
“最新版本”可能意味着很多东西。请使用
virtuoso-t -?的输出更新您的问题(根据需要更改二进制名称以适应您的部署)。 -
我看到您正在遵循 DBpedia 项目的指南,但不清楚您是否正在加载 DBpedia 数据。我建议您尝试遵循 Virtuoso 文档,例如 Bulk Loading RDF Source Files。请注意,这些批量加载功能自 6.1.3、2011-03-30 以来已内置到 Virtuoso 中,而您手动加载的
rdfloader.sql日期为 2010-12-15。 -
Virtuoso 特定的帮助通常通过专注于 Virtuoso 的资源(例如 Virtuoso Users mailing list、公众 OpenLink Support Forums 或 confidential OpenLink Support Case)更快地获得。 (ObDisclaimer:我为 OpenLink Software 工作,Virtuoso 的制作人。)
标签: transactions rdf graph-databases virtuoso bulk-load