[plt-scheme] small databases like gdbm

From: Ray Racine (ray.racine at comcast.net)
Date: Mon Oct 8 13:22:15 EDT 2007

Some ideas, not necessarily in alignment with the requirements, but

I recently went through a similar RDF need + Scheme watta I do analysis.

As you've seen the big triple stores seemed to be too unwieldly and

I considered using Raptor/Redlands, as the suite is well done, using
memory, SleepyCat (or an RDBMS) as "storage".  The API was  specifically
designed for ease of script binding and I suspect going through the FFI
exercise for gdbm vs Redlands would be equivalent work effort with the
Redlands approach giving RDFness directly, not to mention SPARQL etc.

But that is not what I did :).

What I ended up doing was for dealing with small graphs storing as
triple based S-Exps as shards via Amazon's S3 storage.  i.e. As Eli
suggested I used S-Exps (sort of SXML <-> XML as triple s-exps <-> RDF
e.g a listof (listof spo)

But I also had a "big" need as well, that is query capability.  And I
found AllegroGraph which so far has been a perfect fit for me.

	- Its Lisp based and an entirely self contained system so ...
	- NO RDBS required.
	- It installs painlessly in minutes without configuration hassles.
	- Very well documented.
	- Its FREE for many uses.
	- Supports millions of triples.
	- It has a great common lisp DSL for manipulating the graph.
	- It will suck/spit most of the RDF serialization formats. e.g.,
RDF/XML, N3, Turtle, N-Triples .....
	- And it has a dirt simple REST based API which is what I'm using for
integration with MzScheme.  I use standard PLT net library stuff to
build the http query and then the SXML tool suite to deal with the XML
responses.  Easy peasy.

So if you've looked at all the big Java/C based RDFDB/TripleStores and
they look onerous to deal with (and they are), I'd suggest looking at
AllegroGraph.  As mentioned its all self contained, installs in minutes,
does easy thing easily, and can handle the high scalability issues if
needed, and I believe could be a far faster path then dealing with doing
a gdbm integration and designing a RDFness API on top of it.

You should be up and running in an afternoon.

BTW, I have no association with the product itself or the vendor.  Just
a happy (so far) user.

On Mon, 2007-10-08 at 17:34 +0100, Stephen De Gabrielle wrote:
> Hi,
> I was wondering he any list members had any recommendations or advice
> on using small databases like gdbm (with the plt tools obviously)
> I'm storing a small set of metadata (RSS 1.0) and want something
> simple and easy. (don't we all.!)
> I'm putting off using a RDBMS or RDF/OWL Triple-Store, as excessive at
> this stage, so I would love any suggestions on things that work well
> with plt scheme.
> cheers
> stephen

Posted on the users mailing list.