In 1985, we wrote a small relational engine using Lattice C 2.0 on MS-DOS. It was a small team (about 4 of us) in Bangalore, India. We had no background on designing an SQL engine and the only source available to us was the "Introduction to Relational Database Systems" by C.J.Date. We took two decisions. One is to layer the database on top of an ISAM engine and another was to implement SQL as a set of relational algebraic operations (restrict, project, join). We later licensed the technology to The Santa Cruz Operations and sold it for a while as Integra SQL.
When I saw this article by James Tauber, on Relational Python, all those memories came flooding back to me.
The goal is not to try to implement a SQL database in pure Python.
Rather the goal is to extend Python's rich data structures like
dictionaries and sets with additional concepts from relational theory.
I think enriching Python with a set of relational operators is a great idea. There are several interesting possibilities with this approach. If these opeators are recursive and can work fast with in-memory data, they may help faster processing of XPath. This may result in more flexible architectures for buiding XSLT and XQuery and later SPARQL.
I have been thinking about relational Python like capability for a
project I am currently working on. This project requires you to build
an in-memory streaming database and provide continuous queries.
Currently we are playing with a prototype built on top of Telegraph CQ
and are looking at other alternative implementations. Using an approach
similar to Relational Python is definitely one possibility.