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
Source§impl PartialEq for GraphStats
impl PartialEq for GraphStats
Source§fn eq(&self, other: &GraphStats) -> bool
fn eq(&self, other: &GraphStats) -> bool
self and other values to be equal, and is used by ==.