pub enum Error {
DepthExceeded,
NodeBudgetExceeded,
ContextBudgetExceeded,
TermBudgetExceeded,
CyclicContext(String),
InvalidContext,
InvalidTermDefinition(String),
RestructuringKeyword(String),
UnresolvedContext(String),
Unsupported(String),
CanonicalizationBudgetExceeded,
}Expand description
Why a document could not be processed.
Variants§
DepthExceeded
Nesting past Limits::max_depth.
NodeBudgetExceeded
More objects than Limits::max_nodes.
ContextBudgetExceeded
More context entries than Limits::max_contexts.
TermBudgetExceeded
More terms in one context than Limits::max_terms.
CyclicContext(String)
A context, or a term definition, that refers back to itself.
InvalidContext
A @context value that is not an IRI, a term map, an array of those,
or null.
InvalidTermDefinition(String)
A term definition JSON-LD does not allow.
RestructuringKeyword(String)
A document using @graph, @included or @reverse, or a term aliased
to one of them.
These let a single RDF graph be written as several different trees.
Because a Linked Data Signature covers the graph rather than the tree,
a signed activity can be restructured — its object promoted to the top
level under @graph, or properties hidden behind @included — so that
every tree-reading implementation reads something the signer did not
say, with the signature still verifying. That is GHSA-9rfg-v8g9-9367,
disclosed across several fediverse projects in 2025 with the
recommendation that implementations reject all three; ojak does.
UnresolvedContext(String)
A context the registry does not hold — one ojak does not ship, and
the caller did not add — met where guessing is not good enough:
turning a document into RDF (rdf), which a signature covers.
Unsupported(String)
Something JSON-LD allows that ojak does not turn into RDF.
CanonicalizationBudgetExceeded
Labelling the blank nodes of a dataset took more work than
rdf::canonicalize allows one dataset.
Trait Implementations§
impl Eq for Error
Source§impl Error for Error
impl Error for Error
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
impl StructuralPartialEq for Error
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl UnwindSafe for Error
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.