0aa372792f
Adds some functions to store and load an entire session as a binary blob. In this way the user does not need to re-load all the relations from the previous session. |
||
---|---|---|
debian | ||
feedback-ltworf | ||
relational | ||
relational_gui | ||
relational_readline | ||
samples | ||
setup | ||
test | ||
windows | ||
.gitignore | ||
CHANGELOG | ||
COPYING | ||
CREDITS | ||
Makefile | ||
README.md | ||
TODO | ||
complexity | ||
driver.py | ||
relational-cli.1 | ||
relational.1 | ||
relational.desktop | ||
relational_gui.py |
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.