Expand description
§OxiRS SHACL - RDF Validation Engine
Status: Production Release (v0.1.0) 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 constraints::Constraint;pub use constraints::ConstraintContext;pub use constraints::ConstraintEvaluationResult;pub use constraints::NodeKindConstraint;pub use constraints::PropertyConstraint;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 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
- constraints
- SHACL constraint implementation modules
- custom_
components - Custom SHACL Constraint Components
- designer
- Interactive Shape Designer
- federated_
validation - SHACL Federated Validation Engine
- 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.
- optimization
- SHACL Validation Performance Optimization
- paths
- Auto-generated module structure
- report
- SHACL validation report implementation
- scirs_
graph_ integration - SciRS2 Graph Algorithm Integration for SHACL Validation
- security
- SHACL Security Module
- shape_
import - Shape Import and External Reference System
- shape_
inheritance - Shape Inheritance and Composition Module
- 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
- 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