glam/QUICK_STATUS_UML_GENERATION_20251123.md
kempersc 3ff0e33bf9 Add UML diagrams and scripts for custodian schema
- Created PlantUML diagrams for custodian types, full schema, legal status, and organizational structure.
- Implemented a script to generate GraphViz DOT diagrams from OWL/RDF ontology files.
- Developed a script to generate UML diagrams from modular LinkML schema, supporting both Mermaid and PlantUML formats.
- Enhanced class definitions and relationships in UML diagrams to reflect the latest schema updates.
2025-11-23 23:05:33 +01:00

3.9 KiB

Quick Reference: UML Diagrams (2025-11-23)

Status: Complete - 10 UML diagrams generated
Timestamp: 20251123_174151
Schema Version: 0.7.1


Generated Files

Mermaid Class Diagrams (5 files)

schemas/20251121/uml/mermaid/
├── full_schema_20251123_174151.mmd        (12 KB - all 29 classes)
├── core_classes_20251123_174151.mmd       (5.6 KB - 8 main entities)
├── custodian_type_20251123_174151.mmd     (1.1 KB - NEW type system)
├── legal_status_20251123_174151.mmd       (1.8 KB - legal entities)
└── organizational_structure_20251123_174151.mmd (3.0 KB - org units)

PlantUML Diagrams (5 files)

schemas/20251121/uml/plantuml/
├── full_schema_20251123_174151.puml
├── core_classes_20251123_174151.puml
├── custodian_type_20251123_174151.puml
├── legal_status_20251123_174151.puml
└── organizational_structure_20251123_174151.puml

Key Highlights

NEW: CustodianType Diagram

Shows the newly implemented GLAMORCUBESFIXPHDNT taxonomy (19 types):

  • CustodianCustodianType (0..1 cardinality)
  • 11 slots: type_id, primary_type, wikidata_entity, type_label, etc.
  • Abstract base class (specialized subclasses in Phase 2)

Core Classes Diagram

8 main entities:

  1. Custodian (Hub)
  2. CustodianObservation
  3. CustodianName
  4. CustodianType (NEW)
  5. CustodianLegalStatus
  6. CustodianPlace
  7. CustodianCollection
  8. ReconstructionActivity

Statistics

  • Classes: 29
  • Slots: 127
  • Enums: 11
  • Diagrams: 10 (5 Mermaid + 5 PlantUML)

Viewing Diagrams

Mermaid (in VS Code)

code schemas/20251121/uml/mermaid/custodian_type_20251123_174151.mmd

Install: "Markdown Preview Mermaid Support" extension

Mermaid (online)

https://mermaid.live/ → paste .mmd contents

PlantUML (generate image)

plantuml schemas/20251121/uml/plantuml/custodian_type_20251123_174151.puml

Output: .png file in same directory


Regenerate Diagrams

When: After schema changes (new classes, modified relationships)

Command:

cd /Users/kempersc/apps/glam
python scripts/generate_uml_diagrams.py

Output: New diagrams with updated timestamp


Key Relationships (from diagrams)

CustodianType

Custodian --> "0..1" CustodianType : custodian_type
  • Property: org:classification (W3C ORG)
  • Optional: Custodian can exist without type
  • Single-valued: One type per custodian (use MIXED for multiple)

Hub Pattern

Custodian --> "0..1" CustodianName : preferred_label
Custodian --> "0..1" CustodianType : custodian_type (NEW)
Custodian --> "0..1" CustodianLegalStatus : legal_status
Custodian --> "0..1" CustodianPlace : place_designation
Custodian --> "0..*" CustodianCollection : has_collection

Organizational Structure

Custodian --> "0..*" OrganizationalStructure : organizational_structure
Custodian --> "0..*" OrganizationalChangeEvent : organizational_change_events
OrganizationalStructure --> "0..*" PersonObservation : staff_members

Documentation Files

  1. Comprehensive guide: UML_GENERATION_COMPLETE_20251123.md
  2. This file: Quick reference for next session
  3. Generator script: scripts/generate_uml_diagrams.py

Next Steps (Phase 2)

When specialized type classes are created:

  1. Run python scripts/generate_uml_diagrams.py
  2. Script will auto-detect new classes
  3. New diagrams:
    • Archive type hierarchy
    • Museum type hierarchy
    • Library type hierarchy
    • Full GLAMORCUBESFIXPHDNT taxonomy

Quick Start for Next Agent:

cd /Users/kempersc/apps/glam

# View diagrams
cat UML_GENERATION_COMPLETE_20251123.md

# View specific diagram
cat schemas/20251121/uml/mermaid/custodian_type_20251123_174151.mmd

# Regenerate if schema changed
python scripts/generate_uml_diagrams.py

Session Complete: 2025-11-23
Diagrams: 10 files generated (5 Mermaid + 5 PlantUML)
Schema Version: 0.7.1