Skip to main content

Crate oxirs_shacl

Crate oxirs_shacl 

Source
Expand description

§OxiRS SHACL - RDF Validation Engine

Version docs.rs

Status: Production Release (v0.2.2) Stability: Public APIs are stable. Production-ready with comprehensive testing.

SHACL (Shapes Constraint Language) validation engine for RDF data. Provides comprehensive constraint validation with SHACL Core and SHACL-SPARQL support.

§Features

  • SHACL Core - Complete SHACL Core constraint validation
  • SHACL-SPARQL - SPARQL-based constraints (experimental)
  • Property Paths - Full property path evaluation
  • Logical Constraints - sh:and, sh:or, sh:not, sh:xone
  • Validation Reports - Comprehensive violation reporting
  • Performance - Optimized validation engine

§See Also

§Basic Usage

use oxirs_shacl::{ValidationConfig, ValidationStrategy}; use oxirs_core::{Store, model::*}; // Create a validation configuration let config = ValidationConfig::default() .with_strategy(ValidationStrategy::Optimized) .with_inference_enabled(true); // Validation is typically performed using ValidationEngine // See examples/ directory for complete working examples 

§Advanced Features

For detailed examples and advanced usage patterns, including:

  • Custom constraint components
  • Parallel and incremental validation
  • Enterprise security and compliance features
  • Federated validation
  • Production deployment patterns

Please refer to the individual module documentation and the examples directory in the repository.

Re-exports§

pub use crate::optimization::integration::ValidationStrategy;
pub use advanced_features::AdvancedTarget;
pub use advanced_features::AdvancedTargetSelector;
pub use advanced_features::ConditionalConstraint;
pub use advanced_features::ConditionalEvaluator;
pub use advanced_features::ConditionalResult;
pub use advanced_features::FunctionInvocation;
pub use advanced_features::FunctionParameter;
pub use advanced_features::FunctionRegistry;
pub use advanced_features::FunctionResult;
pub use advanced_features::InferenceStrategy;
pub use advanced_features::InferredShape;
pub use advanced_features::ParameterType;
pub use advanced_features::ReturnType;
pub use advanced_features::RuleEngine;
pub use advanced_features::RuleEngineStats;
pub use advanced_features::RuleExecutionResult;
pub use advanced_features::ShaclFunction;
pub use advanced_features::ShaclRule;
pub use advanced_features::ShapeInferenceConfig;
pub use advanced_features::ShapeInferenceEngine;
pub use advanced_features::ShapeRegistry;
pub use analytics::ValidationAnalytics;
pub use cache::CacheStats;
pub use cache::CachedValidationResult;
pub use cache::ParallelConstraintConfig;
pub use cache::ParallelConstraintOutcome;
pub use cache::ParallelConstraintValidator;
pub use cache::ParallelValidationStats;
pub use cache::ParallelValidationSummary;
pub use cache::TripleKey;
pub use cache::ValidationCache;
pub use cache::ValidationCacheKey;
pub use constraints::AdvancedSparqlConstraint;
pub use constraints::AlwaysViolatingEvaluator;
pub use constraints::Constraint;
pub use constraints::ConstraintContext;
pub use constraints::ConstraintEvaluationResult;
pub use constraints::ExpressionConstraintComponent;
pub use constraints::ExpressionConstraintResult;
pub use constraints::ExpressionContext;
pub use constraints::ExpressionEvaluator;
pub use constraints::FailingEvaluator;
pub use constraints::MockSparqlEvaluator;
pub use constraints::NodeKindConstraint;
pub use constraints::PathResolver;
pub use constraints::PropertyConstraint;
pub use constraints::ShaclExpression;
pub use constraints::ShaclValue;
pub use constraints::SparqlConstraintResult;
pub use constraints::SparqlConstraintSeverity;
pub use constraints::SparqlEvaluator;
pub use custom_components::ComponentMetadata;
pub use custom_components::CustomConstraint;
pub use custom_components::CustomConstraintRegistry;
pub use custom_components::EmailValidationComponent;
pub use custom_components::RangeConstraintComponent;
pub use custom_components::RegexConstraintComponent;
pub use incremental::Changeset;
pub use incremental::GraphChange;
pub use incremental::IncrementalConfig;
pub use incremental::IncrementalStats;
pub use incremental::IncrementalValidator;
pub use optimization::NegationOptimizer;
pub use optimization::OptimizationConfig;
pub use optimization::OptimizationResult;
pub use optimization::OptimizationStrategy;
pub use optimization::ValidationOptimizationEngine;
pub use report::ReportFormat;
pub use report::ReportGenerator;
pub use report::ReportMetadata;
pub use report::ValidationReport;
pub use report::ValidationSummary;
pub use scirs_graph_integration::BasicMetrics;
pub use scirs_graph_integration::ConnectivityAnalysis;
pub use scirs_graph_integration::GraphValidationConfig;
pub use scirs_graph_integration::GraphValidationResult;
pub use scirs_graph_integration::SciRS2GraphValidator;
pub use security::SecureSparqlExecutor;
pub use security::SecurityConfig;
pub use security::SecurityPolicy;
pub use shapes::format_literal_for_sparql;
pub use shapes::format_term_for_sparql;
pub use shapes::ShapeCacheStats;
pub use shapes::ShapeFactory;
pub use shapes::ShapeParser;
pub use shapes::ShapeParsingConfig;
pub use shapes::ShapeParsingContext;
pub use shapes::ShapeParsingStats;
pub use shapes::ShapeValidationReport;
pub use shapes::ShapeValidator;
pub use shapes::SingleShapeValidationReport;
pub use targets::Target;
pub use targets::TargetCacheStats;
pub use targets::TargetOptimizationConfig;
pub use targets::TargetSelectionStats;
pub use targets::TargetSelector;
pub use testing::ShapeTestSuite;
pub use testing::TestAssertions;
pub use testing::TestCase;
pub use testing::TestExpectation;
pub use testing::TestResult;
pub use testing::TestStatus;
pub use testing::TestSuiteResult;
pub use testing::TestSummary;
pub use validation::ValidationEngine;
pub use validation::ValidationViolation;
pub use visual_editor::ColorScheme;
pub use visual_editor::ExportFormat;
pub use visual_editor::LayoutDirection;
pub use visual_editor::ShapeVisualizer;
pub use visual_editor::VisualizerConfig;
pub use sparql_af::ask_validator::FailingAskExecutor;
pub use sparql_af::ask_validator::MockAskExecutor;
pub use sparql_af::ask_validator::SparqlAskExecutor;
pub use sparql_af::ask_validator::SparqlAskResult;
pub use sparql_af::ask_validator::SparqlAskValidator;
pub use sparql_af::ask_validator::SparqlAskValidatorBuilder;
pub use sparql_af::ask_validator::SparqlAskViolation;
pub use sparql_af::sparql_target::ParameterBinding;
pub use sparql_af::sparql_target::SparqlAfTarget;
pub use sparql_af::sparql_target::SparqlAfTargetResult;
pub use sparql_af::sparql_target::SparqlTargetEvaluator;
pub use sparql_af::sparql_target::SparqlTargetMock;
pub use sparql_af::target_type::SparqlTargetParameter;
pub use sparql_af::target_type::SparqlTargetType;
pub use sparql_af::target_type::SparqlTargetTypeInstance;
pub use sparql_af::target_type::SparqlTargetTypeRegistry;
pub use sparql_af::PrefixMap;
pub use sparql_af::SubstitutionContext;
pub use designer::ConstraintSpec;
pub use designer::DesignIssue;
pub use designer::DesignStep;
pub use designer::DesignWizard;
pub use designer::Domain;
pub use designer::PropertyDesign;
pub use designer::PropertyHint;
pub use designer::RecommendationEngine;
pub use designer::ShapeDesign;
pub use designer::ShapeDesigner;
pub use designer::ShapeInferenceEngine as DesignerInferenceEngine;
pub use iri_resolver::IriResolver;
pub use validator::ValidationStats;
pub use validator::Validator;
pub use validator::ValidatorBuilder;
pub use builders::*;
pub use federated_validation::*;
pub use iri_resolver::*;
pub use paths::*;
pub use shape_import::*;
pub use shape_inheritance::*;
pub use sparql::*;
pub use w3c_test_suite::*;

Modules§

advanced_features
SHACL Advanced Features (SHACL-AF)
analytics
Advanced Analytics Module
builders
Enhanced Builder Pattern APIs for fluent SHACL validation, shape loading, and configuration
cache
Caching subsystem for SHACL validation
constraint_inheritance
constraint_parameter
SHACL sh:parameter / parameterized constraint components.
constraints
SHACL constraint implementation modules
custom_components
Custom SHACL Constraint Components
datatype_checker
SHACL sh:datatype constraint checker.
designer
Interactive Shape Designer
entailment_regime
federated_validation
SHACL Federated Validation Engine
focus_node_selector
incremental
Incremental SHACL Validation
integration
Cross-module integration capabilities for OxiRS SHACL
iri_resolver
IRI Resolution and Validation Module
lsp
Language Server Protocol (LSP) implementation for SHACL shapes.
message_formatter
node_constraint
SHACL sh:node constraint component.
node_expression_evaluator
SHACL Node Expression evaluator.
node_expressions
SHACL Node Expressions (SHACL-AF sh:values)
optimization
SHACL Validation Performance Optimization
path_executor
paths
Auto-generated module structure
property_path_checker
report
SHACL validation report implementation
schema_import
JSON Schema to SHACL Converter
scirs_graph_integration
SciRS2 Graph Algorithm Integration for SHACL Validation
security
SHACL Security Module
severity_handler
shaclc_parser
SHACL Compact Syntax (SHACLC) Parser
shape_graph_loader
shape_import
Shape Import and External Reference System
shape_inheritance
Shape Inheritance and Composition Module
shape_map
W3C ShapeMap Validation
shape_matcher
Pattern-based SHACL shape matching.
shape_versioning
Shape versioning and evolution management for SHACL shapes
shapes
SHACL shape parsing and representation module
sparql
SPARQL-based constraint validation with enhanced function library
sparql_af
SHACL Advanced Features — SPARQL-based Targets and Validators
sparql_constraint_validator
SHACL SPARQL-based constraint validation (sh:SPARQLConstraintComponent).
target_selector
SHACL target declaration evaluation.
targets
SHACL target selection module
templates
Shape Template Library
testing
SHACL Shape Testing Framework
validation
SHACL validation engine implementation
validator
SHACL Validator implementation
visual_editor
Visual Shape Editor Support
vocabulary
SHACL vocabulary terms and constants
w3c_test_suite
W3C SHACL Test Suite Integration
w3c_test_suite_enhanced
Enhanced W3C SHACL Test Suite Integration with Real RDF Parsing and Parallel Execution

Macros§

shape
Macro for creating shapes with a fluent syntax

Structs§

ConstraintComponentId
SHACL constraint component identifier
Shape
SHACL shape representation
ShapeId
SHACL shape identifier
ShapeMetadata
Shape metadata for tracking additional information
ValidationConfig
Validation configuration

Enums§

Severity
Violation severity levels
ShaclError
Core error type for SHACL operations
ShapeType
SHACL shape type

Constants§

VERSION
OxiRS SHACL version

Statics§

SHACL_NS
SHACL namespace IRI
SHACL_VOCAB
SHACL vocabulary terms

Functions§

init
Initialize OxiRS SHACL with default configuration

Type Aliases§

Result
Result type alias for SHACL operations