Skip to main content

TemporalReasoningEngine

Struct TemporalReasoningEngine 

Source
pub struct TemporalReasoningEngine { /* private fields */ }
Expand description

A production-grade temporal logic reasoning system.

Stores a collection of TemporalEvents and a set of TemporalConstraints, and provides rich queries over them including Allen’s interval algebra classification, windowed search, tag-based lookup, chain analysis, and full constraint checking.

Implementations§

Source§

impl TemporalReasoningEngine

Source

pub fn new(max_events: usize) -> Self

Create a new engine with the given event capacity.

Source

pub fn add_event(&mut self, event: TemporalEvent) -> Result<(), TemporalError>

Add an event. Returns Err if the id already exists or if the engine is at capacity.

Source

pub fn remove_event(&mut self, id: &str) -> bool

Remove an event by id. Returns true if it existed.

Source

pub fn get_event(&self, id: &str) -> Option<&TemporalEvent>

Retrieve a reference to an event by id.

Source

pub fn events_in_window(&self, window: &TimeInterval) -> Vec<&TemporalEvent>

Return all events whose interval overlaps window, sorted by start time (then end time as tiebreaker).

Source

pub fn events_with_tag(&self, tag: &str) -> Vec<&TemporalEvent>

Return all events that carry tag, sorted by start time.

Source

pub fn timeline(&self) -> Vec<&TemporalEvent>

Return all events sorted chronologically (by start, then end).

Source

pub fn concurrent_events(&self, id: &str) -> Vec<&TemporalEvent>

Return all events that overlap with the event identified by id, excluding the event itself. Returns an empty Vec if id not found.

Source

pub fn allen_relation(&self, a: &str, b: &str) -> Option<AllenRelation>

Classify the Allen relation between two events. Returns None if either event is not found.

Source

pub fn add_constraint(&mut self, c: TemporalConstraint)

Register a constraint. Constraints are not validated on insertion; call check_constraints to evaluate them.

Source

pub fn check_constraints(&self) -> Vec<ConstraintViolation>

Evaluate all registered constraints and return a list of violations.

Source

pub fn event_chains(&self) -> Vec<Vec<&TemporalEvent>>

Compute connected components of the overlap graph.

Two events are in the same component if they overlap (directly or transitively). Returns chains sorted by the start time of their first event; within each chain events are also sorted by start time.

Source

pub fn stats(&self) -> TemporalStats

Compute aggregate statistics about the current engine state.

Trait Implementations§

Source§

impl Debug for TemporalReasoningEngine

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more