Skip to main content

EntityDescriptor

Struct EntityDescriptor 

Source
pub struct EntityDescriptor {
    pub name: String,
    pub entity_type: String,
    pub attributes: Vec<(String, String)>,
    pub relations: Vec<(String, String)>,
}
Expand description

A described entity. Attributes are intentionally ordered so the default preference ordering respects registration order.

Fields§

§name: String§entity_type: String§attributes: Vec<(String, String)>§relations: Vec<(String, String)>

Labeled directed edges from this entity to other named entities.

Each (relation_label, target_name) pair. The label is the surface-form fragment that will be inserted verbatim after the head noun in the referring expression — e.g. ("that calls", "AuthService") renders as "that calls AuthService". Labels are chosen by the caller to read naturally in context.

#[serde(default)] ensures existing serialized EntityDescriptor payloads that lack this field still deserialize cleanly.

Implementations§

Source§

impl EntityDescriptor

Source

pub fn new(name: impl Into<String>, entity_type: impl Into<String>) -> Self

Source

pub fn with_attribute( self, key: impl Into<String>, value: impl Into<String>, ) -> Self

Append an attribute. Chainable.

Source

pub fn with_relation( self, label: impl Into<String>, target: impl Into<String>, ) -> Self

Append a labeled directed relation to another entity. Chainable.

label is the surface-form fragment inserted verbatim after the head noun when this relation is selected by the graph-based algorithm (e.g. "that calls"). target is the name of the target entity.

Relations are considered in insertion order during REG.

Source

pub fn attribute(&self, key: &str) -> Option<&str>

Look up an attribute by key.

Source

pub fn relation(&self, label: &str) -> Option<&str>

Look up a relation’s target by label.

Returns the target name of the first relation whose label matches, or None if no such relation exists.

Trait Implementations§

Source§

impl Clone for EntityDescriptor

Source§

fn clone(&self) -> EntityDescriptor

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EntityDescriptor

Source§

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

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

impl Default for EntityDescriptor

Source§

fn default() -> EntityDescriptor

Returns the “default value” for a type. Read more
Source§

impl PartialEq for EntityDescriptor

Source§

fn eq(&self, other: &EntityDescriptor) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for EntityDescriptor

Source§

impl StructuralPartialEq for EntityDescriptor

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.