我正在尝试复制一个DBpedia来做一个实验。
我从http://downloads.dbpedia.org/2015-10/core/下载DBpedia的最新数据集,并将它们存储在目录dbp_201510/中。
我尝试使用tdbloader2加载数据集。
tdbloader2 --loc tdb dbp_201510/*但是,我收到以下错误。
ERROR [line: 2, col: 145] Illegal character in IRI (codepoint 0x60, '`'): <http://www4.wiwiss.fu-berlin.de/gutendata/resource/people/[`]...>
org.apache.jena.riot.RiotException: [line: 2, col: 145] Illegal character in IRI (codepoint 0x60, '`'): <http://www4.wiwiss.fu-berlin.de/gutendata/resource/people/[`]...> at org.apache.jena.riot.system.ErrorHandlerFactory$ErrorHandlerStd.fatal(ErrorHandlerFactory.java:136)
at org.apache.jena.riot.lang.LangEngine.raiseException(LangEngine.java:165)
at org.apache.jena.riot.lang.LangEngine.nextToken(LangEngine.java:108)
at org.apache.jena.riot.lang.LangNTriples.parseOne(LangNTriples.java:71)
at org.apache.jena.riot.lang.LangNTriples.runParser(LangNTriples.java:58)
at org.apache.jena.riot.lang.LangBase.parse(LangBase.java:42)
at org.apache.jena.riot.RDFParserRegistry$ReaderRIOTLang.read(RDFParserRegistry.java:176)
at org.apache.jena.riot.RDFDataMgr.process(RDFDataMgr.java:861)
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.CmdNodeTableBuilder.exec(CmdNodeTableBuilder.java:165)
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 org.apache.jena.tdb.store.bulkloader2.CmdNodeTableBuilder.main(CmdNodeTableBuilder.java:85)此外,我还收到了很多警告,如下所示。
WARN [line: 92881, col: 1 ] Bad IRI: <http://dbpedia.org/resource/Ranma_½> Code: 56/COMPATIBILITY_CHARACTER in PATH: TODO
WARN [line: 92882, col: 1 ] Bad IRI: <http://dbpedia.org/resource/Ranma_½> Code: 47/NOT_NFKC in PATH: The IRI is not in Unicode Normal Form KC.我使用Apache Jena 3.0.1。
我正在寻找一种方法来避免这个错误。另外,有没有一种好的方法可以在没有警告的情况下加载。
我对以前版本的DBpedia (http://downloads.dbpedia.org/2015-04/core/)做了同样的事情,加载成功完成,没有任何警告和错误。
发布于 2016-04-06 19:36:05
在加载之前,数据应该是合法的。0x60,'`‘在URI中是非法的。也许你想用%60替换它(然后它就是一个不同的URI)。
在许多大型数据集中,数据并不完美。在加载之前使用"riot --validate“进行检查是值得的。
这些警告只是警告,而不是错误,表明UTF-8不是标准的首选格式,可能会在以后导致匹配问题。看起来1/2可以用UTF-8以不同的方式编写。
(我相信DBpedia团队会很高兴得到一些反馈。)
https://stackoverflow.com/questions/36429984
复制相似问题