W3C home > Mailing lists > Public > public-rdf-wg@w3.org > April 2011

Re: RDF-ISSUE-25 (Deprecate Reification)

From: Sandro Hawke <sandro@w3.org>
Date: Mon, 11 Apr 2011 13:06:26 -0400
To: Pat Hayes <phayes@ihmc.us>
Cc: RDF Working Group WG <public-rdf-wg@w3.org>
Message-ID: <1302541586.2180.79.camel@waldron>
On Mon, 2011-04-11 at 11:43 -0500, Pat Hayes wrote:
> On Apr 10, 2011, at 11:50 PM, Sandro Hawke wrote:
> 
> > On Sat, 2011-04-09 at 08:49 -0500, Pat Hayes wrote:
> >>> ] ISSUE-25 is about the RDF reification vocabulary, which is a
> >>> ] built-in vocabulary for reifying *statements*. You are talking 
> >>> ] about a common modeling practice in domain vocabularies for
> >>> ] reifying *relationships*. That has nothing to do with ISSUE-25.
> >>> 
> >>> Right, that was what I wanted to have explicitly clear. It's not the
> >>> idea or practice of reification that is to be deprecated but the
> >>> baked-in support for reifying binary relations.
> >> 
> >> No, really, you have this wrong. It IS the idea of reification that is
> >> being deprecated; and this device that you have mentioned, of encoding
> >> an n-ary relation using a bundle of binary 'role' relations, is NOT
> >> reification. The two things are distinct. Using the name of one to
> >> refer to the other is going to cause a lot of confusion. Reification
> >> is using RDF to *describe* other pieces of RDF. 
> > 
> > Pat, I'm a little confused here.   What I think William is saying sounds
> > right to me, so I don't know why you're calling it wrong.
> > 
> > If we have ternary relationship "showing", between a movie, a show-time,
> > and a theater, and we want to represent that in RDF, we have (as you've
> > both pointed out) several options.   If we have a lot of similar ternary
> > relations, we might choose a  generalized representation like this:
> > 
> > [ :ternaryRelation movie:showing;
> >   :op1 "The Sound of Music";
> >   :op2 "2011-04-11T12:40:00Z"^^xs:datetime;
> >   :op3 eg:SomeTheater ]
> > 
> > We could of course do something similar for any particular arity
> > relation.   If we did it for the 2-ary case it would look exactly like
> > 2004 RDF reification, wouldn't it?
> 
> No. Well, maybe it would LOOK like reification, but it would not BE reification. 

Hmmm, that's not where I was expecting you to draw the line.

> A reification of an RDF triple *describes the triple*. These constructions don't describe any RDF, they simply are ways to express in RDF (ie using only binary relations) an n-ary relationship. The resulting RDF does not refer to any RDF syntax, it is purely about the things like dates and theatres and movies. 

Let me try bisecting the space again:  Is it fine if I say

  [ :binaryRelation book:author
    :op1 "Herman Melville"
    :op2 "Moby-Dick"
  ]

I'm giving :binaryRelation/:op1/:op2 the obvious meanings.  That is,
this RDF graph containing three RDF triples is saying: there exists a
potential 3-way relationship between a 2-way relationship (author) and
two other entities (the strings "Herman Melville" and "Moby-Dick",
respectively).

Does that cause the same problems are RDF reification?

> By the way,this basic idea, of re-expressing n-ary relationships as bundles of binary relationships, often called 'roles', pre-dates RDF by about half a century. It has been widely used in linguistic modeling because it provides for sentences like "He did it at midnight, in the kitchen, with a knife, carefully, silently,...." where one can pour on additional qualifications seemingly for ever, without changing the essential logical form. The fact that is is always possible (well known to people like Guha and Ora and others) was one reason people were willing to settle on a binary format for RDF in the first place. Just to emphasize that there is nothing exotic going on here.

Well, I'm trying to find the line between this "nothing exotic" and
pariah reification. 

> > 
> > Now, William's example [1] was more like:
> > 
> > [ a movie:Showing;
> >   movie:title "The Sound of Music";
> >   movie:showtime "2011-04-11T12:40:00Z"^^xs:datetime;
> >   movie:theater eg:SomeTheater;
> > ]
> > 
> > ... but the difference between my two examples doesn't seem to me to
> > cross a bright line, where the first is the evil reification and the
> > second is recommended practice.  If you see a bright line there, could
> > you try to make it more clear for me what exactly it forbids?   
> 
> RDF reification is using a specialized RDF vocabulary (not an open-ended vocabulary) to describe the *syntactic form* of other RDF triples. It is RDF used as a meta-language for RDF. 

What if the RDF WG removes RDF reificaition from the specs, and the next
week someone comes along and defines it all over again, rdft:Statement,
rdft:subject, rdft:predicate, rdft:object.   

Would that raise the same dangers?   

   -- Sandro

> Pat
> 
> 
> 
> > Thanks.
> > 
> >     -- Sandro
> > 
> > [1] http://lists.w3.org/Archives/Public/public-rdf-wg/2011Apr/0232.html
> > 
> > 
> 
> ------------------------------------------------------------
> IHMC                                     (850)434 8903 or (650)494 3973   
> 40 South Alcaniz St.           (850)202 4416   office
> Pensacola                            (850)202 4440   fax
> FL 32502                              (850)291 0667   mobile
> phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
> 
> 
> 
> 
> 
> 
Received on Monday, 11 April 2011 17:06:40 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:25:41 GMT