Skip to main content

Reasoner

Struct Reasoner 

Source
pub struct Reasoner { /* private fields */ }
Available on crate feature std only.
Expand description

An external reasoner that consumes an RDF dataset and emits entailed RDF.

Inference rules and the relationship between input and output graphs are determined by the external program. This wrapper transports JSONL lines using the concurrent streaming behavior described in crate::programs.

Implementations§

Source§

impl Reasoner

Source

pub fn new( program: impl AsRef<OsStr>, input: GraphInput, output: GraphOutput, options: ReasonerOptions, ) -> Self

Configures a reasoner without starting it.

Adds any configured --input=<format> and --output=<format> arguments, followed by options.other. The input and output values select stdin and stdout; stderr is captured for failure diagnostics. Byte input is lazily adapted into JSONL batches using GraphInput::into_jsonl.

Source

pub async fn execute(&mut self) -> ReasonerResult

Starts a child and returns its live JSONL inference stream.

After successful spawning, input ownership moves into the stream, which feeds it concurrently when polled. Subsequent executions have no graph input.

§Errors

Spawn failures are returned directly; input, output, wait, and exit failures are stream items. Consume the stream to completion to check process success.

Source§

impl Reasoner

Source

pub fn with_batching(self, options: BatchOptions) -> Self

Sets batching thresholds for captured JSONL output. This does not change subprocess arguments, native pipeline edges, or listing limits. The default policy is crate::BatchOptions::default.

Trait Implementations§

Source§

impl Debug for Reasoner

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Execute<Pin<Box<dyn Stream<Item = Result<JsonlBatch, ExecutorError>> + Send>>> for Reasoner

Source§

type Error = ExecutorError

The implementation-specific error returned directly by execution. Read more
Source§

fn execute<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = ReasonerResult> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Executes the operation using its current input and configuration. Read more
Source§

impl GraphConsumer for Reasoner

Source§

impl GraphProducer for Reasoner

Source§

impl PipelineProgram for Reasoner

Source§

impl Reasoner<Pin<Box<dyn Stream<Item = Result<JsonlBatch, ExecutorError>> + Send>>> for Reasoner

Auto Trait Implementations§

Blanket Implementations§

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<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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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