Salvo 'LtWorf' Tomaselli a6898697a6
CHANGELOG
2020-08-24 19:09:20 +02:00
2020-08-13 14:34:00 +02:00
2020-08-24 18:02:39 +02:00
2020-08-24 19:09:20 +02:00
2020-08-24 19:09:20 +02:00
2011-03-04 12:38:00 +00:00
2020-08-12 21:12:55 +02:00
2020-08-24 18:37:55 +02:00
2020-08-24 10:26:41 +02:00
2020-08-12 19:36:26 +02:00
2020-08-24 18:02:39 +02:00
2020-08-24 19:09:20 +02:00
2016-01-03 09:05:15 +01:00
2008-07-17 22:53:32 +00:00
2020-08-24 18:37:55 +02:00
2020-08-24 10:40:01 +02:00
2020-08-24 14:38:45 +02:00
2015-11-06 16:13:36 +01:00
2015-11-06 16:13:36 +01:00
2016-04-27 19:48:00 +02:00
2020-08-24 10:41:50 +02:00
2020-08-12 19:36:25 +02:00

Relational

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

screenshot

I test it on GNU/Linux and Windows. It probably works on other systems too.

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 https://ltworf.github.io/relational/

Install

Run from sources

For the dependencies, check debian/control for the build dependencies.

You will need to run

make

to generate some .py files.

To launch the application, run

./relational.py

Syntax

These are some valid queries (using the provided example dataset)

# Join people and skills
people ⋈ skills

# Select people within a certain age range
σ age > 25 and age < 50 (people)

# Selection with complicated expression requires an extra set of () around the expression
σ (name.upper().startswith('J') and age > 21) (people)

# Cartesian product of people with itself, including only name and id
ρ id➡i, name➡n (people) * π name, id (people)

For the selection, python expressions are used.

The syntax is explained here: https://ltworf.github.io/relational/allowed_expressions.html

Description
No description provided
Readme 9.1 MiB
Languages
Python 96.2%
Makefile 1.7%
Roff 1%
Inno Setup 1%