OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] About OWL syntax

[ Lists Home | Date Index | Thread Index ]

Didier PH Martin wrote:

>Hi Jonathan,
>
>Jonathan said:
>In any case this is what you want:
>
><owl:Class rdf:ID="ConsumableThing">
>  <owl:subClassOf>
>     <owl:Restriction>
>	<owl:onProperty rdf:resource="#madeFromFruit" />
>     	<owl:allValuesFrom rdf:resource="#Fruit" />
>     </owl:Restriction>
>  </owl:subClassOf>
>  .... other property definition ....
></owl:Class>
>
>Didier replies:
>Thanks for the answer Jonathan, I wasn't aware we can do that.
>
>What is now confusing about the above statement is not the <owl:restriction>
>element, since this latter can be perceived as a restriction, a constraint,
>a limitation. It is more the element <owl:subClassOf> which suggest, well...
>a subclass. Instead this element contains a restriction on a property. I
>cannot say we have reached here readability and clarity summits :-)
>  
>
Let me clarify a few points, which hopefully will make this make sense :-)

First, an owl:Restriction defines a _class_ that is the result of the 
restriction on the property -- think of it as in some way a Property -> 
Class converter.

Second, the way OWL allows a class to be derived from multiple classes 
is with owl:subClassOf. The example suggests that the class being 
defined has more in the definition than the restriction hence the "...". 
If we are defining the class as *only* the restriction, we can simply do:

(note that I am defining a "ConsumableFruitThing" for this example)

<owl:Restriction rdf:ID="ConsumableFruitThing">
	<owl:onProperty rdf:resource="#madeFromFruit" />
     	<owl:allValuesFrom rdf:resource="#Fruit" />
</owl:Restriction>

but this doesn't capture the fact that this class also derives from a 
"ConsumableThing" class, hence we need to declare it this way:

<owl:Class rdf:ID="ConsumableFruitThing">
  <owl:subClassOf rdf:resource="#ConsumableThing" />
  <owl:subClassOf>
     <owl:Restriction>
	<owl:onProperty rdf:resource="#madeFromFruit" />
     	<owl:allValuesFrom rdf:resource="#Fruit" />
     </owl:Restriction>
  </owl:subClassOf>
</owl:Class>

does this make more sense?

Jonathan





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS