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.

16 stars

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

$curl -o ~/.claude/skills/catcolab-ologs/SKILL.md --create-dirs "https://raw.githubusercontent.com/plurigrid/asi/main/plugins/asi/skills/catcolab-ologs/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/catcolab-ologs/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How catcolab-ologs Compares

Feature / Agentcatcolab-ologsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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 composition

Related Skills

topos-catcolab

16
from plurigrid/asi

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

16
from plurigrid/asi

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

16
from plurigrid/asi

CatColab Schemas - database schema modeling distinguishing entities (tables) from attributes (columns). Foundation for ACSets (Attributed C-Sets) and AlgebraicJulia data structures.

catcolab-regulatory-networks

16
from plurigrid/asi

CatColab Regulatory Networks - signed graphs for molecular biology modeling gene regulatory networks with positive (activating) and negative (inhibiting) edges.

catcolab-petri-nets

16
from plurigrid/asi

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

16
from plurigrid/asi

CatColab Decapodes - Discrete Exterior Calculus for PDE modeling on meshes via Decapodes.jl integration. Model physics equations compositionally with automatic code generation.

zx-calculus

16
from plurigrid/asi

Coecke's ZX-calculus for quantum circuit reasoning via string diagrams with Z-spiders (green) and X-spiders (red)

zulip-cogen

16
from plurigrid/asi

Zulip Cogen Skill 🐸⚡

zls-integration

16
from plurigrid/asi

zls-integration skill

zig

16
from plurigrid/asi

zig skill

zig-syrup-bci

16
from plurigrid/asi

Multimodal BCI pipeline in Zig: DSI-24 EEG, fNIRS mBLL, eye tracking IVT, LSL sync, EDF read/write, GF(3) conservation

zig-programming

16
from plurigrid/asi

zig-programming skill