pub struct DistributedBackwardChainer {
pub max_depth: usize,
pub max_remote_peers: usize,
pub timeout_ms: u64,
}Expand description
Distributed backward-chaining prover.
Fields§
§max_depth: usizeMaximum chaining depth.
max_remote_peers: usizeMaximum number of peers to contact per unresolved sub-goal.
timeout_ms: u64Per-peer query timeout in milliseconds.
Implementations§
Source§impl DistributedBackwardChainer
impl DistributedBackwardChainer
Sourcepub fn new(max_depth: usize, max_remote_peers: usize, timeout_ms: u64) -> Self
pub fn new(max_depth: usize, max_remote_peers: usize, timeout_ms: u64) -> Self
Create a chainer with explicit parameters.
Sourcepub async fn prove_with_tree<FP, FQ>(
&self,
goal: &Term,
local_kb: &KnowledgeBase,
find_providers: FP,
remote_query: FQ,
) -> Result<ProofTree>
pub async fn prove_with_tree<FP, FQ>( &self, goal: &Term, local_kb: &KnowledgeBase, find_providers: FP, remote_query: FQ, ) -> Result<ProofTree>
Attempt to prove goal and return a ProofTree recording the full
derivation path.
Both callbacks take owned arguments and return 'static futures.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DistributedBackwardChainer
impl RefUnwindSafe for DistributedBackwardChainer
impl Send for DistributedBackwardChainer
impl Sync for DistributedBackwardChainer
impl Unpin for DistributedBackwardChainer
impl UnsafeUnpin for DistributedBackwardChainer
impl UnwindSafe for DistributedBackwardChainer
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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