Skip to main content

SchemaLoader

Trait SchemaLoader 

Source
pub trait SchemaLoader: Send + Sync {
    // Required methods
    fn load_domain(&self, name: &str) -> Result<DomainInfo>;
    fn load_predicate(&self, name: &str) -> Result<PredicateInfo>;
    fn has_domain(&self, name: &str) -> bool;
    fn has_predicate(&self, name: &str) -> bool;
    fn list_domains(&self) -> Result<Vec<String>>;
    fn list_predicates(&self) -> Result<Vec<String>>;

    // Provided methods
    fn load_domains_batch(&self, names: &[String]) -> Result<Vec<DomainInfo>> { ... }
    fn load_predicates_batch(
        &self,
        names: &[String],
    ) -> Result<Vec<PredicateInfo>> { ... }
}
Expand description

A loader trait for fetching schema elements on demand.

Implementations can load from files, databases, or remote services.

Required Methods§

Source

fn load_domain(&self, name: &str) -> Result<DomainInfo>

Load a domain by name.

Source

fn load_predicate(&self, name: &str) -> Result<PredicateInfo>

Load a predicate by name.

Source

fn has_domain(&self, name: &str) -> bool

Check if a domain exists without loading it.

Source

fn has_predicate(&self, name: &str) -> bool

Check if a predicate exists without loading it.

Source

fn list_domains(&self) -> Result<Vec<String>>

List all available domain names.

Source

fn list_predicates(&self) -> Result<Vec<String>>

List all available predicate names.

Provided Methods§

Source

fn load_domains_batch(&self, names: &[String]) -> Result<Vec<DomainInfo>>

Load a batch of domains by name.

Source

fn load_predicates_batch(&self, names: &[String]) -> Result<Vec<PredicateInfo>>

Load a batch of predicates by name.

Implementors§