  We introduce the relational ontology log, or relational olog, a knowledge
representation system based on the category of sets and relations. It is
inspired by Spivak and Kent's olog, a recent categorical framework for
knowledge representation. Relational ologs interpolate between ologs and
description logic, the dominant formalism for knowledge representation today.
In this paper, we investigate relational ologs both for their own sake and to
gain insight into the relationship between the algebraic and logical approaches
to knowledge representation. On a practical level, we show by example that
relational ologs have a friendly and intuitive--yet fully precise--graphical
syntax, derived from the string diagrams of monoidal categories. We explain
several other useful features of relational ologs not possessed by most
description logics, such as a type system and a rich, flexible notion of
instance data. In a more theoretical vein, we draw on categorical logic to show
how relational ologs can be translated to and from logical theories in a
fragment of first-order logic. Although we make extensive use of categorical
language, this paper is designed to be self-contained and has considerable
expository content. The only prerequisites are knowledge of first-order logic
and the rudiments of category theory.
