Создание набора данных TDB из архива, содержащего файлы N-TRIPLES

Заранее извиняюсь за возможный дубликат.

У меня есть архив, содержащий 117 426 файлов (каждый в формате N-TRIPLES), которые я хочу загрузить в график по умолчанию набора данных TDB. Из-за большого количества файлов мне нужно иметь возможность выполнять этот импорт без ручного выбора отдельных файлов для загрузки.

Я нахожусь в Bash, в моем распоряжении дистрибутивы Jena и Fuseki.

Если возможно, я хочу избежать наихудшего сценария простого написания Java-приложения для этого. Если мне нужно написать для этого java-приложение, какие хуки существуют в RIOT/TDB для выполнения программной массовой загрузки?


person Rob Hall    schedule 08.09.2014    source источник


Ответы (1)


В качестве общего комментария, один из способов состоит в том, чтобы объединить файлы N-Triples для создания одного файла.

Вы можете загрузить много файлов одновременно с помощью tdbloader или tdbloader2.

tdbloader --loc DB ... your files ...

117 426 могут нагрузить вашу ОС для одного вызова командной строки. Вы можете передать файлы в tdbloader (это так же, как сначала объединить файлы)

... | tdbloader --loc DB -- -

где ... - это какой-то способ заставить bash перехватывать файлы (возможно, из подоболочки).

например (вам нужно настроить файл для всех 117 426 файлов):

( for x in data*.nt
  do
    cat $x 
  done
) | tdbloader --loc DB -- -
person AndyS    schedule 08.09.2014
comment
Работал отлично без модификаций (31 242 719 троек загружены за 1 191,49 секунды). В этом случае я смог разархивировать архив, чтобы поддержать этот подход. - person Rob Hall; 09.09.2014