pub struct RuleIpld {
pub head: TermIpld,
pub body: Vec<TermIpld>,
pub metadata: HashMap<String, String>,
}Expand description
IPLD representation of a TensorLogic Rule (Horn clause)
The head is the consequent predicate represented as a TermIpld::Compound,
and the body is a conjunction of goal terms. Metadata allows callers to
attach provenance, version, or labelling information without affecting the
content hash (metadata is included in the hash – equal rules with
different metadata produce different CIDs).
Fields§
§head: TermIpldHead of the Horn clause
body: Vec<TermIpld>Body goals (conjunction)
metadata: HashMap<String, String>Arbitrary string metadata (e.g. {“source”: “…”, “version”: “1”})
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RuleIpld
impl<'de> Deserialize<'de> for RuleIpld
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RuleIpld
impl RefUnwindSafe for RuleIpld
impl Send for RuleIpld
impl Sync for RuleIpld
impl Unpin for RuleIpld
impl UnsafeUnpin for RuleIpld
impl UnwindSafe for RuleIpld
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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