Skip to main content

GraphStore

Trait GraphStore 

Source
pub trait GraphStore: Send + Sync {
Show 15 methods // Required methods fn add_node(&self, node: Node) -> Result<()>; fn add_edge(&self, edge: Edge) -> Result<()>; fn get_node(&self, id: &str) -> Result<Option<Node>>; fn get_all_nodes(&self) -> Result<Vec<Node>>; fn get_all_edges(&self) -> Result<Vec<Edge>>; fn neighbors( &self, id: &str, relation_filter: Option<&str>, ) -> Result<Vec<(Node, Edge)>>; fn search(&self, query: &str, top_k: usize) -> Result<Vec<(f64, Node)>>; fn shortest_path(&self, src: &str, tgt: &str) -> Result<Option<Vec<Node>>>; fn dijkstra_shortest_path( &self, src: &str, tgt: &str, ) -> Result<Option<Vec<Node>>>; fn subgraph(&self, node_ids: &[&str]) -> Result<(Vec<Node>, Vec<Edge>)>; fn node_count(&self) -> Result<usize>; fn edge_count(&self) -> Result<usize>; fn remove_node(&self, id: &str) -> Result<()>; fn remove_edge( &self, source: &str, target: &str, relation: &str, ) -> Result<()>; fn clear(&self) -> Result<()>;
}

Required Methods§

Source

fn add_node(&self, node: Node) -> Result<()>

Source

fn add_edge(&self, edge: Edge) -> Result<()>

Source

fn get_node(&self, id: &str) -> Result<Option<Node>>

Source

fn get_all_nodes(&self) -> Result<Vec<Node>>

Source

fn get_all_edges(&self) -> Result<Vec<Edge>>

Source

fn neighbors( &self, id: &str, relation_filter: Option<&str>, ) -> Result<Vec<(Node, Edge)>>

Source

fn search(&self, query: &str, top_k: usize) -> Result<Vec<(f64, Node)>>

Source

fn shortest_path(&self, src: &str, tgt: &str) -> Result<Option<Vec<Node>>>

Source

fn dijkstra_shortest_path( &self, src: &str, tgt: &str, ) -> Result<Option<Vec<Node>>>

Source

fn subgraph(&self, node_ids: &[&str]) -> Result<(Vec<Node>, Vec<Edge>)>

Source

fn node_count(&self) -> Result<usize>

Source

fn edge_count(&self) -> Result<usize>

Source

fn remove_node(&self, id: &str) -> Result<()>

Source

fn remove_edge(&self, source: &str, target: &str, relation: &str) -> Result<()>

Source

fn clear(&self) -> Result<()>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§