On 18/07/11 19:47, Benson Margulies wrote:
Asking a tdb model to list reified statements, I see two:

urn:jug:1a2b3c#rr1=>[urn:jug:global#per1,
http://jug.basistech.com/2011/01/rex-entity#coOccurInSentence,
urn:jug:global#per2]
urn:jug:2b3c4f#rr1=>[urn:jug:global#per2,
http://jug.basistech.com/2011/01/rex-entity#hasSibling,
urn:jug:global#per2]

i then call removeReification on [urn:jug:global#per2,
http://jug.basistech.com/2011/01/rex-entity#hasSibling,
urn:jug:global#per2], and BOTH reifications are deleted.

Does this make any sense, or is it time for a JIRA?

Could you reduce it to a test case with data?

TDB has it's own reification which is supposed to be equivalent to Standard (com.hp.hpl.jena.sparql.core.Reifier2) which works by using only information stored in the base data.

Chris and I think (or at least at the time!) this is the better long-term future for reification. Come Jena3, we might put reification in only in the Resource API, remove from the graph/storage layer. That's what Reifier2 is supposed to do.

Your use case is possible one of the few where reification makes sense - many of the rest of the usages for provenance work on more on one triple so reification becomes unmanageable.

The Jena reification mechanisms don't always work out very well because they depend on state in the reifier, which is bad on persistence. Reifier2 is an attempt to have stateless but useful reification handling.

        Andy

Reply via email to