Motivation: This was developed as part of BIM2RDF where the conversion from BIM to RDF is framed as 'mapping rules'.
Rules are processes that generate triples. They are simply applied until no new triples are produced. Oxigraph is used to store data.
A rule is defined as a function that takes an Oxigraph instance and returns quads.
- Handling of anonymous/blank nodes: They can be deanonimized.
- Oxigraph can handle RDF-star data and querying. However, if
The package can be obtained from PyPi.
Note the CLI is optional: rdf-engine[cli]
.
A 'program' is defined as a sequence of engine runs initialized by a `db'. Each engine run takes:
- (engine)
params
- and a list of
rules
. Each rule needs amodule
,maker
, andparams
. See program example in test script.
- KISS: It should only address executing rules. Therefore, the code is expected to be feature complete (without need for adding more 'features').
- Minimal dependencies: follows from above.
- Explicit > Implicit: Parameters should be specificed (explicitly).