General Formal Ontology (GFO)
This section presents the meta-level in the architecture that is
formed by abstract core ontologies.
The abstract core level of GFO exhibits the upper part of GFO,
in the same way as a domain core ontology is the upper part of a domain
Apart from pragmatic aspects, ACOs must first be determined by
their main entity types
and the relations among them, for which a certain vocabulary
must be introduced. Secondly, logical interdependences of
those entities and their relations need to be specified.
exemplify the formalization of several types of interdependence using
axioms of first-order logic.
We start from the idea that the entities of the (real)
world - being represented on the ATO-level by the items -
are divided into categories and individuals,
i.e., everything in an ontology is either a category or an individual,
and individuals instantiate () categories.
Moreover, among individuals we distinguish objects,
attributes, roles and
Objects are entities that have attributes, and
play certain roles with respect to other entities. Objects are to
be understood in the same way as the notion of ``object''
in object-oriented analysis. In particular, objects comprise animate and
inanimate things like humans, trees or cars, as well as processes, like
this morning's sunrise.
Examples of attributes are
particular weights, forms and colors. A sentence like ``This rose is
red.'' refers to a particular object, a rose, and to a particular
attribute, red. Another basic relation is needed
in order to connect objects and attributes. The phrases
``having attributes'' and ``playing a role'' used above are included in the
of inherence, meaning that an attribute or a role inheres
in some object. This relation illustrates the dependence of attributes
and roles on entities in which they can inhere.
The difference between attributes and roles
is that roles are interdependent (36). Examples of roles
are available through
terms like parent,
child or neighbor. Here, parent and child would be considered as a
pair of interdependent roles. Apparently, these examples easily remind
one of relations
like ``is-child-of''. Indeed, a composition of interdependent roles is a
relator, i.e., an entity that connects several other entities.
The formation of relators from roles further involves the basic relation,
By introducing a vocabulary for the considered entities
we obtain the following signature:
denotes the meta-category of all categories,
represents the category
of all object categories, indicates the category of all properties, and
category of all relations. is the category of all individuals,
designates the category of all objects, represents the category
of all individual
attributes, identifies the category of all roles, and
denotes the category
relators. These categories are all presented as predicates,
i.e., they occur on the ATO-level as sets of items.
We present, as an example, a
simple axiomatic fragment using the vocabulary that is
related to a taxonomy of the unary predicates.
The core vocabulary can be extended by categories
that classify types, and by categories of individuals capturing its
The type is the most
simple structural feature a category may possess. We start with the
primitive type (the initial type), which is denoted by the symbol
Every primitive type is a type. If
are types, then
..., t_n is a type. Nothing is a type unless
it follows the conditions mentioned. A category is said to be well-founded
if it has a type.
Two categories and , are said to be extensional equivalent if they
have the same instances. We may introduce a cross-level relation connecting
categories with sets by postulating that for every category , there is a set
. Such an axiom
influences the structure of the ATO-level; if there are categories which are
not well-founded, then the cross-level axiom implies the existence of
The basic signature of the ACO level may be extended
by adding a number of meta-categories. One extension is created by adding
for any finite type a meta-category whose instances
are just all categories of type .
A special case are primitive
categories, whose instances are individuals.
Non-primitive categories can be found in every sufficiently complex field,
for example, in the biological domain. Means of expressing categories of
higher type have also
found their way into UML, in the form of the UML elements
metaclass and powertype (48).