Re: [jena-dev] Re: Use cases for Reification in RDF Triplestores

Seth Russell wrote:
>
> >I presently have no idea how
> >to implement a reification API efficiently in an RDB system.
> >
> You could cover all bases in a record with 5 fields:  serial, subject,
> property, object, model.   

There are two issues with this. 

First, it imposes extra overhead on the normal, non reification, accesses which
we don't want - you need to filter the muliple statings (e.g. DISTINCT in the
case of an SQL store) which is an overhead. 

Second, Bob seemed to be asking if there was a solution in which getting the
reification (singleton in his case) of an already-retrieved statement did not
cost additional database queries. In the singleton case the reifying resource
itself can be part of the "triple" record (and is in Jena1). If there can be an
unbound number of reifications that trick isn't available.

To be fair, I was overstating the difficulty. Acceptable performance for most
uses is possible using a separate statementHash->reifiers table and if necessary
the special case where there is only one reification present could be made
efficient by caching the first one on the statement record and using overflow
tables to handle the 2-or-more cases. It's just a little ugly.

Dave

Received on Friday, 10 January 2003 05:10:52 UTC