Re: Non-SQL Persistence for PL
"David Whitten" <[email protected]> Fri, 31 Aug 2007 17:19:36 -0500
| Newsgroups | gmane.comp.ai.powerloom |
|---|---|
| Message-ID | <[email protected]> |
I for one disagree Hans. This kind of discussion is the sole reason I even read this mailing list. and a little extra technical details that I can (optionally) ignore is far better than spam about all kinds of things. David Whitten [email protected] 713-870-3834 On 8/31/07, Hans Chalupsky <[email protected]> wrote: > Kamiz, > > we should probably take this off-line from the forum, since it is > getting too much into internal details. The persistence scheme uses a > few tables for different objects such as constants, definitions, > propositions, etc., but it is similar to a "one generic table" approach > as used, for example, by Jena. That has some performance implications > that we still want to address down the road, but haven't yet. The > system for loading objects dynamically is quite hairy, so I don't > advise you do try to mess with that. Anyway, we can continue this > conversation in private email if you want. > > Hans > > >>>>> darabi <[email protected]> writes: > > > Hi, > > if there is a way of efficiently serialising and deserialising > > only those objects which represent definitions and propositions > > as you do it with your 'schema-less' RDBMS, that would surely > > be a better approach than serialising the complete object graph. > > > When you say you use the RDBMS to store serialised objects in it, > > does that mean that you have one single table with rows for each > > proposition or definition? Or different tables for different > > types of objects? And if I understand correctly, the caching/ > > paging is implemented in Stella on top of the RDBMS? > > > I would like to try either AllegroCache and/or other object > > persistence tools, so I looked into the code of the rdbms > > system and saw how you use demons and db-relation-goes-xxx > > functions and have a vague idea of what would be necessary. > > > The experimental code you mention, would be very interesting > > as the rdbms code is still very close to the notion of > > tables (deftable ...). I would appreciate even small code > > snippets or other information about the mechanism you use > > to store propositions in a generic way. > > > > Thank you. > > > > Kambiz > > > ----- Original Message ----- > > From: "Hans Chalupsky" <[email protected]> > > To: [email protected] > > Cc: "PowerLoom Forum" <[email protected]> > > Sent: Donnerstag, 30. August 2007 0.00 Uhr (GMT+0100) Europe/Berlin > > Subject: [PowerLoom Forum] Non-SQL Persistence for PL > > > 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 > > > _______________________________________________ > > powerloom-forum mailing list > > [email protected] > > http://mailman.isi.edu/mailman/listinfo/powerloom-forum > _______________________________________________ > powerloom-forum mailing list > [email protected] > http://mailman.isi.edu/mailman/listinfo/powerloom-forum >