Additions:
- Compilation of (subset of) trained models into PostgreSQL (possible direct evaluation in database)
- `MetaConv` module
- `MAGNNMean` module (without attention)
- `MAGNNLinear` module (without attention)
- Recursive Neural Network (`RvNN`) module
- Recurrent Neural Network (`RNN`) module
- Long Short-Term Memory (`LSTM`) module
- Gated Recurrent Unit (`GRU`) module
- New `Activation` - `INVERSE` ($1 / x$), `REVERSE` $(1 - x)$ , `SQRT` ($\sqrt{x}$), `NORM`, `TRANSP`, `EXP`
- New dataset sources: `CSVDataset` (csv files/strings) and `DBDataset` (aimed for psycopg2 support, but other connectors for different dbs might work as well)
- `Template::remove_duplicates` method for removing duplicate rules
- `InferenceEngine::get_queries` method for listing all possible queries for a template
- Support for activation functions on body literals (e.g., `R.h(V.X) <= (Activation.SIGMOID(R.atom(V.Y)), R.edge(V.Y, V.X))`)
Changes:
- `Term` (`T`) renamed to `Constant` (`C`)
- Removed "adding" of `Activation` with `ActivationAgg` -> instead of `ActivationAgg.MAX + Activation.SIGMOID` use `ActivationAgg.MAX(Activation.SIGMOID)`
- `Activation`, `Aggreagation`, `ActivationAgg` are no longer enums
- Negation of literal (e.g., `-R.literal`) now applies `REVERSE` activation function on the literal (not the actual negation)
Bug Fixes:
- Many bug fixes