pub struct EdgeSlot {
pub a: EntityId,
pub rel: TermId,
pub b: EntityId,
pub fact: FactId,
}Expand description
A typed graph edge (16-byte slot, Ordered arena, key
[a BE | rel BE | b BE], payload fact).
Stored twice, in two mirrored arenas: the out-arena keys by
(src, rel, dst), the in-arena by (dst, rel, src) — a/b are
whichever end comes first in that arena’s key. Neighbor traversal is a
prefix range scan. An edge is unique per (src, rel, dst); re-linking
updates the provenance payload.
Fields§
§a: EntityIdFirst key component (out-arena: source; in-arena: destination).
rel: TermIdInterned relation term ("works_at", "owns", …).
b: EntityIdSecond key component (out-arena: destination; in-arena: source).
fact: FactIdProvenance fact, or FactId::NONE. Like
FactRecord::revises, it may name a burned id once the
provenance fact has been forgotten and purged.
Trait Implementations§
impl Copy for EdgeSlot
impl Eq for EdgeSlot
Source§impl Slot for EdgeSlot
impl Slot for EdgeSlot
impl StructuralPartialEq for EdgeSlot
Auto Trait Implementations§
impl Freeze for EdgeSlot
impl RefUnwindSafe for EdgeSlot
impl Send for EdgeSlot
impl Sync for EdgeSlot
impl Unpin for EdgeSlot
impl UnsafeUnpin for EdgeSlot
impl UnwindSafe for EdgeSlot
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