- From: Dave Reynolds <der@hplb.hpl.hp.com>
- Date: Fri, 10 Jan 2003 10:10:40 +0000
- To: seth@robustai.net
- CC: jena-dev@yahoogroups.com, www-rdf-interest@w3.org
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