Expand description
Validation + SHACL-AF inference execution (Layers 3, 6, 7).
Layer 3 lives here: the naive denotational evaluator that is the conformance
oracle — relational path evaluation (path), value-type checks
(value), and shape/schema satisfaction ([validate]). The rule/fixpoint
inference engine (Layer 6) and compiled executors (Layer 7) come later; every
execution mode must agree with this oracle.
Re-exports§
pub use enumerate::EnumOptions;pub use enumerate::FixpointResult;pub use enumerate::RepairSolution;pub use enumerate::candidates;pub use enumerate::enumerate_repair;pub use enumerate::repair_to_fixpoint;pub use gate::RepairOutcome;pub use gate::apply;pub use gate::gate;pub use infer::InferenceOutcome;pub use infer::infer;pub use infer::infer_graphs;pub use infer::infer_with_context;pub use report::ValidationReport;pub use report::ValidationResult;pub use report::report_to_graph;pub use report::validate_report;pub use report::validate_report_graphs;pub use report::validate_report_graphs_with_mode;pub use report::validate_report_graphs_with_mode_and_options;pub use report::validate_report_with_options;pub use synthesize::synthesize;pub use synthesize::synthesize_focus;pub use validate::NonStratifiable;pub use validate::Reason;pub use validate::ValidationGraphMode;pub use validate::ValidationOptions;pub use validate::ValidationOutcome;pub use validate::Violation;pub use validate::focus_nodes;pub use validate::validate;pub use validate::validate_graphs;pub use validate::validate_graphs_with_mode;pub use validate::validate_graphs_with_mode_and_options;pub use validate::validate_plan;pub use validate::validate_plan_graphs;pub use validate::validate_plan_graphs_with_mode;pub use validate::validate_plan_graphs_with_mode_and_options;pub use validate::validate_plan_with_context;pub use validate::validate_plan_with_context_and_options;pub use validate::validate_plan_with_options;pub use validate::validate_with_context;pub use validate::validate_with_context_and_options;pub use validate::validate_with_options;pub use witness::BlockReason;pub use witness::FocusSat;pub use witness::FocusWitness;pub use witness::PathSupport;pub use witness::RelKind;pub use witness::SatTrace;pub use witness::Witness;pub use witness::satisfy_shape;pub use witness::shape_id_for_iri;pub use witness::witness_node;pub use witness::witness_shape;pub use witness::witness_violations;
Modules§
- enumerate
- The enumeration reference driver (
docs/07-repair-drivers.md§4) and thecandidateshelper (docs/06-repair.md§3.3). - frozen
- Immutable dictionary-encoded RDF dataset built at the inference→validation
boundary. Implements
spareval::QueryableDatasetso Oxigraph’s prepared SPARQL evaluator can execute queries against it without a mutable Store. - gate
- The re-validation gate (
docs/06-repair.md§8). - infer
- SHACL-AF rule inference (Layer 6) — least-fixpoint forward chaining.
- path
- Relational evaluation of the path algebra
⟦π⟧^G(doc 00 §2, Table 1). - profile
- Opt-in execution telemetry (doc §269). Collected via a thread-local so no
validation API signatures change. Enable with
enable(), consume withtake(). - report
- W3C
sh:ValidationReportgeneration (component-granular, RDF-driven). - synthesize
- Synthesis:
FocusWitness→RepairTree(docs/06-repair.md§6). - validate
- Reference shape satisfaction
G, v ⊨ φand schema validationG ⊨ S(doc 00 §3–§4, Table 2). This is the conformance oracle: the optimized engines in later layers must agree with it. - value
- Evaluation of value types
test(τ)and the term ordering used bysh:lessThan, ranges, etc. Naive reference semantics. - witness
- The witnessing evaluator (
docs/06-repair.md§5) — the structured, lossless sibling ofexplain. For a focus node that fails a statement it returns aWitness: the failed sub-DAG ofφ, pruned to exactly what did not hold, with the structural gap at each node. Its dual,SatTrace, records why a shape currently holds, so aNot(φ)failure can be repaired by breakingφ. The two are mutually recursive throughNot.