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



Reply via email to