RE: Ontolingua as a Frame BaseJames Rice <rice@HPP.Stanford.EDU>
Date: Tue, 17 Oct 1995 12:10:50 -0700 (PDT)
From: James Rice <rice@HPP.Stanford.EDU>
Subject: RE: Ontolingua as a Frame Base
To: Robert Parks <firstname.lastname@example.org>
In-reply-to: Robert Parks's message of Tue, 17 Oct 1995 09:14:19 -0500: <199510171711.NAA27209@light.lightlink.com>
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Robert Parks <email@example.com> writes:
>>I am looking for a generic frame base to store, index, and manipulate a
>>50,000 headword dictionary-thesaurus of English. The index scheme is based
>>on a typology of word relations, based in part on Melcuk's word relations
>>typology. relations include Part/whole (part of), taxonomy (kind of),
>>instrument (used for), compostion (made of), source (comes from) etc.
>>Would Ontolingua be suitable?
This is a little tricky to answer. Ontolingua is not a frame system
_per se_, though it does have within it a sort of frame system
with pretty limited deductive power. This leads some people to
think of it as a frame system. It all rather depends on what you
want to do with your set of definitions. Although Ontolingua would,
in principle, allow you to load such an ontology and edit it, you
would not be able to ask the sorts of questions of it that I suspect
you might want to ask. You could, of course, translate from Ontolingua
to some target frame system (assuming we support it, or write your own
translation), but this may or may not be a useful thing for you to
do in practice. Ontolingua probably wouldn't be buying you anything,
unless you wanted to leverage off the existing ontologies in the library.
An ontology with 50,000 definitions is substantially larger than any
ontology that we have had to deal with so far (the biggest one so
far has been ~6k). Ontolingua is optimised for users to create and
edit small, reusable ontologies. Most people spend so much time
thinking about their ontologies that they have trouble coming up
with ontologies with a couple of hundred definitions let along 50k.
We have optimised for this special case. Ontologies with more
definitions in them than this are usually programmatically generated
and/or imported and are usually ontologically rather impoverished
(your ontology might not be like this, it could well be the result
of centuries of careful thought about dictionaries for all I know).
Our focus with Ontolingua has been to provide a theory inclusion
model that specifically encourages/supports writing small and reusable
ontological chunks. Ontologies modularised like this are pretty well
supported, but large, monolithic ontologies are likely to be painful.
We certainly want to be able to support larger ontologies, but this
awaits both hack cycles and inspiration. The tricky part is not so
much the engineering to support large ontologies, we already do this
pretty well, we suspect, it's that we'd need whole new user interface
techniques to provide suitable views of such large sets of definitions
if there was no user-imposed partitioning.
Loading a 50,000 definition ontology would probably be rather
burdensome. Even with our new, faster machine, it would probably
take half an hour just to load, and might make such demands on swap
space and/or working set as to make our ontology server unusable,
though we'd certainly be interested to try it.
The bottom line is that your choice of a frame system rather
hinges on the use to which you intend to put it. If your
ontology is rich, and you expect to be able to draw non-trivial
inferences, then you'll probably need to look for a reasonably
high-end frame system. If your representation is really nothing
much more than you mentioned above and you don't need to ask
sophisticated questions of it, you'd probably be better simply to
hack up a solution in CLOS, C, or in some real database. The more
sophisticated the frame system (in general) the more heavy-weight
will be the frames and indexing scheme.
I would expect that a number of other readers of this list should
have opinions on which frame system would be a reasonable thing to
use for your application.
We'd certainly be interested in taking a look at your ontology as
a test case for Ontolingua. Hope this helps,