W3C home > Mailing lists > Public > www-rdf-interest@w3.org > August 2004

Re: Reification - whats best practice?

From: Eric Jain <Eric.Jain@isb-sib.ch>
Date: Wed, 25 Aug 2004 18:24:42 +0200
Message-ID: <412CBD4A.1080204@isb-sib.ch>
To: Bob MacGregor <macgregor@isi.edu>
CC: "'RDF interesting groupe'" <www-rdf-interest@w3.org>

Bob MacGregor wrote:
> Reification in RDF is basically a huge mistake. 

I disagree, see comments below.


> As you noted, storage space explodes. 

Only if implemented naively. Not much extra space is needed if 
reification is implemented by adding an identifier column to the 
statement table.


 > Furthermore,
> queries quickly become unreadable when using reification. 

This again is only true if your query language/engine does not directly 
support reification.

Example:

SELECT
   ?protein, ?location, ?date
WHERE
   [?protein rdf:type :Protein] AND
   ?s <- [?protein :encodedIn ?location] AND
   [?s :modified ?date]
USING
   'http://www.w3.org/1999/02/22-rdf-syntax-ns#' AS rdf,
   'urn:lsid:uniprot.org:ontology:'


> The right solution is to use contexts.  Contexts can be implemented 
> using quads instead of triples,
> or by using a scheme for encapsulating groups of statements, as is done 
> in the Triple system.

Contexts are an excellent idea, but for different use cases, in my 
opinion. It seems a bit problematic to go about creating lots of 
contexts for the sole purpose of describing individual statements.


> Meanwhile, representation of provenance data in RDF is 
> next-to-impossible from a practical standpoint.

Unfortunately you may be right here - few tools support reification 
well, at the moment.
Received on Wednesday, 25 August 2004 16:24:31 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:14:57 UTC