Back to Eqiora docs Skip to main content

OntologySchema

Trait OntologySchema 

pub trait OntologySchema: 'static {
    const KEY: &'static str;

    // Provided method
    fn validate(
        _members: &BTreeSet<RawId>,
        _boundary: &BTreeSet<RawId>,
    ) -> Result<(), Diagnostic> { ... }
}
Description

Schema marker for one kind of Standard Ontology view.

Unlike the sealed crate::Entity trait, this trait is intentionally open: third-party crates may define ontology schemas without changing the Semantic Kernel. Keys are stable wire identifiers and should include a version, for example eqiora.model/v1.

Required Associated Constants§

const KEY: &'static str

Stable, globally unique schema key.

Provided Methods§

fn validate( _members: &BTreeSet<RawId>, _boundary: &BTreeSet<RawId>, ) -> Result<(), Diagnostic>

Validate invariants specific to this schema after common structural checks have passed.

The default accepts every structurally valid view, which is useful for third-party schemas whose constraints live in generated validators.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

§

impl OntologySchema for Coupling

§

const KEY: &'static str = "eqiora.coupling/v1"

§

impl OntologySchema for EvidenceSet

§

const KEY: &'static str = "eqiora.evidence-set/v1"

§

impl OntologySchema for Model

§

const KEY: &'static str = "eqiora.model/v1"

§

impl OntologySchema for Objective

§

const KEY: &'static str = "eqiora.objective/v1"

§

impl OntologySchema for Scale

§

const KEY: &'static str = "eqiora.scale/v1"

§

impl OntologySchema for Solver

§

const KEY: &'static str = "eqiora.solver/v1"