pub struct MultiHopPathFinder { /* private fields */ }Expand description
Finds multi-hop paths between entities using BFS.
Implementations§
Source§impl MultiHopPathFinder
impl MultiHopPathFinder
Sourcepub fn new(config: MultiHopReasoningConfig) -> Self
pub fn new(config: MultiHopReasoningConfig) -> Self
Create with the given config.
Sourcepub fn with_defaults() -> Self
pub fn with_defaults() -> Self
Create with default config.
Sourcepub fn find_paths(
&self,
start: &str,
end: &str,
max_hops: u8,
graph: &KnowledgeGraph,
) -> Vec<HopPath>
pub fn find_paths( &self, start: &str, end: &str, max_hops: u8, graph: &KnowledgeGraph, ) -> Vec<HopPath>
Find all paths from start to end in the given graph, up to max_hops.
Returns paths sorted descending by score, limited to max_paths_per_pair.
Sourcepub fn score_path(&self, relations: &[String], scoring: &PathScoring) -> f64
pub fn score_path(&self, relations: &[String], scoring: &PathScoring) -> f64
Score a path given a list of relations and the chosen strategy.
Auto Trait Implementations§
impl Freeze for MultiHopPathFinder
impl RefUnwindSafe for MultiHopPathFinder
impl Send for MultiHopPathFinder
impl Sync for MultiHopPathFinder
impl Unpin for MultiHopPathFinder
impl UnsafeUnpin for MultiHopPathFinder
impl UnwindSafe for MultiHopPathFinder
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> 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 more