W3C home > Mailing lists > Public > public-owl-dev@w3.org > April to June 2005

RE: relate subclasses to other subclasses

From: Hans Teijgeler <hans.teijgeler@quicknet.nl>
Date: Tue, 17 May 2005 09:46:21 +0200
Message-Id: <200505170746.j4H7kPp4026472@vmx80.multikabel.net>
To: <ewallace@cme.nist.gov>, <public-owl-dev@w3.org>
Cc: <wiegand@cs.wisc.edu>

Hi Evan,

I am a newcomer in the world of OWL, and I don't recognize the notation
method you used. Can you tell me what that is, and where I can find an
explanation of it? Would you be so kind to also represent it in RDF/XML?



-----Original Message-----
From: public-owl-dev-request@w3.org [mailto:public-owl-dev-request@w3.org]
On Behalf Of ewallace@cme.nist.gov
Sent: maandag 16 mei 2005 20:36
To: public-owl-dev@w3.org
Cc: wiegand@cs.wisc.edu
Subject: Re: relate subclasses to other subclasses


The main expressivity of OWL is in saying that instances of classes of one
type have (or can have) certain relationships with certain other class
types.  The following OWL abstract syntax says what you want about the likes
of men and women without creating different subtypes of the likes property.

It also doesn't constrain the domain or range of likes.  Leaving this
unrestricted makes the property more reusable. Even if you intend only to
model autos and people, you still may want to make assertions about people
liking other people without having to create a new property to do so.

 Class(a:Automobile partial)
 Class(a:Ford partial 
 Class(a:Honda partial 
 Class(a:Man partial 
   restriction(a:likes someValuesFrom (a:Mercedes))
   restriction(a:likes someValuesFrom (a:Honda)))  Class(a:Mercedes partial 
 Class(a:Person complete 
   unionOf(a:Man a:Woman))
 Class(a:Woman partial 
   restriction(a:likes someValuesFrom (a:Ford))
   restriction(a:likes someValuesFrom (a:Honda)))



Nancy Wiegand wrote:
>In general, I want to formally state in OWL that the subclasses from 
>one class have a relationship with some of the subclasses of another 
>class. Suppose men and women are subclasses of people. Also, makes of 
>cars are subclasses of cars. I want to state that men "like" Hondas and 
>Mercedes and women "like" Hondas and Fords. (Note, for simplicity, I'm 
>making this example up!)
>Do I have to model this by including an anonymous subclass in the 
>subclass definition of men that has onProperty restrictions to Hondas and
.And, do I have to make separate relationships (ObjectProperties) to Hondas
>and Mercedes? example:
><owl:Class rdf:ID= "Men">
>   <rdfs:subClassOf rdf:resource= "#People"/>
>   <rdfs:subClassOf>                                  {anonymous subclass}
>       <owl:Restriction>
>           <owl:onProperty rdf:resource="menLikeHondas"/>
>           <owl:minCardinality rdf:dataType="&xsd:nonNegativeInteger">
>                1 </minCardinality>
>       </owl:Restriction>
>       <owl:Restriction>
>           <owl:onProperty rdf:resource="menLikeMercedes"/>
>           <owl:minCardinality rdf:dataType="&xsd:nonNegativeInteger">
>                1 </minCardinality>
>       </owl:Restriction>
>   <rdfs:subClassOf>
>Is there another way to express what I want? This seems rather 
>Also, if the above is the way to model this, then, I don't like having 
>to define so many relationships ("menLikeX") but would rather use a 
>general relationship, say an inherited general "likes" relationship 
>between people and cars. Is that possible?


Evan K. Wallace
Manufacturing Systems Integration Division NIST ewallace@nist.gov
Received on Tuesday, 17 May 2005 11:46:33 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:58:13 UTC