Non-SQL Persistence for PL

Hans Chalupsky <[email protected]> Wed, 29 Aug 2007 15:00:03 -0700
Newsgroups gmane.comp.ai.powerloom
Message-ID <[email protected]>
Kambiz,

we do have an experimental version of persistence that doesn't require
you to have a DB schema, but that basically persists PowerLoom
definitions and propositions in a special-purpose "schema-less" RDBMS
database.  The system then pages those objects in on demand and uses
extensive caching to make things fast.  In a sense this is
implementing a type of persistent object system by serializing the
objects to an RDBMS.  The problem with this is that it isn't quite
complete.  We've loaded, persisted and queried large ontologies with
that, but there are a variety of loose ends that would make this
difficult for you to use at this point.

Several years ago we've played with some persistent object systems
(such as Versant and PLOB - a free version of persistent Lisp
objects), but the performance was never very satisfying.  That might
have changed by now with Allegro Cache, but I don't have any real data
on that.  The other issue is that a loaded PowerLoom module has a host
of PowerLoom and STELLA data structures associated with it that all
would need to be persisted, which means that you basically have to
make all object classes of STELLA and PowerLoom persistent to make things
work (without some major re-architecting).  I don't know how difficult
that would be with Allegro Cache, and I'd be interested to hear some
experiences from you if you venture to go that route.

Hans

>>>>> darabi  <[email protected]> writes:

> Hi, I sent the below message using the wrong mail address.
> I hope, it doesn't show up twice in the list.:

> ----

> Hello,

> I have a need for persistent knowledge bases and thus
> have been experimenting with the rdbms (and sdbc) system
> which you kindly released some time ago.

> My (maybe short-sighted) conclusion is that rdbms is very
> well suited for accessing large amount of data which
> is already stored in an SQL DB and for making that data
> available to PL's reasoning mechanisms.

> But, if one has no existing SQL data and wants to persist
> a KB of concepts and relations which are subject to frequent
> change, then the limitations of the DB in terms of 'high
> cost' of schema evolution also limit the possibilities
> of rdbms/sdbc.

> Have you or others taken another path: to use object level
> persistence as provided by Franz' AllegroCache or other
> 'object databases' to store the relevant parts of the
> knowledge base?

> Of course, this would only work in the lisp version of PL,
> so it might be out of scope. OTOH, there is also db4o for
> Java and C++, so maybe it wouldn't be impossible to implement
> it in a cross-platform way.

> But, I would be interested in any thoughts you might have
> on this topic. Would it be possible to use the CLOS version
> and identify some classes (e.g. named-description,
> native-relation, context, module) which make up a PL module,
> and persist them to an object database?

> If yes, could you give me some hints as where to look into
> the code?

> Thank you very much.


> Kambiz



> _______________________________________________
> powerloom-forum mailing list
> [email protected]
> http://mailman.isi.edu/mailman/listinfo/powerloom-forum