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

Reply via email to