- From: <ewallace@cme.nist.gov>
- Date: Fri, 22 Oct 2004 12:04:20 -0400 (EDT)
- To: rector@cs.man.ac.uk, welty@us.ibm.com
- Cc: public-swbp-wg@w3.org
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). -Evan
Received on Friday, 22 October 2004 16:04:31 UTC