I recently got the chance to make an analogy between C++ and 
upper ontologies. There is a well-known problem with OO-style
coding, and I think I have just seen this same problem manifest 
itself in the so-called "upper ontologies"

One well-known problem with C++ is that begining coders often 
spend too much time and energy trying to design base classes 
that all the rest of the classes of the system will inherit 
from. Errors in the design of the base class are often undetected 
until quite late, when it becomes difficult and expensive
to fix: C++ can sometimes become very inflexible, "quick setting
concrete", some people say. The standard answer is "don't do that",
i.e. don't design super-dooper base classes; and if you do, don't
couple them strongly into your system.

The thought that occurred to me was that this situation is similar to
that of "upper ontologies" i.e. the core objects in SUMO or Cyc.
A number of these ontologies have different ideas about time,
events, extends, and how you can indicate that some thing has some
property for only a limited amount of time (e.g. "John is a teacher"
well, no, he wasn't a teacher when he was a child, and won't be
after he retires).

The mismatch of the ontologies for time and place and events
in SUMO and Cyc means that merging one with the other is very
hard or impossible -- which is a paradox, because the notions
of "john" and "teacher" shouldn't be fundamentally different.
The barrier is is artificial, not natural: its a mismatch,
or over-reliance on the upper ontologies.

In C++, the answer is well known: "don't do that".  I wonder
if this might be the same answer for ontologies: disentangle
things enough so that, after you've asserted that "john is
a teacher", you can go back and change the notion of time
and extent, without wrecking your network of assertions.

I don't yet know how to disentangle such things, but thought
that I'd trot it out for discussion. Maybe it would be easy 
to rip out Cyc's upper ontology, and replace it by SUMO's,
or v.v. I don't know ... I suspect its not, and that bothers
me; that is a bit an important problem.

--linas

Links:

http://www.cyc.com/cycdoc/vocab/upperont-diagram.html
http://en.wikipedia.org/wiki/Upper_ontology_(computer_science)
http://www.ontologyportal.org/
http://en.wikipedia.org/wiki/Suggested_Upper_Merged_Ontology

-----
This list is sponsored by AGIRI: http://www.agiri.org/email
To unsubscribe or change your options, please go to:
http://v2.listbox.com/member/?member_id=8660244&id_secret=63784725-c004c4

Reply via email to