W3C home > Mailing lists > Public > www-rdf-logic@w3.org > March 2006

Re: Mixed Object and Object Properties Hierarchies

From: Pierre-Antoine Champin <swlists-040405@champin.net>
Date: Fri, 24 Mar 2006 14:41:50 +0100
Message-ID: <4423F71E.9030405@champin.net>
To: Anne van Rossum <anne4theweb@yahoo.com>
CC: www-rdf-logic@w3.org

I know OWL better than DAML+OIL, but I trust what I will write is true
in the latter.

Any object property a corresponding concepts, called restriction in OWL,
which can be expressed as

<owl:Restriction rdf:ID="Child">
  <owl:onProperty     rdf:resource="#hasParent" />
  <owl:someValuesFrom rdf:resource="#Animal" />
</owl:Restriction>

In english: Child is the set of objects having at least one parent who
is an Animal.
>From the domain of hasParent, it follows that Child is a subclass of
Animal (only Animals can have parents).

Provided that you can define the inverse property of hasParent (which
you can in OWL, I think you can also in DAML+OIL), you can as easily
re-construct the concept of Parent as follow

<owl:Restriction rdf:ID="Parent">
  <owl:onProperty>
    <owl:ObjectProperty>
      <owl:inverseOf rdf:resource="#hasParent" />
    </owl:ObjectProperty>
  </owl:onProperty>
  <owl:someValuesFrom rdf:resource="#Animal" />
</owl:Restriction>

It is hence possible to define two concepts for every object property.
Note that the other way is not possible. You can not, in OWL, enforce
every givesObject arc pointing to a Present to be also a givesPresent arc.

So when this is possible, you should IMHO rather define a property than
a class.
It is due, in my understanding, to the fact that those concepts are mere
"roles" : they do not intrinsically characterize an object, but rather
the relation of that object to another one. You are not only "a parent",
but "the parent OF somebody else". A flower is intrinsically not "a
present", but can become "a present FROM somebody" when given (and a
present TO somebody, for that matter, but this is not captured by the
givesPresent property...)

  pa



Anne van Rossum wrote:
> Good afternoon,
> 
> Please redirect me if I'm posting in the wrong list. At
> http://www.daml.org/2001/03/daml+oil-ex the following text is given in
> the example file:
> 
>     <daml:ObjectProperty rdf:ID="hasParent">
> 
>           <rdfs:domain rdf:resource="#Animal"/>
> 
>           <rdfs:range rdf:resource="#Animal"/>
> 
>         </daml:ObjectProperty>
> 
> *Observation*: The concept "Parent" is not reflected in the ontology,
> while the property "hasParent" does have something to do with the
> concept "Parent". The property "hasParent" is not derived from something
> like "hasProperty" and "Parent". This is because object properties and
> objects are maintained as disjoint sets.
> 
> *Example*: Suppose an ontology for a visual language. In that language
> "givesObject" can be represented by a certain picture. The property
> "givesPresent" should subsequently be derived from "givesObject" and
> "Present".
> 
> *Recapitulating*: In general there are many situations in which
> properties form a hierarchy together with objects. How to represent
> combinations of object and property hierarchies in DAML+OIL?
> 
> Dear regards,
> 
> Andy
> 
Received on Friday, 24 March 2006 13:42:02 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:52:54 GMT