Jena 3.2.0 tdbload2 riotException:无法确定内容类型
Jena 3.2.0 tdbload2 riotException: Failed to determine the content type
我使用 tdbload2(在 jena3.2.0 中)从 freebase-rdf-latest.
构建数据库
发生错误,
[cc@localhost 目录]$ ../apache-jena-3.2.0/bin/tdbloader2 --loc=./d-freebase/ ./freebase-rdf-latest
21:33:22 信息 -- TDB 批量加载程序启动
21:33:22 信息数据加载阶段
21:33:22 信息已加载 1 个数据文件
21:33:22 INFO 数据文件 1:freebase-rdf-latest
信息加载:freebase-rdf-latest -- 2017/04/06 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 错误在数据阶段失败
但是当我在jena 2.12.1中使用tdbload2时,没有出现错误!
所以,我想知道为什么在 jena 3.2.0 中使用 tdbload2 时会引发 RiotException?
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" .
我不确定 Jena 2.12.1 版,但我发现 Jena 3.2.0 版需要使用文件扩展名指定内容类型。
尝试将输入文件从“./freebase-rdf-latest”重命名为“./freebase-rdf-latest.nt”。
我使用 tdbload2(在 jena3.2.0 中)从 freebase-rdf-latest.
构建数据库发生错误,
[cc@localhost 目录]$ ../apache-jena-3.2.0/bin/tdbloader2 --loc=./d-freebase/ ./freebase-rdf-latest
21:33:22 信息 -- TDB 批量加载程序启动
21:33:22 信息数据加载阶段
21:33:22 信息已加载 1 个数据文件
21:33:22 INFO 数据文件 1:freebase-rdf-latest
信息加载:freebase-rdf-latest -- 2017/04/06 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 错误在数据阶段失败
但是当我在jena 2.12.1中使用tdbload2时,没有出现错误!
所以,我想知道为什么在 jena 3.2.0 中使用 tdbload2 时会引发 RiotException?
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" .
我不确定 Jena 2.12.1 版,但我发现 Jena 3.2.0 版需要使用文件扩展名指定内容类型。
尝试将输入文件从“./freebase-rdf-latest”重命名为“./freebase-rdf-latest.nt”。