Re: Inferring Class Membership w/o OWL Full?

Taking subproperties of rdf:type is not permitted in OWL DL.
This design pattern may, or may not, be sensible in OWL Full.
It's certainly thinkable.



Jeremy

Stephen Rhoads wrote:

> 
> I realize that everyone is probably beat from that "Classes as Values" 
> discussion in the SWBP, but ... no thoughts on this?
> 
> Would it be unthinkable to create a subPropertyOf rdf:type?  Something 
> like ...
> 
> <owl:ObjectProperty rdf:ID="hasGenre">
>    <rdfs:subPropertyOf rdf:resource="&rdf;type"/>
> </owl:ObjectProperty>
> 
> <ex:Song rdf:ID="PurpleHaze">
>    <ex:hasGenre rdf:resource="&ex;ClassRockMusic"/>
> </ex:Song>
> 
> Thus, the Individual "PurpleHaze" is an instance of both Song and 
> ClassicRockMusic.
> 
> Note that the intent is state class membership, not to say that the 
> "subject" of the Song is a concept denoted by a Class (as in the 
> "Classes as Values" paper).
> 
> --- Stephen
> 
> 
> On Apr 24, 2004, at 4:50 PM, Stephen Rhoads wrote:
> 
>>
>> 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 Friday, 7 May 2004 10:45:15 UTC