The iterator is just a wrapper around Iterator<Quad> iter = ds.find(Node. ANY, Node.ANY, Node.ANY, Node.ANY); which allows me to print progress information to the console.
From: Andy Seaborne <[email protected]> To: [email protected] Date: 08/10/2012 04:32 AM Subject: Re: Quad: subject cannot be null On 09/08/12 20:38, Simon Helsen wrote: > Hmmm, and now I ran into the following when I was simply trying to dump > all the quads in a given index (for analysis): > > Caused by: java.lang.UnsupportedOperationException: Quad: subject cannot > be null There are no clues in the stacktrace. A previous corrupted DB is possible. null in the subject usually means a index has a NodeId but it is not in the node table due to not flushing or an aborted operation/test of some kind. > > at com.hp.hpl.jena.sparql.core.Quad.<init>(Quad.java:60) > at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:162) > at com.hp.hpl.jena.tdb.lib.TupleLib.quad(TupleLib.java:153) > at com.hp.hpl.jena.tdb.lib.TupleLib.access$100(TupleLib.java:45) > at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:87) > at com.hp.hpl.jena.tdb.lib.TupleLib$4.convert(TupleLib.java:83) > at org.openjena.atlas.iterator.Iter$4.next(Iter.java:301) > at > org.openjena.atlas.iterator.IteratorCons.next(IteratorCons.java:94) > at > com.ibm.team.jfs.rdf.diagnosticstool.RdfDiagnostics$2.next(RdfDiagnos > tics.java:918) What's this code? It looks like it's your own iterator. > at > com.ibm.team.jfs.rdf.diagnosticstool.RdfDiagnostics$2.next(RdfDiagnos > tics.java:1) > at org.openjena.atlas.iterator.Iter.sendToSink(Iter.java:572) > at org.openjena.riot.out.NQuadsWriter.write(NQuadsWriter.java:45) > at org.openjena.riot.RiotWriter.writeNQuads(RiotWriter.java:46) > at > com.ibm.team.jfs.rdf.diagnosticstool.internal.tdb.TdbRdfDiagnostics.d > umpToFile(TdbRdfDiagnostics.java:220) > at > com.ibm.team.jfs.rdf.diagnosticstool.RdfDiagnostics.execute(RdfDiagno > stics.java:267) > at > com.ibm.team.jfs.rdf.diagnosticstool.RdfDiagnostics.main(RdfDiagnosti > cs.java:223) > ... 5 more > > And unfortunately, this too was not reproducible, i.e. when I ran the dump > operation again, things worked fine. In this particular case, I was > working purely with non-tx (but 2.7.3). > > I'll see what I can find out further, but these are major instabilities > compared to 2.7.1 which will prohibit our adoption of 2.7.3. So, we'll > stick to 2.7.1 for now I'll point out (again!) that pre-releases of code are always available for testing. Also, maybe use [email protected]? Andy > > thanks > > Simon
