Hi Andy,
Basekb dumps come from freebase dump and their data format is N-Triples RDF.
So for each basekb dump, it is uncompressed, attached a extension '.nt'
and then loaded into TDB.
But the tdbloader reports the following error:
15:19:22 ERROR riot :: [line: 309035, col: 135] Illegal
object: [INTEGER:5281023]
org.apache.jena.riot.RiotException: [line: 309035, col: 135] Illegal
object: [INTEGER:5281023]
at
org.apache.jena.riot.system.ErrorHandlerFactory$ErrorHandlerStd.fatal(ErrorHandlerFactory.java:136)
at
org.apache.jena.riot.lang.LangEngine.raiseException(LangEngine.java:163)
at
org.apache.jena.riot.lang.LangEngine.exceptionDirect(LangEngine.java:156)
at org.apache.jena.riot.lang.LangEngine.exception(LangEngine.java:149)
at
org.apache.jena.riot.lang.LangNTuple.checkRDFTerm(LangNTuple.java:126)
at
org.apache.jena.riot.lang.LangNTriples.parseOne(LangNTriples.java:78)
at
org.apache.jena.riot.lang.LangNTriples.runParser(LangNTriples.java:54)
at org.apache.jena.riot.lang.LangBase.parse(LangBase.java:42)
at
org.apache.jena.riot.RDFParserRegistry$ReaderRIOTLang.read(RDFParserRegistry.java:169)
at org.apache.jena.riot.RDFDataMgr.process(RDFDataMgr.java:859)
at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:687)
at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:666)
at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:654)
at
com.hp.hpl.jena.tdb.store.bulkloader.BulkLoader.loadTriples$(BulkLoader.java:130)
at
com.hp.hpl.jena.tdb.store.bulkloader.BulkLoader.loadDefaultGraph(BulkLoader.java:87)
at com.hp.hpl.jena.tdb.TDBLoader.loadDefaultGraph$(TDBLoader.java:260)
at com.hp.hpl.jena.tdb.TDBLoader.loadGraph$(TDBLoader.java:243)
at com.hp.hpl.jena.tdb.TDBLoader.loadGraph(TDBLoader.java:176)
at com.hp.hpl.jena.tdb.TDBLoader.load(TDBLoader.java:113)
at tdb.tdbloader.loadDefaultGraph(tdbloader.java:138)
at tdb.tdbloader.exec(tdbloader.java:108)
at arq.cmdline.CmdMain.mainMethod(CmdMain.java:102)
at arq.cmdline.CmdMain.mainRun(CmdMain.java:63)
at arq.cmdline.CmdMain.mainRun(CmdMain.java:50)
at tdb.tdbloader.main(tdbloader.java:52)
And then, I print the triple:
<http://www.neusoft.com/ontologies/2013/6/medicine#m.07_71>
<http://www.neusoft.com/ontologies/2013/6/medicine#medicine.drug.pubchem> 5281023
It should be that tdbloader can't decide on the type of the object.
There are also many triples like this.
Then I change the extension from '.nt' to '.n3' and then reload these
dumps.
This time tdbloader load all the dumps into the TDB store without
reporting any errors.
And I can query all triples from the TDB store.
But I don't know why tdbloader don't check these errors any more when
the extension is '.n3'.
Thank you very much.
Deyan Chen
Basekb dumps come from freebase dump and their data format is N-Triples RDF.
So for each basekb dump, it is uncompressed, attached a extension '.nt'
and then loaded into TDB.
But the tdbloader reports the following error:
15:19:22 ERROR riot :: [line: 309035, col: 135] Illegal
object: [INTEGER:5281023]
org.apache.jena.riot.RiotException: [line: 309035, col: 135] Illegal
object: [INTEGER:5281023]
at
org.apache.jena.riot.system.ErrorHandlerFactory$ErrorHandlerStd.fatal(ErrorHandlerFactory.java:136)
at
org.apache.jena.riot.lang.LangEngine.raiseException(LangEngine.java:163)
at
org.apache.jena.riot.lang.LangEngine.exceptionDirect(LangEngine.java:156)
at org.apache.jena.riot.lang.LangEngine.exception(LangEngine.java:149)
at
org.apache.jena.riot.lang.LangNTuple.checkRDFTerm(LangNTuple.java:126)
at
org.apache.jena.riot.lang.LangNTriples.parseOne(LangNTriples.java:78)
at
org.apache.jena.riot.lang.LangNTriples.runParser(LangNTriples.java:54)
at org.apache.jena.riot.lang.LangBase.parse(LangBase.java:42)
at
org.apache.jena.riot.RDFParserRegistry$ReaderRIOTLang.read(RDFParserRegistry.java:169)
at org.apache.jena.riot.RDFDataMgr.process(RDFDataMgr.java:859)
at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:687)
at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:666)
at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:654)
at
com.hp.hpl.jena.tdb.store.bulkloader.BulkLoader.loadTriples$(BulkLoader.java:130)
at
com.hp.hpl.jena.tdb.store.bulkloader.BulkLoader.loadDefaultGraph(BulkLoader.java:87)
at com.hp.hpl.jena.tdb.TDBLoader.loadDefaultGraph$(TDBLoader.java:260)
at com.hp.hpl.jena.tdb.TDBLoader.loadGraph$(TDBLoader.java:243)
at com.hp.hpl.jena.tdb.TDBLoader.loadGraph(TDBLoader.java:176)
at com.hp.hpl.jena.tdb.TDBLoader.load(TDBLoader.java:113)
at tdb.tdbloader.loadDefaultGraph(tdbloader.java:138)
at tdb.tdbloader.exec(tdbloader.java:108)
at arq.cmdline.CmdMain.mainMethod(CmdMain.java:102)
at arq.cmdline.CmdMain.mainRun(CmdMain.java:63)
at arq.cmdline.CmdMain.mainRun(CmdMain.java:50)
at tdb.tdbloader.main(tdbloader.java:52)
And then, I print the triple:
<http://www.neusoft.com/ontologies/2013/6/medicine#m.07_71>
<http://www.neusoft.com/ontologies/2013/6/medicine#medicine.drug.pubchem> 5281023
It should be that tdbloader can't decide on the type of the object.
There are also many triples like this.
Then I change the extension from '.nt' to '.n3' and then reload these
dumps.
This time tdbloader load all the dumps into the TDB store without
reporting any errors.
And I can query all triples from the TDB store.
But I don't know why tdbloader don't check these errors any more when
the extension is '.n3'.
Thank you very much.
Deyan Chen