- From: Heiko Gottschling <gottschl@in.tum.de>
- Date: Mon, 8 Dec 2003 13:39:14 +0100
- To: www-rdf-interest@w3.org
In OWL, is there a way of specifying that a class may only have an enumerated
set of subclasses, e.g. 'Fruit' may only be subclassed by 'Apple' and
'Banana'?
What I've come up with is this:
<owl:Class rdf:ID="NonAppleBanana">
<owl:complementOf>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Apple" />
<owl:Class rdf:about="#Banana" />
</owl:unionOf>
</owl:Class>
</owl:complementOf>
</owl:Class>
<owl:Restriction rdf:about="#NonAppleBanana">
<owl:onProperty rdf:resource="&rdfs;subClassOf" />
<owl:allValuesFrom>
<owl:Class>
<owl:complementOf rdf:resource="#Fruit" />
</owl:Class>
</owl:allValuesFrom>
</owl:Restriction>
Which says that anything which is not an apple or a banana may subclass only
such things which are not fruit...
The catch here is that the property being restricted is the RDFS 'subClassOf'
property...
What do you think?
Heiko
PS I am not looking for the 'oneOf' constructor, which restricts the
individuals belonging to a class rather than its subclasses
Received on Monday, 8 December 2003 07:45:39 UTC