All checks were successful
Deploy Frontend / build-and-deploy (push) Successful in 2m4s
Session 2026-01-19: Completed remaining migrations per Rules 53/56/60. Major migrations: 1. claim_type → has_or_had_type + ClaimType/ClaimTypes (60+ concrete types in 11 categories) 2. circumstances_of_death → is_deceased + DeceasedStatus + CauseOfDeath 3. claims_count → has_or_had_quantity + Quantity (with based_on_claim for provenance) 4. classification_status → has_or_had_type + ClassificationStatusType Created files: - ClaimType.yaml, ClaimTypes.yaml (abstract base + 60+ concrete subclasses) - DeceasedStatus.yaml, CauseOfDeath.yaml, CauseOfDeathTypeEnum.yaml - ClassificationStatus.yaml, ClassificationStatusType.yaml, ClassificationStatusTypes.yaml - CITESAppendix.yaml, City.yaml, CertaintyLevel.yaml - is_deceased.yaml, is_or_was_caused_by.yaml, based_on_claim.yaml Archived slots: - claim_type, circumstances_of_death, claims_count, classification_status Added Rule 60 to AGENTS.md: No Migration Deferral - agents MUST execute all migrations. All 527 slot_fixes.yaml entries now complete (100%).
233 lines
7.5 KiB
YAML
233 lines
7.5 KiB
YAML
id: https://nde.nl/ontology/hc/class/StaffRole
|
|
name: staff_role_class
|
|
title: Staff Role Base Class
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
schema: http://schema.org/
|
|
org: http://www.w3.org/ns/org#
|
|
prov: http://www.w3.org/ns/prov#
|
|
dcterms: http://purl.org/dc/terms/
|
|
pico: https://personsincontext.org/model#
|
|
wd: http://www.wikidata.org/entity/
|
|
imports:
|
|
- linkml:types
|
|
- ../metadata
|
|
- ../slots/description
|
|
- ../slots/martyred
|
|
- ../slots/deceased
|
|
- ../slots/date_of_death
|
|
# REMOVED 2026-01-19: ../slots/circumstances_of_death - migrated to is_deceased with DeceasedStatus
|
|
- ../slots/is_deceased
|
|
- ./DeceasedStatus
|
|
- ./CauseOfDeath
|
|
- ../enums/CauseOfDeathTypeEnum
|
|
- ../slots/has_or_had_domain # was: typical_domain - migrated per Rule 53 (2026-01-15)
|
|
- ./Domain # for has_or_had_domain range
|
|
- ../slots/temporal_extent
|
|
- ./TimeSpan
|
|
- ../slots/common_variant
|
|
- ../slots/requires_qualification
|
|
- ../slots/role_category
|
|
- ../slots/role_id
|
|
- ../slots/role_name
|
|
- ../slots/role_name_local
|
|
- ../slots/specificity_annotation
|
|
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
# REMOVED 2026-01-14: ../slots/typical_responsibility - migrated to has_or_had_responsibility with Responsibility
|
|
- ../slots/has_or_had_responsibility
|
|
- ./Responsibility
|
|
- ./SpecificityAnnotation
|
|
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
|
|
|
|
- ./TemplateSpecificityType
|
|
|
|
- ./TemplateSpecificityTypes
|
|
- ../enums/RoleCategoryEnum
|
|
classes:
|
|
StaffRole:
|
|
class_uri: org:Role
|
|
abstract: true
|
|
description: 'Abstract base class for official staff role/job title classifications in heritage institutions.
|
|
|
|
|
|
**CRITICAL: FORMAL TITLE vs DE FACTO WORK**
|
|
|
|
|
|
These classes represent OFFICIAL JOB APPELLATIONS/TITLES - the formal designation
|
|
|
|
assigned to a position by the institution. This is the title that appears on:
|
|
|
|
- Employment contracts
|
|
|
|
- Business cards
|
|
|
|
- Organizational charts
|
|
|
|
- HR systems
|
|
|
|
- Official correspondence
|
|
|
|
|
|
**The ACTUAL DE FACTO WORK performed may differ or extend beyond these classifications.**
|
|
|
|
|
|
| Aspect | Official Title (This Class) | De Facto Work (PersonObservation) |
|
|
|
|
|--------|----------------------------|-----------------------------------|
|
|
|
|
| **Nature** | Formal job appellation | Actual tasks and responsibilities |
|
|
|
|
| **Scope** | Narrow, defined by HR | Often broader, cross-functional |
|
|
|
|
| **Stability** | Changes with promotion/reassignment | Evolves with projects and needs |
|
|
|
|
| **Documentation** | Contract, org chart | Work logs, project records |
|
|
|
|
|
|
**Examples of Title vs Reality**:
|
|
|
|
|
|
- **Title**: "Curator" → **Reality**: Also does collections management, grant writing, public speaking
|
|
|
|
- **Title**: "Archivist" → **Reality**: Also trains volunteers, manages digitization, writes blog posts
|
|
|
|
- **Title**: "IT Specialist" → **Reality**: Also manages digital preservation, trains staff, procures equipment
|
|
|
|
- **Title**: "Librarian" → **Reality**: Also curates exhibitions, teaches workshops, manages social media
|
|
|
|
|
|
**Multi-Role Handling**:
|
|
|
|
|
|
Staff may hold multiple official roles simultaneously:
|
|
|
|
- A person may be both "Curator" AND "Department Head"
|
|
|
|
- A person may be "Researcher" during 50% appointment AND "Educator" for 50%
|
|
|
|
- Roles may overlap in time with different temporal extents
|
|
|
|
|
|
Each role is captured as a separate PersonObservation record with its own temporal bounds.
|
|
|
|
|
|
- org:Role - W3C Organization Ontology role concept
|
|
|
|
- schema:Role - Schema.org role (for structured values)
|
|
|
|
- schema:roleName - The name of the role
|
|
|
|
- pico:PersonObservation - PiCo pattern for role observations
|
|
|
|
|
|
**Subclasses**:
|
|
|
|
|
|
Specific role types inherit from this base class:
|
|
|
|
- Curatorial: Curator, CollectionsManager
|
|
|
|
- Conservation: Conservator
|
|
|
|
- Archival: Archivist, RecordsManager
|
|
|
|
- Library: Librarian
|
|
|
|
- Digital: DigitalPreservationSpecialist, DigitizationSpecialist, DataManager, etc.
|
|
|
|
- Education: Educator, PublicEngagementSpecialist
|
|
|
|
- Governance: Chairperson, ViceChairperson, Secretary, Treasurer, BoardMember
|
|
|
|
- Leadership: Director, DeputyDirector, DepartmentHead
|
|
|
|
- Research: Researcher, ResearcherInResidence, Historian, Genealogist, OralHistorian
|
|
|
|
- Technical: FacilitiesManager, ITSpecialist, FrontendDeveloper, BackendDeveloper, etc.
|
|
|
|
- Support: SecurityGuard, Janitor, Cleaner, Receptionist, TourGuide, etc.
|
|
|
|
- Creative: ArtistInResidence
|
|
|
|
- External: Consultant, LegalConsultant, Lawyer, Volunteer, NewsletterEditor, EventCoordinator
|
|
|
|
'
|
|
exact_mappings:
|
|
- org:Role
|
|
- schema:Role
|
|
close_mappings:
|
|
- pico:PersonObservation
|
|
- schema:Occupation
|
|
related_mappings:
|
|
- schema:JobPosting
|
|
- schema:EmployeeRole
|
|
slots:
|
|
# REMOVED 2026-01-19: circumstances_of_death - migrated to is_deceased with DeceasedStatus
|
|
- is_deceased
|
|
- common_variant
|
|
- date_of_death
|
|
- deceased
|
|
- description
|
|
- martyred
|
|
- requires_qualification
|
|
- role_category
|
|
- role_id
|
|
- role_name
|
|
- role_name_local
|
|
- specificity_annotation
|
|
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
- temporal_extent
|
|
- has_or_had_domain # was: typical_domain - migrated per Rule 53 (2026-01-15)
|
|
# REMOVED 2026-01-14: typical_responsibility - migrated to has_or_had_responsibility with Responsibility
|
|
- has_or_had_responsibility
|
|
slot_usage:
|
|
role_id:
|
|
identifier: true
|
|
required: true
|
|
role_name:
|
|
required: true
|
|
role_name_local:
|
|
required: false
|
|
role_category:
|
|
required: false
|
|
deceased:
|
|
required: false
|
|
martyred:
|
|
required: false
|
|
date_of_death:
|
|
required: false
|
|
# REMOVED 2026-01-19: circumstances_of_death - migrated to is_deceased
|
|
is_deceased:
|
|
required: false
|
|
range: DeceasedStatus
|
|
inlined: true
|
|
description: |
|
|
Structured death information using DeceasedStatus class.
|
|
Replaces simple circumstances_of_death string.
|
|
Captures cause (CauseOfDeath), date (TimeSpan), and narrative.
|
|
|
|
**Example - Gaza Heritage Worker**:
|
|
```yaml
|
|
is_deceased:
|
|
is_or_was_caused_by:
|
|
has_or_had_type: CONFLICT
|
|
has_or_had_description: |
|
|
Killed in Israeli airstrike on his home in Gaza City.
|
|
temporal_extent:
|
|
begin_of_the_begin: "2023-11-19T00:00:00Z"
|
|
end_of_the_end: "2023-11-19T23:59:59Z"
|
|
```
|
|
comments:
|
|
- Abstract base class - use specific subclasses (Curator, Archivist, etc.)
|
|
- Represents OFFICIAL JOB TITLES, not de facto work performed
|
|
- Actual work may differ or extend beyond formal title classification
|
|
- A person may hold multiple roles simultaneously
|
|
- Each role observation has independent temporal extent
|
|
- Links to PersonObservation via role_type slot
|
|
- deceased/martyred slots track vital status of staff member holding this role
|
|
- martyred flag specifically for information workers killed due to conflict or persecution
|
|
- date_of_death uses TimeSpan for fuzzy temporal bounds when exact date unknown
|
|
see_also:
|
|
- https://www.w3.org/TR/vocab-org/#class-role
|
|
- https://schema.org/Role
|
|
- https://github.com/FICLIT/PiCo
|