Hi I prepared, hopefully in a reproductible way, a TDB instance with a quad having a null subject ( read below ) , and tdbdump fails :
Exception in thread "main" java.lang.UnsupportedOperationException: Quad: subject cannot be null at com.hp.hpl.jena.sparql.core.Quad.<init>(Quad.java:62) at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:161) at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:152) at com.hp.hpl.jena.tdb.lib.TupleLib.access$100(TupleLib.java:44) at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:86) at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:82) at org.apache.jena.atlas.iterator.Iter$4.next(Iter.java:323) at org.apache.jena.atlas.iterator.IteratorCons.next(IteratorCons.java:97) at org.apache.jena.riot.system.StreamOps.sendQuadsToStream(StreamOps.java:143) at org.apache.jena.riot.writer.NQuadsWriter.write$(NQuadsWriter.java:63) at org.apache.jena.riot.writer.NQuadsWriter.write(NQuadsWriter.java:46) at org.apache.jena.riot.writer.NQuadsWriter.write(NQuadsWriter.java:92) at org.apache.jena.riot.RDFDataMgr.write$(RDFDataMgr.java:1331) at org.apache.jena.riot.RDFDataMgr.write(RDFDataMgr.java:1205) at org.apache.jena.riot.RDFDataMgr.write(RDFDataMgr.java:1195) at tdb.tdbdump.exec(tdbdump.java:50) 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.tdbdump.main(*tdbdump*.java:32) Actually the bad quad has all null, except the predicate that is *rdfs:rest* . Certainly some RDF list was badly constructed by my code, but I have 2 questions: 1. how can I avoid in the first place to insert such bad stuff in TDB ? 2. are there ways to "purge" the database of the bad stuff ? Actually this is just test data in my case, but the question is important anyway. -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui
