Skip to content
Back to the collection

Ologs: a categorical framework for knowledge representation

David I. Spivak, Robert E. Kent

2011 · arXiv

Read the paper
HN score
0
Mentions
5
Readers
4
Months
5
What’s in a score?

From the abstract

In this paper we introduce the olog, or ontology log, a category-theoretic model for knowledge representation (KR). Grounded in formal mathematics, ologs can be rigorously formulated and cross-compared in ways that other KR models (such as semantic networks) cannot. An olog is similar to a relational database schema; in fact an olog can serve as a data repository if desired. Unlike database schemas, which are generally difficult to create or modify, ologs are designed to be user-friendly enough that authoring or reconfiguring an olog is a matter of course rather than a difficult chore. It is hoped that learning to author ologs is much simpler than learning a database definition language, despite their similarity. We describe ologs carefully and illustrate with many examples. As an application we show that any primitive recursive function can be described by an olog. We also show that ologs can be aligned or connected together into a larger network using functors. The various methods of information flow and institutions can then be used to integrate local and global world-views. We finish by providing several different avenues for future research.

Metadata: arXiv. Abstracts retain their original authors’ rights.

In the conversation

Original HN comments, with labels from simple text rules. A label describes the whole comment and may miss context or irony. Read the discussion to make up your own mind. About the labels

5 selected excerpts · 5 total mentions

lidHanteyk
Neutral mention · rule
Haskell is not really category-theoretic. The category Hask doesn't quite line up with real-world Haskell. The disconnection is well-understood and well-documented [0][1]. Category theory can directly give us systems from theories. See the papers behind FQL/CQL for more details, especially [2] and [3]. [0] https://wiki.haskell.org/Hask [1] http://www.cse.chalmers.se/~nad/publications/danielsson-et-a... [2] https://arxiv.org/abs/1102.1889v2 [3] https://arxiv.org/abs/1706.00526
myWindoonn
Neutral mention · rule
Mathematics is metaphysics. I'd like your refutation to center on any nuance which might separate the two disciplines other than the sad fact that many philosophers don't learn much maths. Logic is metaphysics: https://philpapers.org/archive/ALVLIM-3.pdf Logic is mathematical, logic is categorical (structured in a deep way amenable to category theory), maths is categorical: http://math.ucr.edu/home/baez/rosetta.pdf https://ncatlab.org/nlab/show/internal+logic https://ncatlab.org/nlab/show/topos Ontology is categorical: https://arxiv.org/abs/1102.1889v2 https://arxiv.org/abs/1706.00526 The working programmer is an ontologist and a taxonomist, but this fact isn't well-understood.
DonbunEf7
Neutral mention · rule
Reminds me of ologs: https://arxiv.org/abs/1102.1889v2 The category on top of a given graph just adds path equivalences. While that might not seem like a big addition, it's crucial for restricting the structure's internal state.
barakm
Neutral mention · rule
+1 Insightful. In fact, there's research toward showing the two are equivalent in possibility space of what can be represented/queried (https://arxiv.org/abs/1102.1889) But yes, linked data and graphs are super powerful once the data is triplified. Suddenly you have an abstraction above the contents of your data into the 'shape' of your data. SPARQL and RDF aren't going away, but they're the academic thing that I and others are trying to make useful. GraphQL is scratching the surface, but it's super exciting that it's scratching at all, imo. (Disclosure: Founded CayleyGraph, supporting the open source https://github.com/cayleygraph/cayley, which I maintain and mostly wrote)
myWindoonn
Neutral mention · rule
Unfortunately, Kialo does not have any features for structural reasoning, where the logical connections between arguments are completely formalized and precise. It relies on a human element to check each argument. Edit: How to do this formally? Look at formal systems for hints of how to do it in the 1900s, or category theory for how to do it in the modern day. [0][1] [0] https://arxiv.org/abs/1102.1889v2 [1] https://arxiv.org/abs/1706.00526

Keep following the thread.

More in Databases

More from the same topics.

1994arXiv

On proof and progress in mathematics

William P. Thurston

In response to Jaffe and Quinn [math.HO/9307227], the author discusses forms of progress in mathematics that are not captured by formal proofs of theorems, especially in his own work in the theory of foliations and geometrization of 3-manifolds and dynamical systems.

29 mentions21 months
9HN score
2017arXiv

The Case for Learned Index Structures

Tim Kraska, Alex Beutel, Ed H. Chi +2

Indexes are models: a B-Tree-Index can be seen as a model to map a key to the position of a record within a sorted array, a Hash-Index as a model to map a key to a position of a record within an unsorted array, and a BitMap-Index as a model to indicate if a data record exists or not.

19 mentions14 months
5HN score