ontac-forum
[Top] [All Lists]

RE: [ontac-forum] Type vs. Class - last chance to vote.

To: "'ONTAC-WG General Discussion'" <ontac-forum@xxxxxxxxxxxxxx>
From: "Cory Casanave" <cbc@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 22 Jan 2006 12:13:54 -0500
Message-id: <017f01c61f77$3931eba0$0600a8c0@cbcpc>
John,
I think this does serve to clarify and summaries the conceptual and
terminology issues.  This thread and its domination of my in-box suggest
that the original question may be ill-formed.  Are we going to do this
thousands of times?  Shouldn't such terms come from some existing work we
adopt in-total?    (01)

Perhaps we all hope that some existing work will provide a foundation for
COSMO.  There are two levels of such foundation - language (meta ontology)
and upper ontology.  These two are really inseparable since you would very
much like your meta ontology to be part of your upper ontology.  The
class/type debate is central to this as some form of it is in every
meta-ontology and probably every upper ontology.    (02)

Our arguments have ranged over political concerns, concept differences,
assumptions of baseline (E.G. OWL Vs. CL), historical perspective and human
language.  However, if we are going to be routed in any existing language or
upper ontology it will be this that will provide the foundation concepts,
terms and axioms.      (03)

So perhaps a better question is; what is our foundation?
In terms of "type/class" that foundation will be a language, OWL and Common
Logic being the most referenced thus far, for good reason.
A choice for existing upper ontology seems less clear.    (04)

In a modular world we can certainly conceive of the same set of terms and
concepts being defined in multiple languages.  We can also conceive of
multiple terms for the same concept, perhaps in different context.  If we
can have the "minimally axiomized core" as you suggest, with "modules" being
able to take advantage of more sophisticated logics.  Then the language of
the core is not necessarily the language of every ontology that uses or
provides additional detail about that core.     (05)

So the top choices for core language are;
OWL (Or even RDF) due to industry weight.  We would probably also want a CL
view of this core for addition capabilities.
Common Logic due to its much stronger foundation and ability to express the
axioms of many of the other languages.  There should then be an "OWL view"
of this core for general consumption and political buy-in.    (06)

So either way we can embrace the other, but SOME formalism, and I suggest
exiting one, should be adopted as our core language and perhaps some upper
ontology as our base.  The terms of that language should be the basis for
the corresponding terms in our upper ontology - this is the basis for many
of the arguments already made.    (07)

This is a long-winded way to say - lets decide on our language before having
100 emails on each of many terms that is well defined in that language.    (08)

-Cory Casanave    (09)

-----Original Message-----
From: ontac-forum-bounces@xxxxxxxxxxxxxx
[mailto:ontac-forum-bounces@xxxxxxxxxxxxxx] On Behalf Of John F. Sowa
Sent: Sunday, January 22, 2006 11:27 AM
To: ONTAC-WG General Discussion
Subject: Re: [ontac-forum] Type vs. Class - last chance to vote.    (010)

Various themes have emerged from this discussion, and I'll
try to sort them out:    (011)

  1. The fundamental distinction which many of us have
     emphasized for years is between _intension_ and
     _extension_.  To avoid prejudging the choice of
     technical terms, I'll use the example of Rabbit vs.
     Peter or Thumper.  The intension of 'Rabbit' is
     determined by some definition that is independent of
     any actual rabbits, real or fictional.  The extension
     of "Rabbit" at a particular point in time consists
     of all the rabbits that happen to exist at that time.    (012)

  2. The word 'set', as used in all versions of set theory
     for over a century, refers to the extension.  Since
     rabbits are notoriously prolific, the set of rabbits
     at the instant you're reading this sentence is very
     different from the set at the instant I wrote it.
     The fact that sets are constantly being replaced by
     new ones means that sets are not suitable for defining
     any "meaning" that is supposed to remain constant.    (013)

  3. Aristotle introduced the word 'kategoria' as his term
     for the intension, and that word was translated to Latin
     as 'praedicatum'.  From those, we get the English words
     'category' and 'predicate'.  The latter term has become
     popular for the symbols used in _predicate calculus_, and
     I would say that the defining rule for a predicate is
     sufficiently stable to be used as the basis for drawing
     a clear distinction between intensions and extensions:    (014)

     - The intension of 'Rabbit' would be determined by the
       definition of a monadic predicate rabbit(x).    (015)

     - The extension of 'Rabbit' at time t would be the set
       of all x at time t for which rabbit(x) is true.    (016)

  4. If we wanted to be traditional, we could use the four-
     syllable word 'category'.  Otherwise, we could adopt
     a one-syllable word, of which the two main contenders
     seem to be 'type' and 'class'.  The word 'set' is not
     a contender because all technical uses are extensional.    (017)

  5. The word 'type' has a long history of use as a technical
     term whose meaning was very close to its use as a common
     English word.  Unfortunately, Bertrand Russell gave it a
     very narrow sense in logic, which caused many logicians
     to introduce the word 'sort' with a slightly different
     technical sense.  Meanwhile computer language designers
     adopted the word 'type' for the kinds of data structures
     used in their systems.  All these uses fall within the
     scope of the informal senses of the word 'type', and it
     seems possible to adopt 'type' as a generalization that
     would include all the technical senses and most, if not
     all of the common senses.    (018)

  6. In another unfortunate twist, the object-oriented group
     adopted the word 'class' to distinguish their thingies,
     which have associated procedures called 'methods', from
     the more static data types of the older languages.  More
     recently the Semantic Webbers adopted 'class' for the
     thingies used in OWL, but as Chris, Michael, and others
     have pointed out, OWL also uses the word 'type', and
     all of its definitions are very confused and confusing.    (019)

  7. Meanwhile, the word 'class' has long been used as a
     synonym for 'set' in some versions of set/class theory.
     In other versions of set theory, a class is something
     that is just as extensional as a set, but too "big"
     to be a proper set.    (020)

The major argument for using the word 'class' is that it has
been adopted by the Semantic Web movement, which currently
has a great deal of momentum.  But one could also say that
the Semantic Web has also adopted the word 'type' in a way
that seems to be very closely linked to the word 'class'.    (021)

Summary, I strongly believe that the word 'class' is the
*worst* possible choice to represent the intensional side
of the distinction between intensions and extensions:    (022)

  1. Logicians use the word 'class' in the same extensional
     sense as the word 'set'.    (023)

  2. Object-oriented programmers use the word 'class' as
     something that has associated procedures, and that
     is definitely *not* a meaning we want to suggest.    (024)

  3. The OWL group uses both 'class' and 'type' in ways that
     are related, but it seems safe to say that there is
     probably nobody in the OWL community who could give
     a clear argument for any distinction between them.    (025)

In short, the distinction between intension and extension
is fundamental to ontology, and it *must* be highlighted.
The word 'class' would hopelessly confuse the issue.    (026)

John Sowa    (027)


_________________________________________________________________
Message Archives: http://colab.cim3.net/forum/ontac-forum/
To Post: mailto:ontac-forum@xxxxxxxxxxxxxx
Subscribe/Unsubscribe/Config:
http://colab.cim3.net/mailman/listinfo/ontac-forum/
Shared Files: http://colab.cim3.net/file/work/SICoP/ontac/
Community Wiki:
http://colab.cim3.net/cgi-bin/wiki.pl?SICoP/OntologyTaxonomyCoordinatingWG    (028)


_________________________________________________________________
Message Archives: http://colab.cim3.net/forum/ontac-forum/
To Post: mailto:ontac-forum@xxxxxxxxxxxxxx
Subscribe/Unsubscribe/Config: 
http://colab.cim3.net/mailman/listinfo/ontac-forum/
Shared Files: http://colab.cim3.net/file/work/SICoP/ontac/
Community Wiki: 
http://colab.cim3.net/cgi-bin/wiki.pl?SICoP/OntologyTaxonomyCoordinatingWG    (029)
<Prev in Thread] Current Thread [Next in Thread>