| Crates.io | oxirs-shacl |
| lib.rs | oxirs-shacl |
| version | 0.1.0 |
| created_at | 2025-09-30 08:36:44.476109+00 |
| updated_at | 2026-01-20 21:21:38.905191+00 |
| description | SHACL Core + SHACL-SPARQL validator for RDF data validation |
| homepage | https://github.com/cool-japan/oxirs |
| repository | https://github.com/cool-japan/oxirs |
| max_upload_size | |
| id | 1860794 |
| size | 3,725,886 |
Status: Production Release (v0.1.0) - Released January 7, 2026
โจ Production Release: Production-ready with API stability guarantees. Semantic versioning enforced.
A high-performance SHACL (Shapes Constraint Language) validator for RDF data, implemented in Rust as part of the OxiRS ecosystem. Currently in active development with core constraint support implemented.
sh:and, sh:or, sh:not, sh:xoneAdd to your Cargo.toml:
[dependencies]
oxirs-shacl = "0.1.0"
oxirs-core = "0.1.0"
โ ๏ธ Note: API is still under development and subject to change.
use oxirs_shacl::{ValidationEngine, ValidationConfig, Shape};
use oxirs_core::store::Store;
fn main() -> Result<(), Box<dyn std::error::Error>> {
// This example shows the intended API - implementation in progress
// Create shapes and validation configuration
let shapes = vec![/* shapes loaded from RDF */];
let config = ValidationConfig::default();
// Create validation engine
let engine = ValidationEngine::new(&shapes, config);
// Create and populate RDF store
let store = Store::new()?;
// store.load_from_reader(...)?;
// Validate data (API under development)
// let report = engine.validate_store(&store)?;
Ok(())
}
For current implementation details, see the source code and tests.
This crate is actively under development. The core constraint types and validation engine architecture are implemented, but the public API is still being finalized.
# Run basic tests
cargo nextest run --no-fail-fast
# Run with all features
cargo nextest run --all-features --no-fail-fast
# Run specific modules
cargo test constraints
cargo test validation
# Lint code (following "no warnings policy")
cargo clippy --workspace --all-targets -- -D warnings
# Format code
cargo fmt --all -- --check
# Generate documentation
cargo doc --no-deps --open
git clone https://github.com/cool-japan/oxirs.git
cd oxirs/engine/oxirs-shacl
cargo build --release
cargo bench
This crate is under active development. Contributions are welcome! Current priorities:
cargo nextest run --no-fail-fast to verify setupcargo clippy --workspace --all-targets -- -D warningscargo fmt --allLicensed under either of Apache License, Version 2.0 or MIT license at your option.
Part of the OxiRS ecosystem - High-performance RDF tools for Rust