Skip to main content

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.

소스 정보

저장소
plurigrid/asi
최근 소스 활동
2026년 6월 10일 11:55
감지된 SKILL.md 언어
영어
스타
64
포크
12

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
3 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
catcolab-ologs
description
CatColab Ologs (Ontology Logs) - category-theoretic knowledge representation where objects are concepts and morphisms are functional relationships. Foundation for database schemas and conceptual modeling.
version
1.0.0
# 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
GitHub에서 보기