Re: Interpretation of RDF reification

From: Chris Dollin <kers@hplb.hpl.hp.com>
Subject: Re: Interpretation of RDF reification
Date: Thu, 23 Mar 2006 16:24:18 +0000

> 
> On Thursday 23 March 2006 15:44, Peter F. Patel-Schneider wrote:
> 
> > Not really.  OWL in RDF gives you much more than specialized relations.
> > Much of the power of OWL comes from syntax that is more than just single
> > relations.  It so happens that it is possible to embed OWL in RDF in a
> > certain manner.  (This is not always possible, by the way, and OWL is very
> > close to the maximum expressiveness that can be so embedded in RDF.)
> 
> Could you articulate which bits of OWL semantics are /more/ than the
> semantics given by the meanings of the OWL predicates and classes?

>From 
OWL Web Ontology Language
Semantics and Abstract Syntax
W3C Recommendation 10 February 2004 
Section 5

available at http://www.w3.org/TR/owl-semantics/rdfs.html

There is a table that reads something like

Conditions on OWL restrictions

If 						then x in IOR, y in IOC union IDC, p in IOOP union IODP, and CEXTI(x) =

<x,y> in EXTI(SI(owl:allValuesFrom))) and
<x,p> in EXTI(SI(owl:onProperty))) 		{u in IOT | <u,v> in EXTI(p) implies v in CEXTI(y) }

<x,y> in EXTI(SI(owl:someValuesFrom))) and
<x,p> in EXTI(SI(owl:onProperty))) 		{u in IOT | \x{2203} <u,v> in EXTI(p) such that v in CEXTI(y) }

If 						then x in IOR, y in IOT union LVI, p in IOOP union IODP, and CEXTI(x) =
<x,y> in EXTI(SI(owl:hasValue))) and
<x,p> in EXTI(SI(owl:onProperty))) 		{u in IOT | <u, y> in EXTI(p) }

If 						then x in IOR, y in LVI, y is a non-negative integer, p in IOOP union IODP, and CEXTI(x) =
<x,y> in EXTI(SI(owl:minCardinality))) and
<x,p> in EXTI(SI(owl:onProperty))) 		{u in IOT | card({v  in  IOT  union  LV : <u,v> in EXTI(p)}) <= y }

<x,y> in EXTI(SI(owl:maxCardinality))) and
<x,p> in EXTI(SI(owl:onProperty))) 		{u in IOT | card({v  in  IOT  union  LV : <u,v> in EXTI(p)}) >= y }

<x,y> in EXTI(SI(owl:cardinality))) and
<x,p> in EXTI(SI(owl:onProperty))) 		{u in IOT | card({v  in  IOT  union  LV : <u,v> in EXTI

You will notice that these semantic conditions are not on particular
OWL predicates and classes but are instead on combinations of triples.

> > > So if you take the relation owl:inverseOf then this is just an [RDF]
> > > relation.
> >
> > Well, sure, owl:inverseOf is *just* an RDF property, in RDF.  In OWL, on
> > the other hand, owl:inverseOf is a special property - it has a extra
> > meaning provided by the OWL semantics.
> >
> > > But it is linked to the following well known rule:
> > >
> > > { ?r1 owl:inverseOf ?r2 .
> > >    ?a ?r1 ?b .  } => { ?b ?r2 ?a . } .
> >
> > Not all all.  There are *no* rules in RDF, nor in OWL.  The above is not
> > even legal RDF syntax, nor legal OWL syntax.
> 
> The OWL defining document isn't written on OWL, but that doesn't stop
> it defining the OWL semantics.

Sure, but so what?

> When I introduce an predicate into my RDF -- say, kers:birthDate -- I
> can explain what that predicate /means/ to people who want to use it.
> I can't state that meaning in RDF, I can't state it in OWL, I can't teach 
> the machine what it means - but it's useful because it has that meaning,
> and I can say that the statement `kers:Chris kers:birthDate 1-Jan-2006`
> is false. The /RDF/ semantics doesn't do that, but it doesn't stop me
> doing it.

Yes, the RDF semantics doesn't do that, and the RDF semantics is all there
is to RDF itself.  You are adding your own intended meaning to the things
you write.  There is nothing wrong with this, in fact, it is pretty much
required to proceed at all.  However, you do need to know that your
intended meaning is not part of RDF, and that others who read your RDF are
not obligated to put your intended meaning on it.

> -- 
> Chris "x.f(y) == f(x, y) == (x, y).f" Dollin
> The shortcuts are all full of people using them.


peter

Received on Thursday, 23 March 2006 16:45:21 UTC