Re: OWL Web Ontology Language

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