cf377eca46
This converts the GUI code to use Qt5 and Python3 The GUI is still somewhat buggy, and it can't open files yet, but seems to be mostly working, extensive testing will be needed before this can be released.
49 lines
1.2 KiB
Markdown
49 lines
1.2 KiB
Markdown
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
|
||
```
|
||
|
||
More documentation can be found here http://ltworf.github.io/relational/
|
||
|
||
|
||
|
||
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 this is not supported.
|
||
|