pub struct AtomKey {
pub domain: String,
pub subject: String,
pub predicate: String,
pub object: Option<String>,
}Expand description
The identity of an atom: the domain plus the triple
(subject, predicate, object?), owned so it survives across merged sources.
The domain is the leading sort key, so atoms group by domain; ordering is
otherwise lexicographic → canonical. Two atoms with the same triple in
different domains are distinct (no cross-domain unification).
Fields§
§domain: StringThe domain this atom belongs to (the resolved namespace, never a raw
alias). physics.engine and plan.engine are different atoms.
subject: StringThe entity the claim is about (owned copy of the parser’s subject).
predicate: StringThe relation or property asserted.
object: Option<String>Optional object; part of identity, so has flying ≠ has swimming.
Trait Implementations§
impl Eq for AtomKey
Source§impl Ord for AtomKey
impl Ord for AtomKey
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialOrd for AtomKey
impl PartialOrd for AtomKey
impl StructuralPartialEq for AtomKey
Auto Trait Implementations§
impl Freeze for AtomKey
impl RefUnwindSafe for AtomKey
impl Send for AtomKey
impl Sync for AtomKey
impl Unpin for AtomKey
impl UnsafeUnpin for AtomKey
impl UnwindSafe for AtomKey
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