Skip to main content

KnowledgeGraph

Trait KnowledgeGraph 

Source
pub trait KnowledgeGraph: Send + Sync {
    type Elem: Element;
    type Rel: Relationship;

    // Required methods
    fn index(
        &mut self,
        results: Vec<ParseResult<Self::Elem, Self::Rel>>,
    ) -> Result<(), IndexError>;
    fn search(
        &self,
        query: &str,
        level: DetailLevel,
        limit: usize,
    ) -> Vec<SearchResult>;
    fn trace(&self, element: &str, opts: TraceOptions) -> TraceResult;
    fn check(&self, check_type: CheckType) -> Vec<Finding>;
    fn query(&self, predicate: Predicate) -> Vec<Triple>;
    fn elements(&self) -> &[Self::Elem];
    fn relationships(&self) -> &[Self::Rel];
}

Required Associated Types§

Required Methods§

Source

fn index( &mut self, results: Vec<ParseResult<Self::Elem, Self::Rel>>, ) -> Result<(), IndexError>

Source

fn search( &self, query: &str, level: DetailLevel, limit: usize, ) -> Vec<SearchResult>

Source

fn trace(&self, element: &str, opts: TraceOptions) -> TraceResult

Source

fn check(&self, check_type: CheckType) -> Vec<Finding>

Source

fn query(&self, predicate: Predicate) -> Vec<Triple>

Source

fn elements(&self) -> &[Self::Elem]

Source

fn relationships(&self) -> &[Self::Rel]

Implementors§