contexts in LOOM

"Robert P. Goldman" <[email protected]> Tue, 01 Apr 2008 18:14:01 -0500
Newsgroups gmane.comp.ai.loom
Organization SIFT, LLC
Message-ID <[email protected]>
I was wondering if anyone could enlighten me about how to use concepts
in LOOM.

Here is what I would like to do (I think):

I would like to create a KB that contains a stable TBox.  I can do this
with DEFKB, I believe.

I have some concepts I *may* want to add to the TBox, *if* they satisfy
some tests, which have to do with whether or not appropriate subsuming
classes exist.  I was considering this doing the following procedure:

1.  Create a new context
2.  Add my new concept temporarily to this new context
3.  Conduct some queries to see whether the new concept should
permanently be added.
4.  Destroy the context
5.  If the queries were successful, add the new concept to the KB.

I have looked over the documentation on concepts in the LOOM 3.0 release
notes, and I believe that I can create the temporary context using

(define-context <gensym> <type-of-context> <parent-contexts>
:creation-policy :classified-instance)

It's the arguments I am having difficulty with.  In particular:

1.  What's the difference between the different context types?  I get
the sense that :theory is heavyweight and not for my purpose here, but
don't have the foggiest idea whether :workspace, :island, or :world is
most appropriate, although :workspace seems suggestive.

2.  What should I choose as the parent-context?  Should I be making a
context as well as a KB when I call defkb?  Should I somehow be
establishing a default context for my KB?  If I don't establish a
default context, what should the parent-contexts be?  NIL?

There is some code in use-loom that seems suggestive in this regard, but
I don't fully comprehend it, and I can't really invoke use-loom in my
application -- the wide-ranging package surgery it does is really not
appropriate for me.

3.  Does the :creation-policy matter to me at all?  I ask because I am
only going to be working with concepts in the TBox in this temporary
context.  Does :classified-instance affect concepts, or only instances?
 If instances only, then I assume :creation-policy is a don't-care for me...

Thank you very much for any advice!

P.S. feel free to ignore me for not using PowerLoom, if you so wish, but
the decision to use Loom rather than PowerLoom was *not* made based on
ignorance of the latter's existence.  I need to rapidly prototype an
inference capability to be tightly integrated into a Common Lisp
application, and PowerLoom's use of Stella makes this prohibitively
difficult.
_______________________________________________
Loom Knowledge Representation Language Forum
[email protected]
Change subscription: http://mailman.isi.edu/mailman/listinfo/loom-forum