Olog
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 2010 by David Spivak, a research scientist in the Department of Mathematics, MIT. 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 formula_1 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 formula_2, the category of sets and functions. The boxes in the above diagram represent objects of formula_2. 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 formula_4 of the power set monad. Given an formula_5, formula_6 is then the power set of A. The natural transformation formula_7 maps formula_8 to the singleton formula_9, and the natural transformation formula_10 maps a set of sets to its union. The Kleisli category formula_4 is  the category with the objects matching those in formula_12, and morphisms that establish binary relations. Given a morphism formula_13, and given formula_8 and formula_15, we define the morphism formula_16 by saying that formula_17 whenever formula_18. 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 formula_1 can also be viewed as a database schema. Every  box (object of formula_1) in the olog is a table formula_21 and the arrows (morphisms) emanating from the box are columns in formula_1. The assignment of a particular instance to an object of formula_1 is done through a functor formula_24. 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. Relations between ologs. "Communication" between different ologs which in practice can be communication between different  models or world-views is done using functors. Spivak coins the notions of a 'meaningful' and 'strongly meaningful' functors. Let formula_1 and formula_26 be two ologs, formula_24, formula_28 functors (see the section on ologs and databases) and formula_29 a functor. formula_30 is called a schema mapping. We say that a formula_30 is "meaningful" if there exists a natural transformation formula_32 (the pullback of J by F). Taking as an example formula_1 and formula_26 as two different scientific models, the functor formula_30 is meaningful if "predictions", which are objects in formula_2, made by the first model formula_1 can be translated to  the second model formula_26. We say that formula_30 is "strongly meaningful" if given an object formula_40 we have formula_41. This equality is equivalent to requiring formula_42 to be a natural isomorphism. Sometimes it will be hard to find a meaningful functor formula_30 from formula_1 to formula_26. In such a case we may try to define a new olog formula_46 which represents the common ground of formula_1 and formula_26 and find meaningful functors formula_49 and formula_50. If communication between ologs is limited to a two-way communication as described above then we may think of a collection of ologs as nodes  of a graph and of the edges as functors connecting the ologs. If a simultaneous communication between more than two ologs is allowed then the graph becomes a symmetric simplicial complex. Rules of good practice. Spivak provides some rules of good practice for writing an olog whose morphisms have a functional nature (see the first example in the section Mathematical formalism). The text in a box should adhere to the following rules: The first three rules ensure that the objects (the boxes) defined by the olog's author are well-defined sets. The fourth rule improves the labeling of arrows  in an olog. Applications. This concept was used in a paper published in the December 2011 issue of "BioNanoScience" by David Spivak and others to establish a scientific analogy between spider silk and musical composition.