Hi Boris,
the statement that rules only do a single iteration was basically only
written for the formal spec, because it simplified the definition and
avoided all kinds of complications that the WG didn't have time to
handle. (Rules in general were just an optional add-on for the Data
Shapes WG).
In practice, we (of course) support iterative rule execution in our
tools. Basically as you say, fixpoint iteration. Programmatically it
just means restart at the first rule, taking the inferences graph from
the previous loop as input.
Was your question about specific features of TopBraid of just about
SHACL-AF in general?
Holger
On 2021-05-25 9:33 am, Boris Pelakh wrote:
I have read in the SHACL-AF spec that rules are applied in strict
sh:order precedence, and there is no way to control intra-order
execution. Are there any plans to allow for iterative entailment where
rules are applied until no new triples are inferred (a stable state is
achieved), the way regular inference engines work?
Here is my particular use case - I would like to be able to enforce,
via SHACL, the maximum depth of a SKOS-based taxonomy. Using something
like a Datalog engine, I would be able to set up the following rules:
[?topConcept,:hasDepth,0] :- [?any, skos:hasTopConcept, ?topConcept].
[?concept,:hasDepth,?plusOne] :-
[?concept, skos:broader, ?broader],
[?broader, :hasDepth, ?depth],
BIND(?depth + 1 as ?plusOne).
I could then set up a shape with a max value for the :hasDepth
property. But SHACL rules, as currently specified, would not allow me
to achieve this goal. Is there an alternative path?
PS I know I would be able to do this with a query if I could guarantee
that every concept had at most 1 skos:broader, but since that property
is not functional and polyhierarchies are something I need to be able
to handle, that's not an option.
--
You received this message because you are subscribed to the Google
Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/topbraid-users/94646524-3f45-4668-8c31-d07a8dcfd79en%40googlegroups.com
<https://groups.google.com/d/msgid/topbraid-users/94646524-3f45-4668-8c31-d07a8dcfd79en%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups "TopBraid
Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/topbraid-users/3899a75b-db44-f1d8-016b-d4e3067e51a0%40topquadrant.com.