Expand description
§OxiRS SHACL - RDF Validation Engine
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
oxirs-core- RDF data modeloxirs-arq- SPARQL query engine
§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:datatypeconstraint 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:nodeconstraint 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§
- Constraint
Component Id - SHACL constraint component identifier
- Shape
- SHACL shape representation
- ShapeId
- SHACL shape identifier
- Shape
Metadata - Shape metadata for tracking additional information
- Validation
Config - Validation configuration
Enums§
- Severity
- Violation severity levels
- Shacl
Error - Core error type for SHACL operations
- Shape
Type - 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