Go to file
Salvo 'LtWorf' Tomaselli e4158a3685 Refactored rename header
Now will directly raise an exception, requiring one less if
2015-06-01 08:58:54 +07:00
debian Make everything point to the brand new website 2015-02-11 19:50:41 +07:00
feedback-ltworf Prepare for new version 2014-01-11 12:21:41 +07:00
relational Refactored rename header 2015-06-01 08:58:54 +07:00
relational_curses Changed about and README to not point to galileo anymore 2013-12-27 00:31:43 +07:00
relational_gui Print compiled expressions for multiline queries 2015-06-01 07:34:21 +07:00
relational_readline Prints ^C in CLI mode when Ctrl+C is pressed 2015-02-19 12:57:02 +07:00
samples - Change from 0.12 to version 1.0 2011-03-04 12:38:00 +07:00
setup Make everything point to the brand new website 2015-02-11 19:50:41 +07:00
test Change relational language to use math symbols 2015-05-31 19:01:03 +07:00
windows Make everything point to the brand new website 2015-02-11 19:50:41 +07:00
.gitignore gitignore 2013-02-10 14:25:30 +07:00
CHANGELOG Added new changes in CHANGELOG 2015-06-01 08:42:40 +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 Switch GUI generation to Qt5 2015-02-19 13:59:41 +07:00
README.md Updated README's examples 2015-05-31 19:12:10 +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 Switch core module to Python3 2015-02-19 12:42:41 +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 Remove manual font setting 2015-06-01 00:02:32 +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.

Official website

More documentation can be found here http://ltworf.github.io/relational/

Install

Binary download for Windows can be obtained from the website.

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

Run from sources

To launch the application, run

./relational_gui.py

If it needs some dependencies: Qt5, Python 3.4 or greater, PyQt5

It can run on osx but bugreports about that will be rejected.