On 01/09/15 19:37, Patrick Hoeffel wrote:
In looking at Jena source code it is clear that Jena natively supports Triples and Quads 
throughout the persistence and query layers. I was recently asked if Jena could support 
the notion of a Quint, and I didn't know the answer. I do see some use of Node[] in 
various places in the source, suggesting that "beyond-quads" might have been 
thought about, but it really isn't something you hear much talk of, especially when a 
simple reification can solve the problem. Really, the only reason to consider a quint 
over reification is purely for raw performance, and that is precisely the use case that 
is driving my question. I have a very large graph application with a specific need to 
extend the triple to contain qualifying information, and from what research I've been 
able to find, it seems to indicate that a quint will perform better than a reified quad 
or triple.


(in addition to Stian's answer - especially the temporal aspects)

"could support" - yes
"does support" - no

There is no assumption that just because there is a reified statement is in the data.

Some systems store a unique id for every triple or quad and that the quad is asserted. Quints usually only have the case where it is in the data as well reified. If used with time, that gets very messy.

And what happens is that quad is added twice? Buy different people? Which provenance applies if there is only one quint.

Another thing about reification is that it can be partial: the data only contains

<#reif1> rdf:subject <http://example/r> .
<#reif1> rdf:predicate <http://example/prop> .

and is used to say someone made a statement but you don't know the object (yet?).

In the past, Jena has had some quite complicated reification support. Being unusual and not used much, it was costly in terms of dev overhead and performance and storage space. Hence, removing from the core system.

What could be done is a specialised (compact) tables for complete reifications but that isn't in the codebase.

(early SPARQL grammars even had syntax for reificiation!)

        Andy




Thanks for any insight you may be able to offer,

Patrick Hoeffel
Software Engineer
Intelligent Software Solutions (www.issinc.com<http://www.issinc.com>)



Reply via email to