Skip to main content

Module infer

Module infer 

Source
Expand description

SHACL-AF rule inference (Layer 6) — least-fixpoint forward chaining.

A rule fires on its focus nodes for which all sh:conditions hold, producing triples from its head’s node expressions. Per the decided semantics (docs/03-recursion-semantics.md), inference is the least fixpoint. Rules run in ascending sh:order groups, and output from a later group may reactivate an earlier group in the next pass. Predicate-level delta scheduling avoids rerunning rules whose graph reads cannot observe the newly added triples. Triple rules only combine existing terms, and SPARQL CONSTRUCT results containing fresh blank nodes are rejected, preserving termination for the supported subset.

Function node expressions are not executed yet; they are reported as diagnostics rather than silently skipped.

Structs§

InferenceOutcome
The result of running inference over a data graph.

Functions§

infer
Run rule inference to a least fixpoint, ordered by sh:order.
infer_graphs
Run inference over split data and shapes graphs.
infer_with_context
Run inference with data-scoped focus discovery and a broader execution context. context should contain data; newly inferred triples are added to both the returned data graph and the mutable execution context.