Relation:Model
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 |
