Re: Ontolingua -> LOOM

James Rice <Rice@HPP.Stanford.EDU>
Message-id: <2983124305-5921137@KSL-EXP-35>
Sender: RICE@KSL-EXP-35.Stanford.EDU
Date: Wed, 13 Jul 94  14:38:25 PDT
From: James Rice <Rice@HPP.Stanford.EDU>
To: vet@cs.utwente.nl (Paul van der Vet), ontolingua@HPP.Stanford.EDU
Subject: Re: Ontolingua -> LOOM
In-reply-to: <9407130741.AA03118@apollo.cs.utwente.nl>
Hi,

>>  The Ontolingua package, version 4, can be used to
>>  translate ontologies written in Ontolingua into a
>>  number of target languages.  For my ontology, the
>>  translation into LOOM failed.  Ontolingua complained:

>>  >>Error: The function ONTOLINGUA-INTERNAL::LIST-IF-NOT
>>  >>is undefined

The LOOM back-end to Ontolingua that got released was a
(somewhat/very) alpha version.  We needed to get an
Ontolingua release out that would get users access to the
improved tools and HTML stuff.  We're currently working
hard on the LOOM back-end and trying to get it to work.
Your specific problem seems to have been caused by the
fact that you had switched off GFP and a couple of
functions defined in the GFP code were used in the LOOM
back-end.  I have now moved them so this problem should
not occur in futire releases.

>>  I suppose this is an Ontolingua problem, because the
>>  ontology in question was checked OK by XREF-THEORY and
>>  translation into the other supported target languages
>>  went allright.

Yes, it was an Ontolingua problem.  However, I would be
very cautious about assuming that

  (-> (and (theory ?t)
           (passes-xref-theory ?x))
      (completely-translates-to-loom ?t))

The Ontolingua language is very much more expressive than
LOOM and although we are working very hard to try to
maximise the degree of translation a whole bunch of things
simply will get dumped onto a "related-axioms" slot
because there's simply no way of expressing them in LOOM.
This may or may not adversely affect your goals.

What we're trying to do right now is at least to make sure
that all of the ontologies that we have here at Stanford
will both translate and load into LOOM.  Of course, the
easy part is getting some sort of translation.  The _very_
hard part is to make it possible to load that translation
into LOOM without killing it.

>>  Is this a known problem?  And, more importantly, how
>>  can I fix it?

No, it wasn't a known problem.  You can fix it for now by
moving the definition for list-if-not from
targets/gf-to-gfp into kernel/utilities, which is what I
just did.

>>  Paul.

We hope to have a new release of the LOOM back-end soon.
Our problem is that whenever we get things almost to work
we get a request to translate some extra clich\'e.  When
we put in this translation it ends up breaking everything
right up at the top, so we have to go back and fix
everything again.

It's a _lot_ harder than it might appear at first sight.




Rice.