Skip to main content

strixonomy_swrl/
lib.rs

1//! SWRL rule model, validation, and formatting for Strixonomy (v0.23).
2
3mod builtins;
4mod model;
5mod turtle;
6mod validate;
7
8pub use builtins::{is_supported_builtin, SUPPORTED_BUILTINS, SWRLB_NS};
9pub use model::{
10    SwrlAtom, SwrlDArg, SwrlDiagnostic, SwrlIArg, SwrlRule, SwrlRuleSummary, SwrlSeverity,
11};
12pub use turtle::{
13    parse_swrl_rule_json, rewrite_swrl_iris_in_turtle, rule_to_turtle_fragment,
14    rules_from_turtle_document,
15};
16pub use validate::validate_rule;
17
18use thiserror::Error;
19
20#[derive(Debug, Error)]
21pub enum SwrlError {
22    #[error("{0}")]
23    Message(String),
24    #[error("invalid rule JSON: {0}")]
25    Json(#[from] serde_json::Error),
26}
27
28pub type Result<T> = std::result::Result<T, SwrlError>;