Crate oxirs_shacl

Crate oxirs_shacl 

Source
Expand description

§OxiRS SHACL - RDF Validation Engine

Version docs.rs

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

§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§

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