pub struct FrozenIndexedDataset {
pub stats: DatasetStatistics,
/* private fields */
}Expand description
Immutable, dictionary-encoded snapshot of a post-inference RDF dataset. Intended to be built once at the inference→validation boundary and shared across all per-focus-node SPARQL evaluations.
Fields§
§stats: DatasetStatisticsImplementations§
Source§impl FrozenIndexedDataset
impl FrozenIndexedDataset
Sourcepub fn from_graph(graph: &Graph) -> Self
pub fn from_graph(graph: &Graph) -> Self
Build from a single graph loaded into the default graph slot.
Sourcepub fn from_graph_union(left: &Graph, right: &Graph) -> Self
pub fn from_graph_union(left: &Graph, right: &Graph) -> Self
Build a default graph from the set union of two source graphs without
materializing an intermediate Graph.
Sourcepub fn from_graphs(context: &Graph, shapes: &Graph) -> Self
pub fn from_graphs(context: &Graph, shapes: &Graph) -> Self
Build with context in the default graph and shapes in the named
graph urn:x-shacl:shapes-graph, mirroring what SparqlExecutor::build
does with the Oxigraph Store.
Sourcepub fn from_graph_union_with_shapes(data: &Graph, shapes: &Graph) -> Self
pub fn from_graph_union_with_shapes(data: &Graph, shapes: &Graph) -> Self
Build a union default graph while also exposing shapes through the
named $shapesGraph slot.
Trait Implementations§
Source§impl PathBackend for FrozenIndexedDataset
Indexed backend over the dictionary-encoded post-inference snapshot. Built
once at the inference→validation boundary and shared across focus nodes; the
u32-keyed sorted indexes replace per-call term hashing and B-tree walks.
Unknown terms intern to fresh ids that match no stored triple — exactly the
empty-result semantics path evaluation needs.
impl PathBackend for FrozenIndexedDataset
Indexed backend over the dictionary-encoded post-inference snapshot. Built
once at the inference→validation boundary and shared across focus nodes; the
u32-keyed sorted indexes replace per-call term hashing and B-tree walks.
Unknown terms intern to fresh ids that match no stored triple — exactly the
empty-result semantics path evaluation needs.
Source§impl<'a> QueryableDataset<'a> for &'a FrozenIndexedDataset
impl<'a> QueryableDataset<'a> for &'a FrozenIndexedDataset
Source§type InternalTerm = u32
type InternalTerm = u32
Source§type Error = Infallible
type Error = Infallible
Source§fn internal_quads_for_pattern(
&self,
subject: Option<&TermId>,
predicate: Option<&TermId>,
object: Option<&TermId>,
graph_name: Option<Option<&TermId>>,
) -> Box<dyn Iterator<Item = Result<InternalQuad<TermId>, Infallible>> + 'a>
fn internal_quads_for_pattern( &self, subject: Option<&TermId>, predicate: Option<&TermId>, object: Option<&TermId>, graph_name: Option<Option<&TermId>>, ) -> Box<dyn Iterator<Item = Result<InternalQuad<TermId>, Infallible>> + 'a>
Source§fn internalize_term(&self, term: Term) -> Result<TermId, Infallible>
fn internalize_term(&self, term: Term) -> Result<TermId, Infallible>
Term structSource§fn externalize_term(&self, id: TermId) -> Result<Term, Infallible>
fn externalize_term(&self, id: TermId) -> Result<Term, Infallible>
Term from an internal termSource§fn internal_named_graphs(
&self,
) -> impl Iterator<Item = Result<Self::InternalTerm, Self::Error>> + use<'a, Self>
fn internal_named_graphs( &self, ) -> impl Iterator<Item = Result<Self::InternalTerm, Self::Error>> + use<'a, Self>
Source§fn contains_internal_graph_name(
&self,
graph_name: &Self::InternalTerm,
) -> Result<bool, Self::Error>
fn contains_internal_graph_name( &self, graph_name: &Self::InternalTerm, ) -> Result<bool, Self::Error>
Source§fn externalize_expression_term(
&self,
term: Self::InternalTerm,
) -> Result<ExpressionTerm, Self::Error>
fn externalize_expression_term( &self, term: Self::InternalTerm, ) -> Result<ExpressionTerm, Self::Error>
ExpressionTerm from an internal termSource§fn internalize_expression_term(
&self,
term: ExpressionTerm,
) -> Result<Self::InternalTerm, Self::Error>
fn internalize_expression_term( &self, term: ExpressionTerm, ) -> Result<Self::InternalTerm, Self::Error>
ExpressionTerm