RDFAlchemyJython

Although rdflib is a great RDF tool for python, the real heavy lifting in the triplestore world is in Java. Sesame and Jena are both actively developed and have growing user bases.

Python code is faster to develop and smaller in size than Java, and RDFAlchemy further reduces the coding burden. Python, however, has been largely shut out from those datastores. RDFAlchemy does provide read access to those datastores through their SPARQL endpoints (see RDFAlchemy/SPARQL but lacks full access to their power.

Enter Jython, where Python runs in Java with full access to Java classes and libraries.

SesameJython

Check out the SesameJython page to see what Sesame2 code looks like in jython.

Initial tests look successful, I'm just not sure how much development is needed before a performance benchmark can be run. I expect the HTTP API that RDFAlchemy currently uses will not stand up is a heavy production environment.

The API style of openRDF is much closer to rdflib than it it to RDFAlchemy by calling a property method on a subject:

con.add(alice, name, alicesName, [context1])

JenaJython

Check out the JenaJython page to see what Jena code looks like in jython.

Need to do the same testing of. Right now RDFAlchemy has only read access to Jena repositories and only through a Joseki Server (SPARQL endpoint).

The API style of Jena is much closer to RDFAlchemy than it it to rdflib by calling a property method on a subject:

johnSmith.addProperty(VCARD.FN, fullName)

PylonsSesameServer

A different possible project is a reverse abstraction layer. This is much more for Java than to jython developers. The possibility is that, since RDFAlchemy already understands the Sesame2 API, is it possible to write a pylons server that would expose any rdflib repository (Sleepycat mySQL etc) to a SPARQL endpoint with a Sesame2 HTTP API, allowing read/write access to existing java tools.