Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: viewpoints and multiple inheritance.





SUOers,

I apologize for sending a hasty message a few minutes before leaving 
for vacation.  For the simpler folk who are just reading up to the 
point where I disagree with them: I ADVOCATE MULTIPLE INHERITANCE.

I hastily said:

>It is because of this almost universal lack of discipline
>that we should consider not having multiple inheritance.


Bill Andersen replied:

>   (x):Equiangular(x) -> Polygon(x)
>   (x):Equilateral(x) -> Polygon(x)
>   (x):RegularPolygon(x) -> Equiangular(x) and Equilateral(x)
>
>   All these are "necessary" definitions, assuming the conventional
>definitions of these terms.  This ought to be an example of the
>legitimate use of "multiple inheritance".
>
>   My point is if you can think of one principled example, you can
>probably come up with others.  It would be unfortunate if we were
>to "throw out the baby with the bathwater" by failing to allow
>this.  All we need to do is to apply a framework, such as the one
>you and Nicola have developed to weed out the silly cases (the C++
>example comes to mind)

Right.  Despite my actual words, I do not propose that we completely 
abandon multiple inheritance just because most people don't know how 
to use it.

Most of the email-avalanche following Nicola's first message were 
advocating the ultimate need, in general, for multiple inheritance in 
an ontology.  THIS I GRANT (in my power to do so), even though most 
of the examples were actually bad (or silly) ones.

HOWEVER, "designing a top-level ontology" is much different from 
"designing an ontology" in general for some concrete and 
domain-specific purpose.  While it should be clear that for the 
latter, MI is often needed, for the former I believe it is not.  In 
other words, and I may seem to be changing directions here, I'm not 
completely sure multiple inheritance should be allowed in our TOP 
LEVEL ontology.  At the very least, I believe it should be avoided. 
The top level should attempt to carve up the world into discrete 
categories as much as possible.

FAQ:
Can we avoid MI completely in the top-level?  Perhaps not completely, 
but we should try.

Does this mean top-level categories should be disjoint?  No. 
Disjointness is a different notion.  Even if we manage to have a 
top-level without MI the top level categories may be overlapping.

Can domain-specific extensions specialize multiple top-level 
categories?  Yes, the top level categories are not disjoint.

-ChrisW.


Christopher A. Welty                          Professore Visitatore
LADSEB-CNR                                   welty@ladseb.pd.cnr.it
Corso Stati Uniti, 4                         Voice: +39 049 8295783
I-35127 Padova                                 Fax: +39 049 8295763
Italy                       http://www.cs.vassar.edu/faculty/welty/