pub struct InferenceEngine { /* private fields */ }Expand description
Local inference engine with backward chaining
Implementations§
Source§impl InferenceEngine
impl InferenceEngine
Sourcepub fn with_limits(max_depth: usize, max_solutions: usize) -> Self
pub fn with_limits(max_depth: usize, max_solutions: usize) -> Self
Create an inference engine with custom limits
Sourcepub fn with_cycle_detection(self, enabled: bool) -> Self
pub fn with_cycle_detection(self, enabled: bool) -> Self
Enable or disable cycle detection
Sourcepub fn query(
&self,
goal: &Predicate,
kb: &KnowledgeBase,
) -> Result<Vec<Substitution>>
pub fn query( &self, goal: &Predicate, kb: &KnowledgeBase, ) -> Result<Vec<Substitution>>
Query the knowledge base for solutions to a goal
Trait Implementations§
Source§impl Default for InferenceEngine
impl Default for InferenceEngine
Source§fn default() -> InferenceEngine
fn default() -> InferenceEngine
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for InferenceEngine
impl RefUnwindSafe for InferenceEngine
impl Send for InferenceEngine
impl Sync for InferenceEngine
impl Unpin for InferenceEngine
impl UnwindSafe for InferenceEngine
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