pub enum ShaclError {
Show 24 variants
ShapeParsing(String),
ConstraintValidation(String),
TargetSelection(String),
PropertyPath(String),
PathEvaluationError(String),
SparqlExecution(String),
ValidationEngine(String),
ReportGeneration(String),
Configuration(String),
Core(OxirsError),
Io(String),
Regex(Error),
Json(String),
IriResolution(IriResolutionError),
SecurityViolation(String),
ShapeValidation(String),
Timeout(String),
MemoryLimit(String),
RecursionLimit(String),
MemoryPool(String),
MemoryOptimization(String),
AsyncOperation(String),
UnsupportedOperation(String),
ReportError(String),
}Expand description
Core error type for SHACL operations.
Every fallible API in this crate returns Result<T>, which is a
type alias for std::result::Result<T, ShaclError>. The variants below cover the full
surface area of the validation pipeline — parsing, constraint evaluation, property
path traversal, SPARQL execution, reporting, and resource limits.
All variants derive thiserror::Error and provide a human-readable Display
implementation suitable for inclusion in user-facing diagnostics. Errors that wrap
foreign types (oxirs_core::OxirsError, regex::Error, IriResolutionError)
implement From so the ? operator works without boilerplate.
Variants§
ShapeParsing(String)
A shape document failed to parse (malformed Turtle/RDF, missing required terms, or invalid SHACL syntax).
ConstraintValidation(String)
A constraint definition was rejected during structural validation
(e.g. invalid sh:pattern regex, contradictory cardinalities).
TargetSelection(String)
Target selection failed — typically a malformed sh:target* declaration
or an inaccessible store.
PropertyPath(String)
A property path expression could not be parsed.
PathEvaluationError(String)
A property path evaluated correctly but produced an unexpected result during traversal (cycles, infinite paths beyond the recursion limit).
SparqlExecution(String)
A SPARQL query (used by SHACL-SPARQL constraints, SHACL-AF targets, or the optimizer) failed to execute.
ValidationEngine(String)
The validation engine itself reported an internal error (orchestration failure, scheduler error, etc.).
ReportGeneration(String)
Producing a validation report failed (serialisation, IO, or formatter error).
Configuration(String)
A user-supplied ValidationConfig or builder argument is invalid.
Core(OxirsError)
Wrapped error originating in the oxirs-core RDF data model.
Io(String)
Wrapped std::io::Error.
Regex(Error)
A sh:pattern regex failed to compile.
Json(String)
JSON serialisation/deserialisation error (used by the JSON-LD report writer and YAML config loader).
IriResolution(IriResolutionError)
IRI resolution failed (relative IRI without a base, malformed prefix, etc.).
SecurityViolation(String)
A SHACL-SPARQL constraint was rejected by the security policy (forbidden function, query too expensive, network egress denied).
ShapeValidation(String)
A higher-level shape contract was violated
(e.g. inheritance cycle, conflicting sh:property definitions).
Timeout(String)
Validation exceeded the configured wall-clock timeout.
MemoryLimit(String)
Validation exceeded the configured memory budget.
RecursionLimit(String)
Recursive shape evaluation reached ValidationConfig::max_recursion_depth.
MemoryPool(String)
Internal pool used for short-lived allocations failed.
MemoryOptimization(String)
Memory-aware optimisation pass aborted.
AsyncOperation(String)
An async runtime task failed (only when the async feature is enabled).
UnsupportedOperation(String)
A construct was recognised but is not yet implemented in this build (typically gated behind a Cargo feature).
ReportError(String)
Generic report-related failure (writer IO, missing template, etc.).
Trait Implementations§
Source§impl Clone for ShaclError
impl Clone for ShaclError
Source§fn clone(&self) -> ShaclError
fn clone(&self) -> ShaclError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ShaclError
impl Debug for ShaclError
Source§impl Display for ShaclError
impl Display for ShaclError
Source§impl Error for ShaclError
impl Error for ShaclError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<Error> for ShaclError
impl From<Error> for ShaclError
Source§impl From<Error> for ShaclError
impl From<Error> for ShaclError
Source§impl From<Error> for ShaclError
impl From<Error> for ShaclError
Source§impl From<Error> for ShaclError
impl From<Error> for ShaclError
Source§impl From<Error> for ShaclError
impl From<Error> for ShaclError
Source§impl From<Error> for ShaclError
impl From<Error> for ShaclError
Source§impl From<IriResolutionError> for ShaclError
impl From<IriResolutionError> for ShaclError
Source§fn from(source: IriResolutionError) -> Self
fn from(source: IriResolutionError) -> Self
Source§impl From<OxirsError> for ShaclError
impl From<OxirsError> for ShaclError
Source§fn from(source: OxirsError) -> Self
fn from(source: OxirsError) -> Self
Source§impl From<ShaclError> for IntegrationError
impl From<ShaclError> for IntegrationError
Source§fn from(source: ShaclError) -> Self
fn from(source: ShaclError) -> Self
Auto Trait Implementations§
impl Freeze for ShaclError
impl RefUnwindSafe for ShaclError
impl Send for ShaclError
impl Sync for ShaclError
impl Unpin for ShaclError
impl UnsafeUnpin for ShaclError
impl UnwindSafe for ShaclError
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.