- 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