Re: incomplete translations

Tom Gruber <gruber@HPP.Stanford.EDU>
Message-id: <199406022053.NAA27221@HPP.Stanford.EDU>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Thu, 2 Jun 1994 13:52:54 -0800
To: "Cheng Hian GOH" <chgoh@MIT.EDU>
From: Tom Gruber <gruber@HPP.Stanford.EDU>
Subject: Re: incomplete translations
Cc: ontolingua@HPP.Stanford.EDU
>The discussion has been very helpful to me. At least now I am better able to
>appreciate the difficulties you are facing. The negative side is that given
>you have said, it looks like we will never be able to harness the full power of
>the ontologies constructed should be stick to Loom as the underlying
>representation system. I infer from the discussion that I have two
>  1. Use the Ontolingua ontologies as a reference point, build my own Loom
>     versions to provide the functionalities that we will need (e.g., convert
>     between different units of measures) by encoding the knowledge in a
>     different way. (I haven't tried, but I presume that there is a way
>     to hack around the limitations.)

For the inferences Loom provides (e.g., classification), the mechanical
translation from ontolingua to Loom should suffice.   You will need to
write code to implement unit conversion in any case; Loom won't do it.

>  2. Abandon Loom altogether and look for a different representation system
>     which will work "seamlessly" with ontolingua (assuming one exists).
>     Unfortunately, we will really like to make use of Loom's classifier, so
>     the alternative better have similar facilities.

If you want to classify a la Loom, ontolingua preserves the information it
uses (class relationships, slot constraints, domain and range constraints).
So you can still classify from Loom without abandoning either ontolingua
or loom.

One of the motivations for giving ontolingua _translation_ capabilities
instead of _inference_ capabilities is to allow one to use different target
systems for different purposes.  Loom is great for subsumption, prolog is
great for backward chaining, and CLIPS is great for storing a class
hierarchy.  Epikit is great if you need a sound and complete theorem
prover. Ideally, you can maintain the orginal ontology in KIF/ontolingua
and perform different inferences using different tools (at different stages
of the life cycle of the KB).