Jena 3.2.0 tdbload2 riotException: не удалось определить тип контента

Я использовал tdbload2 (в jena3.2.0) для создания базы данных из freebase-rdf-latest.

Произошла ошибка,

[cc@localhost dir]$ ../apache-jena-3.2.0/bin/tdbloader2 --loc=./d-freebase/ ./freebase-rdf-latest

21:33:22 ИНФОРМАЦИЯ -- Запуск массового загрузчика TDB

21:33:22 INFO Фаза загрузки данных

21:33:22 INFO Есть 1 файл данных для загрузки

21:33:22 INFO Файл данных 1: freebase-rdf-latest

ИНФО Загрузка: freebase-rdf-latest -- 06.04.2017 21:33:23 CST

org.apache.jena.riot.RiotException: не удалось определить тип контента: (URI=freebase-rdf-latest : stream=null)

at org.apache.jena.riot.RDFDataMgr.process(RDFDataMgr.java:854)
at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:667)
at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:637)
at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:626)
at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:617)
at org.apache.jena.tdb.store.bulkloader2.ProcNodeTableBuilder.exec(ProcNodeTableBuilder.java:78)
at tdb.bulkloader2.CmdNodeTableBuilder.exec(CmdNodeTableBuilder.java:113)
at jena.cmd.CmdMain.mainMethod(CmdMain.java:93)
at jena.cmd.CmdMain.mainRun(CmdMain.java:58)
at jena.cmd.CmdMain.mainRun(CmdMain.java:45)
at tdb.bulkloader2.CmdNodeTableBuilder.main(CmdNodeTableBuilder.java:61)

21:33:23 ОШИБКА Сбой на этапе данных


Но когда я использовал tdbload2 в jena 2.12.1, ошибок не возникало!

Итак, мне интересно, почему было поднято RiotException, когда я использовал tdbload2 в jena 3.2.0?


Формат freebase-rdf-latest,

<http://rdf.freebase.com/ns/american_football.football_player.footballdb_id>    <http://rdf.freebase.com/ns/type.object.type>   <http://rdf.freebase.com/ns/type.property>      .
<http://rdf.freebase.com/ns/american_football.football_player.footballdb_id>    <http://rdf.freebase.com/ns/type.object.name>   "footballdb ID"@en      .
<http://rdf.freebase.com/ns/american_football.football_player.footballdb_id>    <http://rdf.freebase.com/ns/type.property.unique>       "true"  .


person Wu Lee    schedule 06.04.2017    source источник


Ответы (1)


Я не уверен в версии Jena 2.12.1, но я обнаружил, что в версии Jena 3.2.0 мне нужно указать тип содержимого, используя расширение файла.

Попробуйте переименовать входной файл с «./freebase-rdf-latest» на «./freebase-rdf-latest.nt».

person Matt Gianni    schedule 06.04.2017
comment
log4j:WARN Не удалось найти приложения для регистратора (Jena). log4j:WARN Пожалуйста, правильно инициализируйте систему log4j. log4j:WARN См. logging.apache.org/log4j/1.2/faq.html# noconfig для получения дополнительной информации. У меня новые предупреждения. Как я могу настроить этот процесс? Я имею в виду, есть ли файл конфигурации, в котором я могу установить формат входного файла, формат журнала и т. д. - person Wu Lee; 07.04.2017
comment
@WuLee, если tdbloader2 увидит файл log4j.properties в вашем текущем рабочем каталоге, он будет использовать его (что должно устранить эти предупреждения). Вы можете скопировать пример из $JENA_HOME/jena-log4j.properties. Просто не забудьте назвать его log4j.properties. Однако я не уверен, можно ли указать формат входного файла с помощью файла конфигурации. - person Matt Gianni; 07.04.2017