pub struct GraphStats {Show 14 fields
pub node_count: usize,
pub relationship_count: usize,
pub nodes_by_label: BTreeMap<String, usize>,
pub relationships_by_type: BTreeMap<String, usize>,
pub node_distinct_values: BTreeMap<(String, String), usize>,
pub relationship_distinct_values: BTreeMap<(String, String), usize>,
pub node_range_indexes: BTreeSet<(String, String)>,
pub relationship_range_indexes: BTreeSet<(String, String)>,
pub node_text_indexes: BTreeSet<(String, String)>,
pub relationship_text_indexes: BTreeSet<(String, String)>,
pub node_point_indexes: BTreeSet<(String, String)>,
pub relationship_point_indexes: BTreeSet<(String, String)>,
pub node_vector_indexes: BTreeSet<(String, String)>,
pub relationship_vector_indexes: BTreeSet<(String, String)>,
}Expand description
Snapshot of graph cardinality. Populated by the storage backend
(see [super::InMemoryGraph::stats]).
Fields§
§node_count: usizeTotal live node count.
relationship_count: usizeTotal live relationship count.
nodes_by_label: BTreeMap<String, usize>Per-label node count. nodes_by_label[label].len().
relationships_by_type: BTreeMap<String, usize>Per-rel-type relationship count. relationships_by_type[type].len().
node_distinct_values: BTreeMap<(String, String), usize>Per-(label, property) approximate distinct value count, when a property index is active. Empty for non-indexed columns — the optimizer falls back to “all rows distinct” for those.
relationship_distinct_values: BTreeMap<(String, String), usize>§node_range_indexes: BTreeSet<(String, String)>Online catalog-backed range indexes by (label_or_type, property).
relationship_range_indexes: BTreeSet<(String, String)>§node_text_indexes: BTreeSet<(String, String)>Online catalog-backed text indexes by (label_or_type, property).
relationship_text_indexes: BTreeSet<(String, String)>§node_point_indexes: BTreeSet<(String, String)>Online catalog-backed point indexes by (label_or_type, property).
relationship_point_indexes: BTreeSet<(String, String)>§node_vector_indexes: BTreeSet<(String, String)>Online catalog-backed vector indexes by (label_or_type, property).
Tracked alongside the other index scopes so the optimizer / planner
can see them in stats fingerprints, though kNN currently goes
through a flat per-query scan rather than a dedicated structure.
relationship_vector_indexes: BTreeSet<(String, String)>Implementations§
Source§impl GraphStats
impl GraphStats
Sourcepub fn estimate_node_property_equality(
&self,
label: &str,
property: &str,
) -> Option<u64>
pub fn estimate_node_property_equality( &self, label: &str, property: &str, ) -> Option<u64>
Selectivity of an equality predicate label:prop = value.
Returns Some(rows) when we have enough info to answer; None
when the optimizer should fall back to its conservative default.
pub fn label_count(&self, label: &str) -> Option<u64>
pub fn relationship_type_count(&self, rel_type: &str) -> Option<u64>
pub fn fingerprint(&self) -> u64
pub fn has_node_range_index(&self, label: &str, property: &str) -> bool
pub fn has_node_text_index(&self, label: &str, property: &str) -> bool
pub fn has_node_point_index(&self, label: &str, property: &str) -> bool
pub fn has_relationship_range_index( &self, rel_type: &str, property: &str, ) -> bool
pub fn has_relationship_text_index( &self, rel_type: &str, property: &str, ) -> bool
pub fn has_relationship_point_index( &self, rel_type: &str, property: &str, ) -> bool
pub fn has_node_vector_index(&self, label: &str, property: &str) -> bool
pub fn has_relationship_vector_index( &self, rel_type: &str, property: &str, ) -> bool
Trait Implementations§
Source§impl Clone for GraphStats
impl Clone for GraphStats
Source§fn clone(&self) -> GraphStats
fn clone(&self) -> GraphStats
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GraphStats
impl Debug for GraphStats
Source§impl Default for GraphStats
impl Default for GraphStats
Source§fn default() -> GraphStats
fn default() -> GraphStats
impl Eq for GraphStats
Source§impl PartialEq for GraphStats
impl PartialEq for GraphStats
impl StructuralPartialEq for GraphStats
Auto Trait Implementations§
impl Freeze for GraphStats
impl RefUnwindSafe for GraphStats
impl Send for GraphStats
impl Sync for GraphStats
impl Unpin for GraphStats
impl UnsafeUnpin for GraphStats
impl UnwindSafe for GraphStats
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,
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> ⓘ
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> ⓘ
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 more