pub struct MultiGraphProcessor;
Expand description
Multi-graph processor for handling multiple graphs in a single query Supports queries like: SELECT * FROM graph1.edges UNION SELECT * FROM graph2.edges
Implementations§
Source§impl MultiGraphProcessor
impl MultiGraphProcessor
pub fn new() -> Self
Sourcepub fn create_graph(
&self,
name: &str,
edges: Vec<MultiGraphEdge>,
properties: Option<HashMap<String, String>>,
) -> DataFusionResult<NamedGraph>
pub fn create_graph( &self, name: &str, edges: Vec<MultiGraphEdge>, properties: Option<HashMap<String, String>>, ) -> DataFusionResult<NamedGraph>
Create a new named graph
Sourcepub fn merge_graphs(
&self,
graphs: &[NamedGraph],
config: &MultiGraphConfig,
) -> DataFusionResult<NamedGraph>
pub fn merge_graphs( &self, graphs: &[NamedGraph], config: &MultiGraphConfig, ) -> DataFusionResult<NamedGraph>
Merge multiple graphs into a single graph
Sourcepub fn query_multi_graph(
&self,
graphs: &[NamedGraph],
graph_names: Option<&[String]>,
edge_filter: Option<Box<dyn Fn(&MultiGraphEdge) -> bool>>,
) -> DataFusionResult<Vec<MultiGraphEdge>>
pub fn query_multi_graph( &self, graphs: &[NamedGraph], graph_names: Option<&[String]>, edge_filter: Option<Box<dyn Fn(&MultiGraphEdge) -> bool>>, ) -> DataFusionResult<Vec<MultiGraphEdge>>
Query edges across multiple graphs
Sourcepub fn find_cross_graph_connections(
&self,
graphs: &[NamedGraph],
) -> DataFusionResult<Vec<(String, String, Vec<String>)>>
pub fn find_cross_graph_connections( &self, graphs: &[NamedGraph], ) -> DataFusionResult<Vec<(String, String, Vec<String>)>>
Find cross-graph connections (edges that span multiple graphs)
Sourcepub fn calculate_graph_similarity(
&self,
graph1: &NamedGraph,
graph2: &NamedGraph,
) -> DataFusionResult<f64>
pub fn calculate_graph_similarity( &self, graph1: &NamedGraph, graph2: &NamedGraph, ) -> DataFusionResult<f64>
Calculate graph similarity between two graphs
Sourcepub fn get_multi_graph_statistics(
&self,
graphs: &[NamedGraph],
) -> DataFusionResult<HashMap<String, GraphStatistics>>
pub fn get_multi_graph_statistics( &self, graphs: &[NamedGraph], ) -> DataFusionResult<HashMap<String, GraphStatistics>>
Get graph statistics for multiple graphs
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MultiGraphProcessor
impl RefUnwindSafe for MultiGraphProcessor
impl Send for MultiGraphProcessor
impl Sync for MultiGraphProcessor
impl Unpin for MultiGraphProcessor
impl UnwindSafe for MultiGraphProcessor
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> 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 more