- From: Pierre-Antoine Champin <swlists-040405@champin.net>
- Date: Fri, 24 Mar 2006 14:41:50 +0100
- 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 UTC