- From: Stephen Rhoads <rhoadsnyc@mac.com>
- Date: Sat, 24 Apr 2004 16:50:24 -0400
- To: www-rdf-logic@w3.org, protege-owl@smi.stanford.edu
Folks,
There are various parts of my (Media Publishing and Distribtuion)
ontology where I would like to avoid the requirement of "multiple
typing". The objective here is to simplify the ontology and user
interfaces which employ it.
A user of the ontology should be able to simply declare an Individual
to be a Song, Album, Movie, MovieSeries, TelevisionProgram,
TelevisionSeries, RadioProgram or RadioSeries. Other important class
membership should be inferred by property values. A TelevisionSeries,
for example, could have "hasSeriesType" of "SeasonalSeries" and thus be
a member of that Class. A Movie could have "hasGenre" of "Drama" and
thus be a Drama.
The problem is that I can't see how to model this without landing in
OWL Full. Take the following example:
A sample Class hierarchy:
Music
ElectronicMusic
PopMusic
RockMusic
ClassicRockMusic
GlamRockMusic
GrungeRockMusic
And sample Class description:
<owl:Class rdf:ID="ClassicRockMusic">
<rdfs:subClassOf rdf:resource="#RockMusic"/>
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasGenre"/>
<owl:hasValue rdf:resource="#ClassicRockMusic"/>
</owl:Restriction>
</owl:equivalentClass>
</owl:Class>
In other words, if the Individual (a Song or Album) hasGenre
ClassicRockMusic, then it *is* ClassicRockMusic (or at least a member
of a Restriction Class with the same class extension). But (I think)
this puts the ontology into OWL Full because ClassicRockMusic is being
treated as both a Class and an Individual (I can confirm that Racer
will not accept the ontology from Protege because it is "not in OWL
DL").
Thoughts? Solutions?
--- Stephen
Received on Saturday, 24 April 2004 16:50:37 UTC