Re: Asymmetry of Domain and Range in OWL

Some comments on Chris Welty's recent characterization of OO vs OWL:

First: I have never heard an OO person talk about "slots."  That is 
a Frame language term that just didn't make it into recent OO languages
or tools.  I don't care about its use in our discussions, but we should
use terms like "attributes" in our notes that are aimed at an audience 
with an OO background.

Second: The quote below needs to be stated a bit more carefully.  What it
should say is that a *direct* instance of C1 cannot have a value for 
the attribute "name" (note - later in the email Chris does use careful 
language like this).  An instance of C2 is also an instance of C1 in any OO 
language that I have used.  I have seen KR people make false claims about
OO ideas like Abstract classes because they didn't understand that OO 
inheritance is subsumption.

> ...What this means in an OO language is that if I 
>create an instance of C1 (the superclass), it (the instance) CANNOT have a 
>value for the slot "name". 

I have been calling the characteristic of OO languages that Chris is 
highlighting here 'comprehensiveness.'  In summary, it means that all instances
can only have characteristics (type, attributes, relations, or methods) that 
have been defined (asserted) for them either by direct declaration or 
inheritance.  The monotonic open world of RDF and OWL license all kinds of 
inferences that are surprising to people who are used to working with
these comprehensive languages.  The situation is even worse for people who are 
only familiar with more restrictive OO languages such as JAVA (which forbids
multiple inheritance, amongst other things).


Received on Friday, 22 October 2004 16:04:31 UTC