[
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
|