2f12a0e89d
This is supposed to be used for all malformed queries and all the ones that are invalid for incompatibility reason, and make sure that they actually fail. |
||
---|---|---|
debian | ||
feedback-ltworf | ||
relational | ||
relational_gui | ||
relational_readline | ||
samples | ||
setup | ||
test | ||
windows | ||
.gitignore | ||
CHANGELOG | ||
COPYING | ||
CREDITS | ||
Makefile | ||
README.md | ||
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 works on GNU/Linux, Windows and OS X.
It provides:
- A GUI that can be used for executing relational queries
- A standalone Python module that can be used for executing relational queries, parsing relational expressions and optimizing them
- A command line interface
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
If it needs some dependencies:
- Qt5
- Python 3.4 or greater
- PyQt5
- pyuic5 and pyrcc5
You will need to run
make
to generate some .py files.
To launch the application, run
./relational_gui.py
or
python3 relational_gui.py