All Projects → ltworf → relational

ltworf / relational

Licence: GPL-3.0 license
Educational tool for relational algebra

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to relational

AlgebraicRelations.jl
Relational Algebra, now with more algebra!
Stars: ✭ 31 (-55.71%)
Mutual labels:  algebra, relational-algebra
qwebchannel-bridge
🌉How to intergrate @qt qwebchannel with @vuejs
Stars: ✭ 17 (-75.71%)
Mutual labels:  qt5
DrawingBoard
NJU_Graphics_Homework / 计算机图形学课程大作业
Stars: ✭ 37 (-47.14%)
Mutual labels:  qt5
3d-nii-visualizer
A NIfTI (nii.gz) 3D Visualizer using VTK and Qt5
Stars: ✭ 86 (+22.86%)
Mutual labels:  qt5
gamestudio
2D game engine and editor
Stars: ✭ 207 (+195.71%)
Mutual labels:  qt5
geotagging
Photography geotagging tool
Stars: ✭ 17 (-75.71%)
Mutual labels:  qt5
wavebin
∿ Oscilloscope waveform capture viewer and converter.
Stars: ✭ 31 (-55.71%)
Mutual labels:  qt5
Face-Recognition-Class-Attendance-System
基于人脸识别的课堂考勤系统v2.0
Stars: ✭ 129 (+84.29%)
Mutual labels:  qt5
Crusta
Fast, modern and minimal desktop web browser with rich features
Stars: ✭ 53 (-24.29%)
Mutual labels:  qt5
HandsomeMod
IOT freedom for end users!
Stars: ✭ 39 (-44.29%)
Mutual labels:  qt5
DeadAscend
A 2D point'n'click-like adventure game written in Qt/QML and Javascript
Stars: ✭ 37 (-47.14%)
Mutual labels:  qt5
diagnostictools
Plugin for Qt Creator (Memory and CPU usage visualizer)
Stars: ✭ 41 (-41.43%)
Mutual labels:  qt5
oxygenjs
This a JavaScript Library for the Numerical Javascript and Machine Learning
Stars: ✭ 13 (-81.43%)
Mutual labels:  algebra
studio
GAMS Studio
Stars: ✭ 25 (-64.29%)
Mutual labels:  qt5
Cryptix
A small application to quickly encrypt and decrypt text, using known basic methods (Caesar, Polybe...)
Stars: ✭ 14 (-80%)
Mutual labels:  qt5
erk
Ərk is an open source, cross-platform IRC client written in Python 3, Qt 5, and Twisted.
Stars: ✭ 21 (-70%)
Mutual labels:  qt5
ModBuddy
Mod buddy is a mod manager created with extensibility in mind
Stars: ✭ 30 (-57.14%)
Mutual labels:  qt5
idasix
IDAPython compatibility library. idasix aims to create a smooth ida development process and allow a single codebase to function with multiple IDA/IDAPython versions
Stars: ✭ 24 (-65.71%)
Mutual labels:  qt5
headunit-gui
GUI developement repo for my Headunit App
Stars: ✭ 17 (-75.71%)
Mutual labels:  qt5
swm-core
Pure Math in Pure Swift.
Stars: ✭ 190 (+171.43%)
Mutual labels:  algebra

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].