The theory of ologs is an attempt to provide a rigorous mathematical framework for knowledge representation, construction of scientific models and data storage using category theory, linguistic and graphical tools. Ologs were introduced in 2012 by David Spivak and Robert Kent.
Etymology The term "olog" is short for "ontology log". "Ontology" derives from onto-, from the Greek ὤν, ὄντος "being; that which is", present participle of the verb εἰμί "be", and -λογία, -logia: science, study, theory.
Mathematical formalism An olog C {\displaystyle {\mathcal {C}}} for a given domain is a category whose objects are boxes labeled with phrases (more specifically, singular indefinite noun phrases) relevant to the domain, and whose morphisms are directed arrows between the boxes, labeled with verb phrases also relevant to the domain. These noun and verb phrases combine to form sentences that express relationships between objects in the domain. In every olog, the objects exist within a target category. Unless otherwise specified, the target category is taken to be Set {\displaystyle {\textbf {Set}}} , the category of sets and functions. The boxes in the above diagram represent objects of Set {\displaystyle {\textbf {Set}}} . For example, the box containing the phrase "an amino acid" represents the set of all amino acids, and the box containing the phrase "a side chain" represents the set of all side chains. The arrow labeled "has" that points from "an amino acid" to "a side chain" represents the function that maps each amino acid to its unique side chain. Another target category that can be used is the Kleisli category C P {\displaystyle {\mathcal {C}}_{\mathbb {P} }} of the power set monad. Given an A ∈ O b ( Set ) {\displaystyle A\in Ob({\textbf {Set}})} , P ( A ) {\displaystyle \mathbb {P} (A)} is then the power set of A. The natural transformation η {\displaystyle \eta } maps a ∈ A {\displaystyle a\in A} to the singleton { a } {\displaystyle \{a\}} , and the natural transformation μ {\displaystyle \mu } maps a set of sets to its union. The Kleisli category C P {\displaystyle {\mathcal {C}}_{\mathbb {P} }} is the category with the objects matching those in P {\displaystyle \mathbb {P} } , and morphisms that establish binary relations. Given a morphism f : A → B {\displaystyle f:A\to B} , and given a ∈ A {\displaystyle a\in A} and b ∈ B {\displaystyle b\in B} , we define the morphism R {\displaystyle R} by saying that ( a , b ) ∈ R {\displaystyle (a,b)\in R} whenever b ∈ f ( a ) {\displaystyle b\in f(a)} . The verb phrases used with this target category would need to make sense with objects that are subsets: for example, "is related to" or "is greater than". Another possible target category is the Kleisli category of probability distributions, called the Giry monad. This provides a generalization of Markov decision processes.
Ologs and databases An olog C {\displaystyle {\mathcal {C}}} can also be viewed as a database schema. Every box (object of C {\displaystyle {\mathcal {C}}} ) in the olog is a table T {\displaystyle T} and the arrows (morphisms) emanating from the box are columns in C {\displaystyle {\mathcal {C}}} . The assignment of a particular instance to an object of C {\displaystyle {\mathcal {C}}} is done through a functor I : C → Set {\displaystyle I:{\mathcal {C}}\to {\textbf {Set}}} . In the example above, the box "an amino acid" will be represented as a table whose number of rows is equal to the number of types of amino acids and whose number of columns is three, one column for each arrow emanating from that box.
… excerpt ends here. Continue reading the full article.



