W3C home > Mailing lists > Public > public-owl-dev@w3.org > October to December 2008

Re: Mapping to RDF Graphs and reification

From: Pat Hayes <phayes@ihmc.us>
Date: Wed, 3 Dec 2008 11:56:44 -0600
Cc: public-owl-dev@w3.org
Message-Id: <DA504563-C455-461A-A0E3-21E6C38BD2A1@ihmc.us>
To: Bijan Parsia <bparsia@cs.man.ac.uk>, Jeff Thompson <jeff@thefirst.org>

On Dec 3, 2008, at 11:03 AM, Bijan Parsia wrote:

>
> On 3 Dec 2008, at 16:49, Jeff Thompson wrote:
>
>> In mapping OWL to RDF graphs, to make an annotation on a triple,  
>> the triple
>> is reified into separate subject, predicate and object assertions
>> similar to reification in RDF.
>>
>> _:x rdf:type owl:Annotation
>> _:x owl:subject T(y)
>> _:x owl:predicate T(AP)
>> _:x owl:object T(av)
>>
>> But Tim Berners-Lee is still saying that reification in RDF is  
>> broken.
>
> Tim is hardly the only one.

True, but  "broken" is too simplistic a term to really get at the  
heart of the problem. RDF reification is (a) undeniably awkward and  
ugly but in any case, and more importantly, (b) does not satisfy all  
the potential uses that people want to make of it. If you are one of  
those who want it go one way when it in fact goes the other, you will  
call it 'broken'.  If we had defined the semantics of reification the  
other way, then Tim would be happier and Bijan (and many others) would  
say it was broken. There are simply divergent and conflicting ideas of  
what reification ought to be, and no one solution can accommodate them  
all.

The main split (there are others less important) is between thinking  
of reification as a kind of quotation, a meta-theoretic description of  
the syntax of the reified triple - what Tim has always had in mind, I  
believe - and thinking of it instead as a description of what the  
reified triple is asserting about the world, basically of the  
proposition expressed by the triple.  Do you want the three objects in  
the reification to denote the symbols of the original triple, or the  
things that those symbols denote?  The classical terminology is a  
choice between a "de dicto"  and a "de re" reading, and the fact this  
is Greek gives you some idea of how old this discussion is. The moral  
of about two millennia of thought on this topic is that both readings  
make sense, and you can have either one, but you most decidedly cannot  
have both at the same time. We had to choose. I chose the second  
reading, the "de re", for the reasons that Bijan cites. It means that  
the URIs in the object position of the reification mean exactly the  
same as they do in the original triple. Taking the other route might  
have made reification less broken for Tim and others, but it would  
have broken the rest of RDF; in fact it would have destroyed it,  
because there wouldn't have been a single notion of the 'meaning' of  
any URI: it would have depended on where you put it (in an "ordinary"  
triple or inside a reification... but reifications are ordinary  
triples, blech...) and so it would have been effectively impossible to  
give a coherent semantics to the language. So, reification in RDF is  
not 'broken', exactly, but it might well not correspond to what you  
thought it should, if you were wanting it to be a way to attach meta- 
data to a triple considered as a syntactic object.  Note however that  
the subject of the reification triples, even if it is a bnode, does  
denote the original triple, so you do have a handle to attach  
properties of the triple to.

>
>
>> See this message from last year:
>> http://lists.w3.org/Archives/Public/semantic-web/2007Jan/0088.html
>>
>> If reification in RDF is broken, and OWL adopts the same method for
>> quoting a triple so that it can be annotated, does OWL inherit
>> the same problems Tim has been talking about for all these years?
>
> Tim's problem is a bit odd as he seems to think that there is a Use/ 
> Mention problem with the objects of reification statements.

See above.

> I.e., compare:
> 	s p o.
>
> and
> 	_:x owl:subject s.
>
> From what I can tell, he's objecting to the fact that those "s"s are  
> at the same level, i.e., have the same referent (in any model).
>
> Personally, I think this is the least interesting problem with  
> reification, if it is a problem at all :)

Its a problem for some, a non-problem for others. Having the other  
convention would be similar, except different people would be  
complaining.

>
>
> It's definitely not a problem for the non-Full versions of OWL since  
> all this stuff is mere syntax. The way we're using it, we typically  
> *want* the s to denote something in the domain, and, in fact, to  
> denote the same object.
>
> Consider:
> 	s p o
> 	not(s p o)
>
> (where the second is a negated triple). We want these to contradict.  
> The latter is serialized using the owl reification vocabulary.

Well, that stinks for other reasons. But I see why you do it, given  
that there isn't really any other way.

> So we want those ss, ps, and os to be talking about the same thing  
> at the same time.
>
> Thus, I don't think that's a problem.
>
> Hope this helps.

Ditto

Pat

>
>
> Cheers,
> Bijan.
>
>
>
>

------------------------------------------------------------
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 Wednesday, 3 December 2008 17:57:27 GMT

This archive was generated by hypermail 2.3.1 : Wednesday, 27 March 2013 09:32:56 GMT