pyshacl_turbo_engine/
lib.rs1#![doc = concat!("<div>\n", include_str!("architecture.svg"), "\n</div>\n\n")]
6#![doc = include_str!("architecture.md")]
7
8mod compile;
9mod components;
10mod constraints;
11mod display;
12mod execute;
13mod expression;
14mod functions;
15mod graph;
16#[cfg(test)]
17mod graph_backend_tests;
18mod graph_read;
19mod graph_views;
20#[cfg(test)]
21mod graph_views_tests;
22mod inference;
23mod ontology;
24mod path;
25mod pattern;
26mod query_graph;
27#[cfg(test)]
28mod query_graph_tests;
29mod revision;
30mod sparql;
31mod sparql_regex;
32mod structural;
33mod value;
34
35#[cfg(test)]
36mod structural_tests;
37
38pub use compile::CompiledShapes;
39pub use execute::{Options, RuleExpansion, ValidationReport};
40pub use functions::evaluate_query;
41pub use graph::{
42 parse as parse_graph, parse_dataset, parse_store_snapshot, serialize as serialize_graph,
43 store_quad,
44};
45pub use graph_read::GraphRead;
46pub use graph_views::{OverlayGraph, UnionGraph};
47pub use inference::{expand as infer, expand_into as infer_into};
48pub use ontology::inoculate;
49pub use oxigraph;
50pub use query_graph::QueryGraph;
51pub use revision::fingerprint as engine_fingerprint;
52
53#[derive(Debug, thiserror::Error)]
54pub enum Error {
55 #[error("SHACL validation failure: {0}")]
56 ValidationFailure(String),
57 #[error("Unsupported feature: {0}")]
58 Unsupported(String),
59 #[error("{0}")]
60 Invalid(String),
61 #[error("{0}")]
62 Runtime(String),
63 #[error("SPARQL evaluation failed: {0}")]
64 Query(#[from] oxigraph::sparql::QueryEvaluationError),
65}
66
67pub type Result<T> = std::result::Result<T, Error>;