On Wed, 3 Dec 1997, John F. Sowa wrote:
> The subject of _ontology_ is the study of the _categories_ of things
> that exist or may exist in some domain. The product of such a study,
> called _an ontology_, is a catalog of the types of things that are
> assumed to exist in a domain of interest D from the perspective of a
> person who uses a language L for the purpose of talking about D.
Agreed, so far. An ontology contains types.
> The
> types in the ontology represent the _predicates_, _word senses_, or
> _concept and relation types_ of the language L when used to discuss
> topics in the domain D.
This suggests that an ontology *only* contains types, and that all the
things in the ontology are types. Although this might be a widely-held
perspective, I would not want to see this entrenched in a definition.
In my perspective, one must draw a clear distinction when defining the
term 'ontology' between types and instances. Types are things that can
have instances -- the ontology is describing a world in which instances of
its types exist. However, I do not think it is reasonable to say that
*relations* are types. A relation declares that mappings exist between
the instances of one type and another -- but the tuples of a relation
should not be considered a case of instances of a type.
This is a point that I have had many arguments about, but the easiest way
to think about it is to use a simple linguistic test: If T is a type and I
is an instance of it, one should be able to say "I is a T". This would not
hold if T were a relation and I were a tuple of T. For example imagine Tim
and John are brothers. The ontology has type 'Person' and relation
'brother'. However, my assertion is that the *mapping* between Tim and
John (i.e. the tuple) is not an instance of 'brother', and hence
'brother', the relation, should not be considered a type. This is because
I cannot say 'The mapping between Tim and John *is a* relation' -- one can
say that it is a *tuple* of a relation, but a tuple and a relation are not
the same thing.
People argue with me, saying that relations have subrelations, and that
these can be treated as subtypes. I disagree, and feel that systems that
equate 'subrelation' with 'subtype' to be merely following a convenient
historical precedent without adequate justification. For more extensive
reasoning about this and other issues, please see my 1994 PhD thesis which
is at http://www.site.uottawa.ca/~tcl/thesis_html/thesis_ToC.html
In conclusion, I believe one ought to say that an ontology contains types
and relations among those types, but one ought not to say that relations
*are* types.
> KNOWLEDGE BASE. An informal term for a collection of information that
> includes an ontology as one component. Besides an ontology,
> a knowledge base may contain information specified in a
> declarative language such as logic or expert-system rules, but
> it may also include unstructured or unformalized information
> expressed in natural language or procedural code.
One key point that the above misses: A key distinguishing feature between
a knowledge base and an ontology is that a knowledge base will generally
contain *instances* of the types defined in the ontology.
Timothy C. Lethbridge, | Assistant Professor / Professeur adjoint
http://www.csi.uottawa.ca/~tcl | tcl@site.uottawa.ca /T.Lethbridge@ieee.ca
SITE: School of Information Technology and Engineering
University of/d'Ottawa | W/B: 613 562-5800 x6685
Ottawa, Canada, K1N 6N5 | Fax: 613 562-5187 H/M: 613 237-6642