N3 mapping rules for the workflow composer that dynamically reasons about the next journey, container, or component-level steps to be executed.
To run the rules, you need an installation of the EYE reasoner.
For your convenience, we provide a Docker image (./Dockerfile
), which is built as follows
docker build -t custom-eye .
To run the rules, we provided a test script using Node.js that ties all phases together. To run it, do
cd src/
npm install
npm run test
rules
: all N3 rulesoslo-steps
: all OSLO-Steps specific rulesshacl
: transformation rules for SHACL as shape languageutil
: utility funcitonsworkflow-composer
: workflow composer (optimization) rules
scenarios
: demonstrator sets of steps, states, and shapessrc
: JavaScript Node.js code to use the N3 rules
All output files are stored under _output
, per scenario.
This means some intermediate files are used as cache and subsequent runs will be much faster.
./convert-encoding.ps1
on ./demo/
(you will get a prompt) makes sure that all input ttl/n3 files have the right encoding
- Preselection to make sure that only the linked to steps are taken into account, not all described steps.
- noPermutations: disable permutations to make sure no redundant suggestions are made (e.g. when there are no dependencies between them, paths
provideFirstName > provideLastName
is equivalent toprovideLastName > provideFirstName
are deemed equivalent)
- What is :pattern?
- input: stateShape
- output: list of 4 elements
-
- triples graph with the path
-
- graph where the path graph is skolemed to the output
-
- output: deprecated?
-
- ???
-
- What does the :separate function do?
- What does the :unfold function do?
- What does e:skolem do?
- :ShortDescription and :reliesOn?