Go to file
Salvo 'LtWorf' Tomaselli fd8d0089de better readme 2015-02-11 17:07:39 +07:00
debian debian changelog 2015-02-11 14:50:43 +07:00
feedback-ltworf Prepare for new version 2014-01-11 12:21:41 +07:00
relational Get rid of the last remains of galileo 2013-12-27 00:47:48 +07:00
relational_curses Changed about and README to not point to galileo anymore 2013-12-27 00:31:43 +07:00
relational_gui Get rid of the last remains of galileo 2013-12-27 00:47:48 +07:00
relational_pyside Changed about and README to not point to galileo anymore 2013-12-27 00:31:43 +07:00
relational_readline Fix bug in relational-cli that made it crash when an exception was raised 2014-01-11 12:27:16 +07:00
samples - Change from 0.12 to version 1.0 2011-03-04 12:38:00 +07:00
setup Prepare for new version 2014-01-11 12:21:41 +07:00
test - Can convert the expressions into python code objects as well 2013-02-10 14:11:26 +07:00
website Website 2014-01-01 11:15:25 +07:00
windows Prepare for new version 2014-01-11 12:21:41 +07:00
.gitignore gitignore 2013-02-10 14:25:30 +07:00
CHANGELOG Fix bug in relational-cli that made it crash when an exception was raised 2014-01-11 12:27:16 +07:00
COPYING renamed equijoin to thetajoin 2008-07-17 22:53:32 +07:00
CREDITS - termcolor modified to use bold by default 2011-04-01 10:28:47 +07:00
Makefile More generic, better and shorter clean target 2013-12-28 10:53:47 +07:00
README.md better readme 2015-02-11 17:07:39 +07:00
TODO - Using more the colored class 2011-05-02 10:02:06 +07:00
complexity Get rid of the last remains of galileo 2013-12-27 00:47:48 +07:00
driver.py Changed about and README to not point to galileo anymore 2013-12-27 00:31:43 +07:00
relational-cli.1 - Change from 0.12 to version 1.0 2011-03-04 12:38:00 +07:00
relational.1 - Debian package can now be installed with pyside and not pyqt 2011-10-13 20:15:38 +07:00
relational.desktop Make lintian happy 2013-12-27 01:02:04 +07:00
relational_gui.py Prepare for new version 2014-01-11 12:21:41 +07:00

README.md

Relational an educational tool to provide a workspace for experimenting with relational algebra, an offshoot of first-order logic.

It provides GUI that can be used for executing relational queries, and also provides a command line interface.

Provides a standalone Python module that can be used for executing relational queries, parsing relational expressions and optimizing them.

Install

Windows installer can be found here: https://code.google.com/p/relational/downloads/list

For Linux, check your distribution's packages, relational is available on Debian and Ubuntu.

Syntax

These are some valid queries

σage > 25 and rank == weight(A)
σ (name.upper().startswith('J') and age>21 )(people)
Q ᐅᐊ π a,b(A) ᐅᐊ B
ρid➡i,name➡n(A) - π a,b(π a,b(A)) ᑎ σage > 25 or rank = weight(A)
π a,b(π a,b(A))
ρid➡i,name➡n(π a,b(A))
A ᐅᐊ B

Formal language definition at this link https://github.com/ltworf/relational/wiki/Grammar-and-language

Run from sources

To launch the application, run

./relational_gui.py

If it needs some dependencies: Qt4, Python 2.7, either PyQT4 or Pyside.

It can run on osx but this is not supported.