- From: Hans Teijgeler <hans.teijgeler@quicknet.nl>
- Date: Tue, 17 May 2005 09:46:21 +0200
- 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? Thanks! Hans ===================================================== -----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 Nancy, 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. Ontology( Class(a:Automobile partial) Class(a:Ford partial a:Automobile) Class(a:Honda partial a:Automobile) Class(a:Man partial a:Person restriction(a:likes someValuesFrom (a:Mercedes)) restriction(a:likes someValuesFrom (a:Honda))) Class(a:Mercedes partial a:Automobile) Class(a:Person complete unionOf(a:Man a:Woman)) Class(a:Woman partial a:Person restriction(a:likes someValuesFrom (a:Ford)) restriction(a:likes someValuesFrom (a:Honda))) ObjectProperty(a:likes) ) 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 Mercedes? .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> ></owl:Class> > >Is there another way to express what I want? This seems rather >convoluted. > >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 Evan K. Wallace Manufacturing Systems Integration Division NIST ewallace@nist.gov
Received on Tuesday, 17 May 2005 11:46:33 UTC