As far as I know, there is nothing for

- guaranteed rule ordering
- stratification
- dependency analysis
- truth maintenance

The Data Shapes WG (the SHACL WG) has work going on to specify a rules system for RDF.

It's taking forward the work in SHACL-AF [1], the SHACL Advanced Features note, which includes the great text "The latter is left to future work" (repeated application of rules).

So this work is motivated by user interest and is seeing the AF idea through.

The *in-complete* *work-in-progress* editors working draft is:

    https://www.w3.org/TR/shacl12-rules/

This is datalog with stratified negation as failure.

There are two concrete syntaxes: a SPARQL-style syntax and an RDF encoding [2]. They are equivalent in that there is nothing you can express in one which is not available in the other. They both parse to an abstract form, which is then evaluated to defined the outcome.


I have an implementation in-progress. There are command line tools to parser/print a rule set and to infer triples.

The goal at the moment is correct functionality, with a modular architecture for a range of execution strategies. Scale and performance and not goals at the moment.

There is one execution engine currently, and it is simple (i.e. it can be understood quite easily), but does generate the right answers that can then be used to test against future engines.

This is not a replacement for the rule system in jena-core. Ideally, some or all of that technology can be integrated but that's some way off yet.

    Andy

SHACL-AF Rules
[1] https://w3c.github.io/shacl/shacl-af/index.html#rules
Not implemented by jena-shacl.

Reply via email to