pub struct JoinGraphStats {
pub triple_count: u64,
pub distinct_subjects: u64,
pub distinct_predicates: u64,
pub distinct_objects: u64,
pub per_predicate_counts: HashMap<String, u64>,
}Expand description
Graph statistics used by the join-order optimizer for cardinality estimation.
Intentionally named JoinGraphStats to avoid collision with
analytics::GraphStats.
Fields§
§triple_count: u64Total number of triples in the graph.
distinct_subjects: u64Number of distinct subjects.
distinct_predicates: u64Number of distinct predicates.
distinct_objects: u64Number of distinct objects.
per_predicate_counts: HashMap<String, u64>Per-predicate triple counts (predicate URI → count).
Implementations§
Source§impl JoinGraphStats
impl JoinGraphStats
Sourcepub fn with_details(
triple_count: u64,
distinct_subjects: u64,
distinct_predicates: u64,
distinct_objects: u64,
per_predicate_counts: HashMap<String, u64>,
) -> Self
pub fn with_details( triple_count: u64, distinct_subjects: u64, distinct_predicates: u64, distinct_objects: u64, per_predicate_counts: HashMap<String, u64>, ) -> Self
Create fully specified stats.
Sourcepub fn add_predicate_count(&mut self, predicate: impl Into<String>, count: u64)
pub fn add_predicate_count(&mut self, predicate: impl Into<String>, count: u64)
Insert a predicate count entry.
Sourcepub fn predicate_selectivity(&self, predicate_uri: &str) -> f64
pub fn predicate_selectivity(&self, predicate_uri: &str) -> f64
Estimated selectivity of a given predicate (fraction of triples with this predicate).
Trait Implementations§
Source§impl Clone for JoinGraphStats
impl Clone for JoinGraphStats
Source§fn clone(&self) -> JoinGraphStats
fn clone(&self) -> JoinGraphStats
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for JoinGraphStats
impl Debug for JoinGraphStats
Source§impl Default for JoinGraphStats
impl Default for JoinGraphStats
Source§fn default() -> JoinGraphStats
fn default() -> JoinGraphStats
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for JoinGraphStats
impl RefUnwindSafe for JoinGraphStats
impl Send for JoinGraphStats
impl Sync for JoinGraphStats
impl Unpin for JoinGraphStats
impl UnsafeUnpin for JoinGraphStats
impl UnwindSafe for JoinGraphStats
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.