catcolab-ologs
CatColab Ologs (Ontology Logs) - category-theoretic knowledge representation where objects are concepts and morphisms are functional relationships. Foundation for database schemas and conceptual modeling.
Best use case
catcolab-ologs is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
CatColab Ologs (Ontology Logs) - category-theoretic knowledge representation where objects are concepts and morphisms are functional relationships. Foundation for database schemas and conceptual modeling.
Teams using catcolab-ologs should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/catcolab-ologs/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How catcolab-ologs Compares
| Feature / Agent | catcolab-ologs | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
CatColab Ologs (Ontology Logs) - category-theoretic knowledge representation where objects are concepts and morphisms are functional relationships. Foundation for database schemas and conceptual modeling.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# CatColab Ologs: Ontology Logs
**Trit**: -1 (MINUS - validator/verifier)
**Color**: Cyan (#00CED1)
## Overview
Ologs (Ontology Logs) are category-theoretic representations of knowledge domains, introduced by Spivak and Kent (2011). In CatColab, ologs serve as:
- **Conceptual Foundations**: Objects = concepts/types, Morphisms = functional relations
- **Database Ontologies**: The schema layer before populating with data
- **Knowledge Graphs**: Categorical structure for reasoning about domains
## Mathematical Foundation
An olog is a **category** where:
- Objects represent **types** or **concepts** (e.g., "a person", "a company")
- Morphisms represent **functional relationships** (e.g., "works for", "has birthday")
- Commutative diagrams encode **logical constraints**
```
┌─────────────────────────────────────────────────────┐
│ OLOG │
├─────────────────────────────────────────────────────┤
│ Objects: │
│ Person, Company, Date, Department │
│ │
│ Morphisms (functional): │
│ works_for: Person → Company │
│ has_birthday: Person → Date │
│ employs: Company → Department │
│ │
│ Commutative Diagram (constraint): │
│ Person ──works_for──► Company │
│ │ │ │
│ in_dept employs │
│ ▼ ▼ │
│ Dept ════════════════► Dept │
│ (must agree) │
└─────────────────────────────────────────────────────┘
```
## CatColab Implementation
### Object Declaration
```typescript
// In CatColab notebook
{
"type": "ObDecl",
"name": "Person",
"description": "a person in the organization"
}
```
### Morphism Declaration
```typescript
{
"type": "MorDecl",
"name": "works_for",
"dom": "Person",
"cod": "Company",
"description": "the company that employs this person"
}
```
### Equation (Commutative Diagram)
```typescript
{
"type": "EqDecl",
"lhs": "Person.in_dept",
"rhs": "Person.works_for.employs",
"description": "a person's department agrees with their company's structure"
}
```
## Double Theory
Ologs in CatColab are instances of the **SimpleCategory** double theory:
```rust
// From catlog
pub fn th_category() -> DiscreteDblTheory {
let mut cat = FpCategory::new();
cat.add_ob_generator(name("Ob"));
cat.add_mor_generator(name("Hom"), name("Ob"), name("Ob"));
// Composition and identity axioms
cat.into()
}
```
## Practical Examples
### Example 1: Academic Institution
```
Objects: Professor, Student, Course, Department, University
Morphisms:
teaches: Professor → Course
enrolled: Student → Course
member_of: Professor → Department
part_of: Department → University
Diagram (functorial):
Professor ──teaches──► Course
│ │
member_of offered_by
▼ ▼
Department ◄──────────── Department
```
### Example 2: Supply Chain
```
Objects: Supplier, Warehouse, Product, Customer
Morphisms:
supplies: Supplier → Product
stores: Warehouse → Product
orders: Customer → Product
ships_from: Product → Warehouse
```
## Integration with Schemas
Ologs upgrade to **Schemas** by distinguishing:
- **Entities** (tables with identity)
- **Attributes** (columns/properties)
```
OLOG: SCHEMA:
Person ──name──► String → Person (Entity)
├── id: UUID
└── name: String (Attr)
```
## GF(3) Triads
```
catcolab-ologs (-1) ⊗ topos-catcolab (0) ⊗ catcolab-schemas (+1) = 0 ✓
catcolab-ologs (-1) ⊗ acsets-relational-thinking (0) ⊗ database-design (+1) = 0 ✓
```
## Commands
```bash
# Create new olog
just catcolab-new category "my-ontology"
# Validate olog constraints
just catcolab-validate my-ontology
# Export to JSON-LD
just catcolab-export my-ontology --format=jsonld
```
## References
- Spivak & Kent (2011) "Ologs: A Categorical Framework for Knowledge Representation"
- [CatColab Documentation](https://catcolab.org/help)
- [RelationalThinking Book](https://toposinstitute.github.io/RelationalThinking-Book/)
---
**Skill Name**: catcolab-ologs
**Type**: Knowledge Representation / Ontology
**Trit**: -1 (MINUS)
**GF(3)**: Conserved via triadic compositionRelated Skills
topos-catcolab
Topos Institute's CatColab for collaborative category theory - community model building, double theories, stock and flow epidemiology, and real-time collaborative diagramming via Automerge CRDT.
catcolab-stock-flow
CatColab Stock-and-Flow Diagrams - epidemiological and ecological modeling with stocks (accumulations), flows (rates), and mass-action ODE semantics for SIR models and population dynamics.
catcolab-schemas
CatColab Schemas - database schema modeling distinguishing entities (tables) from attributes (columns). Foundation for ACSets (Attributed C-Sets) and AlgebraicJulia data structures.
catcolab-regulatory-networks
CatColab Regulatory Networks - signed graphs for molecular biology modeling gene regulatory networks with positive (activating) and negative (inhibiting) edges.
catcolab-petri-nets
CatColab Petri Nets - concurrent system modeling via places (states), transitions (events), and token flow. Foundation for process algebra, workflow, and chemical reaction networks.
catcolab-decapodes
CatColab Decapodes - Discrete Exterior Calculus for PDE modeling on meshes via Decapodes.jl integration. Model physics equations compositionally with automatic code generation.
zx-calculus
Coecke's ZX-calculus for quantum circuit reasoning via string diagrams with Z-spiders (green) and X-spiders (red)
zulip-cogen
Zulip Cogen Skill 🐸⚡
zls-integration
zls-integration skill
zig
zig skill
zig-syrup-bci
Multimodal BCI pipeline in Zig: DSI-24 EEG, fNIRS mBLL, eye tracking IVT, LSL sync, EDF read/write, GF(3) conservation
zig-programming
zig-programming skill