Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.

Topological Relational Algebra in Lisp

Skip to first unread message


Dec 20, 2014, 11:04:22 AM12/20/14
I'd like to draw your attention to
which contains a result from a project of former times when I used to
work as a researcher.

I am mainly interested in comments from practicioners if they see any
potential practical application of my results. I think of databases for
geo-information, CAD-data, or, in general, applications that must handle
topological data with arbitrary topologies.

A brief description:
During my work I have realized an interesting link between Relational
Algebra and Topology:
(1) Every finite topological space has a simple and efficient
    relational representation.
(2) Every Relational Algebra operator has a corresponding topological
    construction. This yields a complete query language for spaces.

So the idea was to extend the relational model in the following way:
  (i) Given a database table $X$ add a relational representation of
      a topology $T_X$ for $X$ such that the pair $(X,T_X)$ becomes
      a topological space. The records in $X$ constitute the pointset
      and a binary relation $R$ on $X$ represents the topology.
 (ii) Provide a version for each database query operator that takes
      /spaces/ as input and produces result spaces:
      First act as usual on the pointsets.
      Then each result set of such query has a uniquely determined
      result topology, (see
      and which yields
      a query result space.
(iii) Do this in Lisp because Lisp is fun.
 (iv) I wanted to use (and extend) CLSQL first but then decided to
      change from SQL (after finding the word "madness" in the
      grammar file of PostgreSQL) to Relational Algebra of which I
      defined a Lispy syntax.

The web-page describes everything in more detail, contains the sources,
and has a running instance of the experimental database server. The
server is just meant as proof-of-concept and, of course, still far far
away from parcatical usefullness.

I am interested in a discussion here, because it seemed that reviewers
tended to frown on my (any my co-workers) work because, for example:
(1) The applied mathematics is too challenging for the average
    audience at scientific conferences (that was an actual remark)
(2) Why should we need database systems particularly designed for
(3) Arbitrary topological dimension leads to an "combinatorial
    explosion of complexity" (another actual remark. Funny, because
    obviously wrong)

Phelan Jackson

Feb 3, 2017, 5:34:42 PM2/3/17
I think I noticed the same thing the other week - topologies are
defined by their binary distance relations (apologize for my poor use
of notation, I have a bachelors but I'm no academic). Googled
"relational algebra topology" and found this post but the link to the
article seems to be broken.

So why shouldn't relational databases take advantage of this fact? I
understand it might be difficult for complex structures, but I really
like the idea of "querying" based on the actual structure of data (e.g.
colors in a wheel) instead of just throwing everything in a table and
acting like it's all unrelated data points (and then analyzing it
stochastically).  I've seen tables where parent and child relations are
used to represent hierarchies but usually it's all transactional (so
the data points in a row are just related by definition)

I was actually thinking about speech analytics when I made the
connection. For instance, the phrase "red and blue" seems to have a
topological structure in terms of the words: (red, and) (and, blue) are
distance relations but (red, blue) definitely isn't.  However, the
phrase "red blue" would correspond to (red, blue) but intuitively this
seems more like purple.

This is an overly simple example but just wanted to start up a
conversation. Looking forward to your reply.

*as a side note this makes the whole "non relational DBMS" movement
seem like an oxymoron
0 new messages