ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Universal and categories in BFO & DOLCE

To: ontolog-forum@xxxxxxxxxxxxxxxx
Cc: Nicola Guarino <guarino@xxxxxxxxxx>
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Sun, 04 Sep 2011 10:06:45 -0400
Message-id: <4E6385F5.7060108@xxxxxxxxxxx>
On 9/4/2011 6:48 AM, Patrick Browne wrote:
> I am trying to establish whether BFO and DOLCE use the same set
> theoretic semantics when formalizing the terms universal and category.    (01)

Before continuing, I must emphasize a fundamental principle of ontology:    (02)

     Classes in an ontology are *not* sets!    (03)

That principle is true of BFO, Dolce, Cyc, SUMO, and every ontology
from Aristotle to the present.    (04)

Whenever you hear the word 'class' think of the word 'classification'.
For every class, there is some rule, method, principle, or predicate
that determines whether something is an instance of that class.    (05)

In different situations, the same method of classification will
produce a different set.  The class remains the same, but the sets
have different members or elements.  I prefer to use the word 'type'
instead of 'class' because it avoids the confusion with 'set'.
But if you must use the word 'class', don't think 'set'.    (06)

The questions below result from 2500 years of debate among philosophers
writing in different languages about different, but related issues.    (07)

> Below are some assumptions, followed by two questions.
> 1. Categories are classes (sets?) of high level generic entities
> e.g. Physical Object    (08)

No.  The word 'category' comes from Aristotle's word 'kategoria',
which is a synonym for the word 'class' as it is used in ontology.
In the middle ages, 'kategoria' was translated to the Latin
'praedicatum', from which we get the word 'predicate'.    (09)

If you are using predicate calculus, every class or category is
defined by some monadic predicate.  If you are using some other
version of logic, whatever corresponds to a predicate is what
defines a class.    (010)

For any monadic predicate P in any situation S, you can talk about
the set of all x for which P(x) is true.  That may be written    (011)

    {x | P(x) in the situation S}.    (012)

But this set is *not* a class or a category.  It is just a set.    (013)

> 2. Universals are classes (sets?) of particulars e.g. Country    (014)

Every class or category is a universal, but classes are not sets.
There are some debates about whether there are universals that
are not classes or categories.  But those debates don't belong
in a textbook that teaches beginning students how to use some
version of logic to represent some subject matter.    (015)

My recommendation is to drop the word 'universal' in any textbook
(except in historical footnotes) and just use the word 'category'.    (016)

> 3. Particulars are individual instantiations of universals e.g. Ireland    (017)

Yes.  But my recommendation is to drop the word 'particular' and use
the word 'instance'.    (018)

> 4. Categories are organized using subsumption hierarchies (sub-set
> relation).    (019)

The word 'subset' is incorrect.  Do not use it except when talking
about whatever sets exist in some situation.  The word 'subsumption'
is another confusing term that I would avoid.  It is much clearer
and simpler to use the terms 'generalize' and 'specialize'.  If the
category A subsumes category B then A is more general than B, and
B is more specialized that A.  I would relegate the word 'subsumption'
to historical footnotes.    (020)

> 5. Universals are organized using subsumption hierarchies (sub-set
> relation).    (021)

The word 'subset' is incorrect.  My recommendation is to replace
'universal' with 'category' and 'subsumption' with 'generalization'.
Then say "Categories are organized in generalization hierarchies."    (022)

> 6. Particulars are elements of Universals (element-of or set-membership
> relation)    (023)

The terms 'set membership' and 'element' are incorrect.  If you avoid
using the words 'universal' and 'particular', you can just talk about
categories (or classes) and instances.  That way of talking is much
easier to teach, learn, and understand.    (024)

> Question 1: In DOLCE is the relationship between Categories and
> Universals also a subsumption relation, with the caveat the categories
> are higher up the hierarchy than universals?    (025)

I recommend that people study philosophy.  But I don't recommend
mixing several millennia of philosophical verbiage with a tutorial
on how to define the categories of an ontology.    (026)

To answer question 1, the Dolce categories are organized in a
generalization (subsumption) hierarchy.  I would drop the word
'universal' as more distracting than helpful.    (027)

> Question 2: In DOLCE could it be the case a particular could be an
> element of a universal and an element of a category as follows:
>   ((P isElementOf U) and (U isSubsetOf C) => (P isElementOf C) = true) .    (028)

This is the kind of question that wouldn't arise if we dispense
with the incorrect verbiage and the confusing verbiage.    (029)

First, don't ever use the word 'subset' when talking about universals,
categories, and classes.  My preferred term is 'subtype', but if you
use the word 'class' you can say 'subclass'; if you use the word
'category', you can say 'subcategory'.    (030)

Every category is a universal.  The big question is whether you
want to introduce metalevel categories that have other categories
as instances instead of subcategories.  But you don't need to
use the word 'universal' to discuss that issue (except, perhaps,
in philosophical footnotes).    (031)

John    (032)

_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (033)

<Prev in Thread] Current Thread [Next in Thread>