Я пытаюсь загрузить триплеты в Virtuoso с помощью функций массовой загрузки, упомянутых здесь: https://github.com/dbpedia/dbpedia-docs/wiki/Loading-Data-Virtuoso. Иногда массовая загрузка работает, иногда нет.
Итак, вот что я сделал (я работаю на машине с CentOS):
Скачал/установил Virtuoso (последняя версия)
Запустил Virtuoso на порту 8890
, указав файл virtuoso.ini
по умолчанию:
virtuoso -f virtuoso.ini
Запустил интерпретатор iSQL, который идет в комплекте:
./isql 1111
Загружены функции массовой загрузки (например, их можно найти здесь: https://github.com/mysema/rdfbean/blob/master/rdfbean-virtuoso/doc/rdfloader.sql):
LOAD rdfloader.sql
Залил первый тройной файл (~500 Мб):
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 -?
(при необходимости изменив двоичное имя в соответствии с вашим развертыванием). - person TallTed   schedule 22.12.2015rdfloader.sql
, которые вы загрузили вручную, датируются 15 декабря 2010 г. - person TallTed   schedule 22.12.2015