Re: [ontolog-forum] Thing and Class

Ron and Michael,

As I've said many times, the following issues are impossible to solve
if your hierarchy is limited to a tree, but they are trivial if you
have a partial ordering (multiple inheritance).  Aristotle's syllogisms
supported multiple inheritance, Leibniz supported multiple inheritance,
and I cannot understand why anybody would limit their ontology to tree.

RW> In my experience with Maintenance Management Systems, the definition
 > of "equipment" and "parts" seemed to be very situational and varied
 > more with the management history than it did between industries.

All of those variations are legitimate concerns, and all of them must
be supported.

RW> There could be many revision numbers and dependencies involved
 > depending on the point of view being considered.  Engineering
 > specification revisions, supplier revisions, maintenance activity
 > revisions are frequently unrelated.

All of those representations can be handled (and related to one another)
with a partial ordering (or a lattice, which is a systematic kind of
partial ordering).  Don't ever think of a ontology as a tree.  Every
useful ontology *must* support all possible cross classifications.
That implies multiple inheritance.

RW> I am not sure that there is a generally accepted way to develop
 > a general policy on how to design an ontology that handles...

There is.  It's called multiple inheritance, a partial ordering, or a
lattice.  See the web site for Formal Concept Analysis (FCA), which is
a widely used lattice system with software (open source) for creating
and maintaining the lattices:

    http://www.upriss.org.uk/fca/fca.html
    Formal Concept Analysis Homepage

MU> The names I find most useful for these things are (substituting
 > into the text above)
 >
 >  1. THING: the set of all things in the universe of discourse
 >  2. CLASS: the set of all things that have member individuals
 >  3. INDIVIDUAL: the set of all things that do NOT have member
 >     individuals
 >  4. ORDINARYCLASS: the set of all things whose members do not
 >  themselves have members...

As we've discussed many times, the terms 'set' and 'class' are
extensional, but the categories of an ontology are intensional.
When Boeing designs a new *type* of aircraft, the *set* is empty
until the first instance is built.  When any design changes are
made, the result is a new type or subtype.

But even for a fixed design, the set changes with every instance
that rolls off the assembly line.

You can't use extensional terms such as 'set' and 'class', which
change with every instance that rolls off the assembly line.
It's essential to use intensional terms, such as 'category' or
'type'.  Since 'type' takes one syllable instead of four, that
is a good choice.

John

Received on Tuesday, 9 September 2008 01:46:37 UTC