With Belle Nuit Relation, you create relations by importing (CSV, TAB, JSON) or on the fly, then you process them and then you export them. You can visualize steps of the process in the notebook.

steps instructions
Create relation insert, data, read, import
Process relation select, project, rename, extend, parse
Combine relations join, union, difference, serialize, deserialize
Prepare for output order, limit
Visualize echo, format, print
Export write

A relation is a sequence of the above instructions. The execution is linear with a stack machine, but each step is executed on a entire relation, therefore a double loop on row and columns.

The linear sequence is sometimes limiting. Relation provides therefore also structures to go further.

structure use
function define custom functions to extend the built in functions
aggregator define custom aggregators to extend the built in aggregators in project
program encapsulate and use parameters with a sequence of instructions
set define global values and assign inside functions, aggregators and programs
if conditional execution (only inside functions and aggregators)
while conditional loop (only inside functions and aggregators)
dup, pop, swap stack operators