[][src]Module horned_owl::ontology::indexed

Indexes for ontologies to enable faster searching

Overview

This module provides an interface and a number of multiplexers for an OntologyIndex. An indexed MutableOntology is one that uses one or more OntologyIndex objects as the backing store for its AnnotatedAxiom. These AnnotatedAxiom objects are shared between different OntologyIndex objects using Rc. The OntologyIndex interace does not provide any mechanisms for searching or querying the index which need to be provided by concrete implementations. Indexes can be add to OneIndexedOntology, TwoIndexedOntology and ThreeIndexedOntology, each of which operate something like a named tuple, allowing differently typed OntologyIndex objects to be added.

Structs

FourIndexedOntology

FourIndexedOntology supports three indexes.

NullIndex

A NullOntologyIndex which does nothing.

OneIndexedOntology

A OneIndexedOntology operates as a simple adaptor betweeen any OntologyIndex and an Ontology.

ThreeIndexedOntology

ThreeIndexedOntology supports three indexes.

TwoIndexedOntology

A TwoIndexOntology implements Ontology and supports two OntologyIndex. It itself implements OntologyIndex so that it can be composed.

Traits

OntologyIndex

An OntologyIndex object.