- From: Gary Ng <Gary.Ng@networkinference.com>
- Date: Fri, 7 May 2004 10:48:48 -0700
- To: "Stephen Rhoads" <rhoadsnyc@mac.com>
- Cc: <www-rdf-logic@w3.org>
Forgotten to add, Why not just use someValuesFrom instead of hasValue? That would still be in DL. And also you get the benefit that Anything that hasGenre any subclass of ClassicRockMusic would also be classified as a ClassicRockMusic. G -----Original Message----- From: www-rdf-logic-request@w3.org [mailto:www-rdf-logic-request@w3.org] On Behalf Of Stephen Rhoads Sent: 07 May 2004 07:15 To: www-rdf-logic@w3.org Subject: Re: Inferring Class Membership w/o OWL Full? 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 13:50:28 UTC