- 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