Core Concepts
Double categories provide a flexible and expressive language to represent knowledge and query data, unifying the functional and relational models through double functors.
Abstract
The paper introduces double-categorical ologs as a knowledge representation framework, where the ontology or database schema is a small double category and instance data is a structure-preserving double functor. This approach recognizes both functions and relations as fundamental concepts, granting them first-class status.
The key highlights are:
Expressing facts: Double ologs can naturally express facts involving both functions and relations, including partial maps and implications, which are difficult to capture in functional or relational ologs.
Creating types using tabulators: Tabulators in double ologs enable the creation of new types by reifying propositions and relations as subtypes of the original types.
Forming conjunctions using local products: Local products in double ologs allow the expression of conjunctions of propositions, enabling complex queries to be formulated within the schema.
Querying data: Queries can be formulated as abstract relations in the double olog schema and then evaluated by the double functor defining the instance. Basic relational algebra operations like permutations, projections, and joins appear directly as operations in the double category of relations.
The paper provides an accessible, example-driven explanation of these features, demonstrating the expressive power and flexibility of double-categorical knowledge representation and data querying.
Stats
Each person may have expertise consisting of training or facility in a particular skill.
Each person may or may not belong to a particular SGC team.
The inner join of the expertise and membership relations gives the set of persons, their skills, and the teams they belong to.
Quotes
"Double categories provide a flexible and expressive language to represent knowledge and query data, unifying the functional and relational models through double functors."
"Querying is double-functorial semantics."