Interesting technology: AllegroGraph

I am using Franz’s AllegroGraph for two proof of concept projects for a customer: one using the Java APIs (free version) and one using the Lisp version that is unlimited in the size of stored data. RDF storage and querying is not easy technology to use (at least for me) but looks very promising.

The thing that I find interesting about using AllegroGraph is that you are dealing with disk-based persistent data, but not dealing with objects – not dealing with object relational mapping, etc. Instead, you work with graph data structures that are stored on disk, with parts cached in memory. Interesting stuff.

Still, dealing with RDF is not optimal, compared to dealing with graphs in memory. As an example: I used to work a lot with Rete networks using Lisp (hacking Charles Forgy’s Lisp code) and dealing with graph data structures built up with Lisp lists, cons, etc. is just easier to do. In memory graphs, semantic networks, etc. are just easier for me to wrap my thoughts around. However, approaches like AllegroGraph have the advantage of scalability.

6 thoughts on “Interesting technology: AllegroGraph

  1. Jim

    Would Terracotta be a good option for this type of work? It’s object-based, scalable, and can persist to disk. I’ve just played with it a little, but it seems pretty cool.

    Reply
  2. J.P. Larocque

    Using AllegroGraph, you’re no doubt familiar with AllegroCache, Franz’ much-touted object database.

    The problem I have with ODBs is that for each implementation I’ve looked at (AllegroCache, Elephant, and some Python stuff), it required the user to do something special to make their objects persist. In my idealized universe, cons cells like any other object would be automatically persistent, but I believe this goes beyond what can be expressed with the Meta-Object Protocol and would require a special CL implementation.

    You may find the idea of orthogonal persistence interesting.

    Reply
  3. Mark Watson, author and consultant

    Hello J.P.,

    Yes, I have used AllegroCache a lot in the last 9 months. For developing in CLOS, it stays out of my way, and I find it easy to use. I think that Elephant shows promise but I have not looked at it in a while. I have also had good experiences using prevalence (Prevaler).

    For Lisp and Smalltalk development, you can always just save your heap image – works if everything fits in memory.

    Reply
  4. Mark Watson, author and consultant

    Hello JHerber,

    Yes, I have used Sesame off and on for a few years – very good work.

    BTW, AllegroGraph also implement’s a Sesame compatible HTML web services interface.

    I am glad you enjoyed Sedona – lots of great hikes. I am heading out in 1 hour with 3 friends to explore a new area we have not been to yet.

    Reply

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>