Table Oriented Programming

Brian Kelley bkelley at wi.mit.edu
Sat Feb 14 18:07:46 CET 2004


John Roth wrote:
>>Notable contributor Jean-Claude Wippler is just now releasing some
>><URL: http://www.equi4.com/pipermail/starkit/2004-February/001829.html >
>>of his implementations in the area of relational algebra.
> 
> 
> It's in TCL. Sigh.

Be assured that Wippler targets every language he can.  I can't give too 
many details because I promised not to, but python will work on the 
finished system and, in fact, will be a first-class language target. 
I'm including Jean-Claude in this discussion, btw, incase he wants to 
add anything.

Metakit itself is relational algebra based on columns, it just happens 
to be more database like.  I'm have been using it to perform most of the 
rattcl operations mentioned above, I just have a thin wrapper to create 
the table structure around metakit.  Gordon McMillan even has support to 
"wrap" any python sequence as a metakit view and viola - you have all 
the relational algebra support you want.  Set operations, ordering, 
joins, selects, filters...  I've been so impressed by the underlying 
technology that I'm thinking about writing a small book/tutorial on 
metakit-specific relational algebra.

On top of that, Wippler and I have a metakit-server project using the 
metakit structure as a wire protocol to send full or partial database 
information across a socket.  This is language independent so you can 
send databases to python/C++/java etc.  You can think of it as a sort of 
a cross-platform database marshaller.  If any one is interested, gunniea 
pigs are always welcome.

Metakit is incredibly powerful, by the way.  I have successfully used 
metakit to form cross-database sql queries using it as the relational 
algebra engine to combine SQL queries from Oracle and Mysql for 
instance.  So if you want to dip your toes in relational algebra, start 
playing with metakit, it is way more than a database.

Brian
Whitehead Institute for Biomedical Research




More information about the Python-list mailing list