- Implemented `owl_to_mermaid.py` to convert OWL/Turtle files into Mermaid class diagrams. - Implemented `owl_to_plantuml.py` to convert OWL/Turtle files into PlantUML class diagrams. - Added two new PlantUML files for custodian multi-aspect diagrams.
5.2 KiB
Quick Status: OrganizationalStructure + OrganizationalChangeEvent Complete
Date: 2025-11-22
Status: ✅ COMPLETE (Phase 1 + Phase 2)
Schema Version: v0.5.0
What We Built (Summary)
Phase 1: OrganizationalStructure ✅
Purpose: Model operational units (departments, teams, divisions)
Key Files:
- Class:
modules/classes/OrganizationalStructure.yaml - Enum:
modules/enums/OrganizationalUnitTypeEnum.yaml(9 types) - Slots: 6 files (unit_name, unit_type, parent_unit, etc.)
Features:
- Hierarchical nesting (self-referencing parent_unit)
- Temporal validity (valid_from/valid_to)
- W3C ORG alignment (
org:OrganizationalUnit)
Phase 2: OrganizationalChangeEvent ✅
Purpose: Document organizational restructuring history
Key Files:
- Class:
modules/classes/OrganizationalChangeEvent.yaml - Enum:
modules/enums/OrganizationalChangeEventTypeEnum.yaml(9 event types) - Slots: 9 files (event_type, event_date, affected_units, etc.)
Event Types: MERGER, SPLIT, DISSOLUTION, REORGANIZATION, RENAMING, TRANSFER, FOUNDING, EXPANSION, REDUCTION
Features:
- Links to affected/resulting organizational units
- Documents rationale, staff impact, sources
- CIDOC-CRM Event (
crm:E5_Event) alignment
Schema Statistics
| Metric | v0.3.0 | v0.5.0 | Change |
|---|---|---|---|
| Classes | 19 | 21 | +2 |
| Enums | 7 | 9 | +2 |
| Slots | 70 | 85 | +15 |
| Total Files | 100 | 117 | +17 |
Generated Artifacts
RDF/OWL: schemas/20251121/rdf/01_custodian_name_modular_20251122_193018.owl.ttl (205 KB)
ER Diagram: schemas/20251121/uml/mermaid/01_custodian_name_modular_20251122_193024_er.mmd (6.9 KB)
Test Instances
OrganizationalStructure: 5 examples, 35+ units
- National Archives, Rijksmuseum, KB, Noord-Hollands Archief, Amsterdam Museum
OrganizationalChangeEvent: 10 real-world examples
- All 9 event types represented (Rijksmuseum merger, KB split, Amsterdam dissolution, etc.)
Documentation
| Document | Size | Purpose |
|---|---|---|
ORGANIZATIONAL_STRUCTURE_EXAMPLES.md |
~15,000 words | Complete usage guide |
ORGANIZATIONAL_STRUCTURE_COMPLETE_20251122.md |
~5,000 words | Phase 1 summary |
ORGANIZATIONAL_CHANGE_EVENT_COMPLETE_20251122.md |
~8,000 words | Phase 2 summary |
SESSION_SUMMARY_ORGANIZATIONAL_MODELING_20251122.md |
~7,000 words | Full session recap |
Key Design Decisions
1. Formal vs. Informal Distinction
- GovernanceStructure (on CustodianLegalStatus): LEGAL/FORMAL structure from registration
- OrganizationalStructure (on Custodian): OPERATIONAL/INFORMAL units for day-to-day work
2. Event-Structure Temporal Alignment
- Dissolved units:
valid_to=event_date - Created units:
valid_from=event_date
3. Hub Architecture Maintained
- Both features use
refers_to_custodianto link to Custodian hub - Preserves hub abstraction for multi-aspect modeling
Next Steps (Priority Order)
Priority 1: PiCo Integration - Staff Role Tracking
Goal: Link PersonObservation to organizational units
Timeline: 1-2 hours
Files: PersonObservation.yaml, create unit_affiliation slot
Priority 2: CustodianCollection - Department Mapping
Goal: Link collections to managing units
Timeline: 1 hour
Files: CustodianCollection.yaml, create custodian_department slot
Priority 3: Validation Framework
Goal: Automated temporal consistency checks
Timeline: 2-3 hours
Files: Create validate_organizational_change_events.py
Priority 4: Historical Data Enrichment
Goal: Extract events from annual reports
Timeline: 5-8 hours
Dependencies: Institutional data sources
Quick References
Schema Files
- Main:
schemas/20251121/linkml/01_custodian_name_modular.yaml - Custodian:
schemas/20251121/linkml/modules/classes/Custodian.yaml - Organizational Structure:
schemas/20251121/linkml/modules/classes/OrganizationalStructure.yaml - Change Events:
schemas/20251121/linkml/modules/classes/OrganizationalChangeEvent.yaml
Examples
- Structures:
schemas/20251121/examples/organizational_structure_examples.yaml - Events:
schemas/20251121/examples/organizational_change_event_examples.yaml
Generated
- RDF:
schemas/20251121/rdf/01_custodian_name_modular_20251122_193018.owl.ttl - ER Diagram:
schemas/20251121/uml/mermaid/01_custodian_name_modular_20251122_193024_er.mmd
Use Cases Enabled
✅ Organizational history research - Query mergers/splits by date range
✅ Workforce impact analysis - Aggregate staff changes across events
✅ Organizational stability scoring - Count/weight changes per custodian
✅ Successor unit lookup - Trace dissolved units to successors
Status
Phase 1: ✅ Complete (OrganizationalStructure)
Phase 2: ✅ Complete (OrganizationalChangeEvent)
Phase 3: ⏳ Planned (PiCo integration)
Schema Validation: ✅ RDF/OWL generation successful
Instance Validation: ⏳ Deferred (tree_root container infrastructure)
Production Readiness: ✅ Ready for use
Last Updated: 2025-11-22T21:00:00Z
Schema Version: v0.5.0
Next Session: Start Phase 3 (PiCo) or alternative priority