- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Fri, 17 Mar 2006 15:51:45 -0500 (EST)
- To: hans.teijgeler@quicknet.nl
- Cc: semantic-web@w3.org
From: "Hans Teijgeler" <hans.teijgeler@quicknet.nl> Subject: RE: OWL Web Ontology Language Date: Fri, 17 Mar 2006 19:50:21 +0100 > Hi Peter, > > At the risk of becoming a nuisance I want to ask you for some further > clarifications. Please see below. > > Regards, > Hans > > -----Original Message----- > From: Peter F. Patel-Schneider [mailto:pfps@research.bell-labs.com] > Sent: Friday, March 17, 2006 17:40 > To: hans.teijgeler@quicknet.nl > Cc: semantic-web@w3.org > Subject: Re: OWL Web Ontology Language > > From: "Hans Teijgeler" <hans.teijgeler@quicknet.nl> > Subject: RE: OWL Web Ontology Language > Date: Thu, 16 Mar 2006 23:27:39 +0100 > > > Hi Peter, > > ======================================================= > [HT1] > > What do you understand when someone tells you that Ford produces > > Mustangs? They produce also other models, they may or may not > > outsource all or part (most "US" products come from China), but one > > thing is certain: Ford produces Mustangs, one way or the other. > > [PFPS1] > Well, is Ford the *only* manufacturer of Mustangs? If all you want to say > is that Ford produces some Mustangs, then you probably want > > ObjectProperty(manufactures inverseOf(manufactured-by)) > > Individual(Ford value(manufactures(Individual(type(Mustang))))) > > Or if you want to say that Ford *might* produce some Mustangs, then you > probably want > > [Yes, I did mean to say nothing here.] > > [HT2] > When I read this well you state that Ford manufactures A Mustang, not many > Mustangs. Ford manufactures members of the class Mustang, has done so and > will do so, and in this context it is unimportant whether others do as well. This says that Ford manufactures some Mustang. Ford may well manufacture many Mustangs - this certainly doesn't deny that. > [HT1] > > Forgive me my ignorance: what do you mean with 'partial'? I scanned > > through the W3C Recommendations but could not find it. > > [PFPS1] > Here is an extract from OWL S&AS on 'partial': > > >>>>>>>>>>>>>>>>>>>>>>>>>>> > 2.3.1. OWL Lite Axioms > 2.3.1.1. OWL Lite Class Axioms > > In OWL Lite class axioms are used to state that a class is exactly > equivalent to, for the modality complete, or a subclass of, for the modality > partial, the conjunction of a collection of superclasses and OWL Lite > Restrictions. It is also possible to indicate that the use of a class is > deprecated. > > axiom ::= 'Class(' classID ['Deprecated'] modality { annotation } { super } > ')' > modality ::= 'complete' | 'partial' > > [...] > > 2.3.2. OWL DL Axioms > 2.3.2.1. OWL DL Class Axioms > > The OWL DL abstract syntax has more-general versions of the OWL Lite class > axioms where superclasses, more-general restrictions, and boolean > combinations of these are allowed. Together, these constructs are called > descriptions. > > axiom ::= 'Class(' classID ['Deprecated'] modality { annotation } { > description } ')' > modality ::= 'complete' | 'partial' > >>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > [HT2] > In the W3C Recommendation on RDF Schema the understanding of RDF Semantics > was called "daunting". The understanding of OWL S&AS to me is daunting as > well. I am simply not clever enough for that. So please help me a bit. > > I think I understand: > axiom ::= 'Class(' classID ['Deprecated'] modality { annotation } { > super } ')' > modality ::= 'complete' | 'partial' > super ::= classID | restriction > > But then what does "Class(Manufacturer partial)", mentioned below, exactly > mean? Just that Manufacturer is a class, and it is some (partially specified) subset of the universal class. I could as well have explicitly mentioned the universal class as in Class(Manufacturer partial owl:Thing) > And what "Class(Car partial)" as above > and "Class(Mustang partial Car > restriction(manufactured-by value(Ford)))" ? Mustang is some subclass of Car, all of whose instances are manufactured by Ford. And how does it prove your > point? Just that this is how to formally say that all Mustangs are manufactured by Ford. > [HT1] > > The code you show may not be correct, but I accept that you know more > > of OWL than I do. The rdf:range of someValuesFrom is rdfs:Class, and > > Ford is an Individual. How do you match that? > > [PFPS1] > Oops, I made an error. I should have said > > > Class(Manufacturer partial) > Individual(Ford type(Manufacturer)) > > ObjectProperty(manufactured-by Functional) > > Class(Car partial) > > Class(Mustang partial Car restriction(manufactured-by value(Ford))) > > [HT2] > The way I read owl:FunctionalProperty is that the rdf:range of the Property > typed as FunctionalProperty can only have one value. I would word it as any object can be related to at most one object via this property, i.e., if you look at the property as a set of tuples, any object can show up as the first element of at most one of these tuples. > That is fine, but that > rdf:object can only be a Class, and not an individual. Right? I don't understand. > In the past I have suggested to create, as a work-around, a singleton class > for this purpose, i.e. we create a Class 'Ford', of which 'Ford' is, by > definition, the only member. But it seems that OWL does not have a legal way > to declare singleton classes. OWL can indeed create singleton classes, for example EnumeratedClass(FordClass Ford) peter
Received on Friday, 17 March 2006 20:52:11 UTC