An ontology for KIF

macgregor@ISI.EDU
Message-id: <199308161702.AA04146@quark.isi.edu>
Date: Mon, 16 Aug 1993 10:02:01 -0800
To: interlingua@ISI.EDU
From: macgregor@ISI.EDU
Subject: An ontology for KIF

Ostensibly, there has been no progress in evolving KIF into a more
complete interchange language in quite some time (at least, there has
been no *advertised* progress).  Given that KIF is not yet adequate for 
translating between (the declarative part of) most KR systems, I think
its time that we got something going again.

There have been several scattered discussions (not all on this forum)
regarding possible extensions to KIF. These issues include

   (1) distinguishing between "types" and "properties" (or between
       "types" and other unary relations);
   (2) providing for terms that denote slots/roles (noting that in many
       or most frame systems, there can be many slot/role objects that 
       all correspond to the same binary relation);
   (3) allowing classes and higher-arity relations to have overlapping
       name spaces;
   (4) frame predicates (e.g., "single-valuedness", "symmetry", etc).

It has been suggested that these extensions, to the extent that they
can be agreed upon, should be placed in an ontology, rather than added
by extending KIF itself (I happen to agree with that approach). For
example, we could include in the ontology a definition for the concept
"Type", defined as a partial (i.e., primitive) subrelation of "Unary
Relation" (which would also be included in the ontology). Roles might
be defined via the definition of a two-place function that maps from
types/classes (if we had them) and relations to role objects.

Let us hypothesize that we collectively agreed upon the specification
of a (probably conservative) ontology that provided for at least some
of the above-mentioned constructs. It would be a mistake to think of
this ontology as an *optional* part of KIF, in the sense that it is just
one of many possible auxiliary ontologies. To enable knowledge
interchange, the ontology ought to be a fixed part of the interchange
language. Why? Because translators for languages (such as Loom) that
incorporate pieces of that ontology into their own scheme of
representation would necessarily have to hardwire the connections
between the ontology and their own language constructs. If there is a
choice of more than one (most-fundamental) ontology, then we begin to
revert to the "n squared" translators phenomenon whose avoidance was
the whole point of KIF in the first place.

The existence of a standard ontology would raise the question of what
to call the combined language (KIF plus the ontology). The primary
authors of KIF appear to prefer that KIF denote only the logic
described in the current KIF document (right Mike?, Richard?). I
hypothesize that the lack of a name is an impediment to progress on the
ontology itself. Hence, I propose that folks on this network suggest
names for the combined language (KIF plus the ontology).  For
starters, we could call it "Interlingua" (I don't particularly like
that choice -- that should challenge someone to suggest a better one).
A slightly less aggressive approach would be to agree on a name for
the standard ontology.

The current reality with regard to KIF translator technology is that
there exist no translators that do an adequate job of translating
between KIF and (the declarative portion of) a frame-based KR language
(e.g., to/from CLASSIC or Loom). This lack has primarily to do with the
absence of provisions for issues (2) and/or (3) in KIF.  If we had
an ontology as proposed above, it would require only a small amount of
effort to upgrade existing translators to a more competent level.

Cheers, Bob

Robert M. MacGregor                                     macgregor@isi.edu
USC/ISI, 4676 Admiralty Way, Marina del Rey, CA 90292      (310) 822-1511