use thiserror::Error;
#[derive(Error, Debug)]
pub enum MaterializeError {
#[error("No ShEx schema loaded. Load a ShEx schema first.")]
NoShExSchemaLoaded,
#[error("No MapState available. Run ShEx validation with Map semantic actions first.")]
NoMapStateLoaded,
#[error("Failed to parse IRI '{iri}': {error}")]
InvalidIri { iri: String, error: String },
#[error("Materialization failed: {error}")]
FailedMaterialization { error: String },
#[error("Failed to serialize materialized graph as '{format}': {error}")]
FailedSerializingGraph { format: String, error: String },
}