- Deleted the `rights_statement_url` slot definition as it is no longer needed. - Added multiple new slots including `has_legal_basis`, `has_statement`, `impose`, `pose_condition`, and `reviewed_through` with detailed descriptions and ontology alignments. - Updated existing slots to improve clarity and consistency, including renaming `close_mappings` to `related_mappings` in several definitions. - Enhanced the `require` slot with additional aliases for better usability. - Improved documentation and comments across all slot definitions to clarify their purpose and usage.
120 lines
7.1 KiB
YAML
120 lines
7.1 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
|
|
- ../enums/CauseOfDeathTypeEnum
|
|
- ../enums/RoleCategoryEnum
|
|
- ../metadata
|
|
- ../slots/20260202_matang/has_description
|
|
- ../slots/20260202_matang/has_domain
|
|
- ../slots/20260202_matang/responsible_for
|
|
- ../slots/20260202_matang/has_score
|
|
- ../slots/20260202_matang/has_type
|
|
- ../slots/20260202_matang/include
|
|
- ../slots/20260202_matang/new/is_deceased
|
|
- ../slots/20260202_matang/new/martyred
|
|
- ../slots/20260202_matang/require
|
|
- ../slots/20260202_matang/new/role_category
|
|
- ../slots/20260202_matang/new/role_id
|
|
- ../slots/20260202_matang/new/role_name
|
|
- ../slots/20260202_matang/new/role_name_local
|
|
- ../slots/20260202_matang/temporal_extent
|
|
classes:
|
|
StaffRole:
|
|
class_uri: org:Role
|
|
abstract: true
|
|
description: "Abstract base class for official staff role/job title classifications in heritage institutions.\n\n**CRITICAL: FORMAL TITLE vs DE FACTO WORK**\n\nThese classes represent OFFICIAL JOB APPELLATIONS/TITLES - the formal designation\nassigned to a position by the institution. This is the title that appears on:\n- Employment contracts\n- Business cards\n- Organizational charts\n- HR systems\n- Official correspondence\n\n**The ACTUAL DE FACTO WORK performed may differ or extend beyond these classifications.**\n\n| Aspect | Official Title (This Class) | De Facto Work (PersonObservation) |\n|--------|----------------------------|-----------------------------------|\n| **Nature** | Formal job appellation | Actual tasks and responsibilities |\n| **Scope** | Narrow, defined by HR | Often broader, cross-functional |\n| **Stability** | Changes with promotion/reassignment | Evolves with projects and needs |\n| **Documentation** | Contract, org chart | Work logs, project records |\n\n\
|
|
**Examples of Title vs Reality**:\n\n- **Title**: \"Curator\" \u2192 **Reality**: Also does collections management, grant writing, public speaking\n- **Title**: \"Archivist\" \u2192 **Reality**: Also trains volunteers, manages digitization, writes blog posts\n- **Title**: \"IT Specialist\" \u2192 **Reality**: Also manages digital preservation, trains staff, procures equipment\n- **Title**: \"Librarian\" \u2192 **Reality**: Also curates exhibitions, teaches workshops, manages social media\n\n**Multi-Role Handling**:\n\nStaff may hold multiple official roles simultaneously:\n- A person may be both \"Curator\" AND \"Department Head\"\n- A person may be \"Researcher\" during 50% appointment AND \"Educator\" for 50%\n- Roles may overlap in time with different temporal extents\n\nEach role is captured as a separate PersonObservation record with its own temporal bounds.\n\n- org:Role - W3C Organization Ontology role concept\n- schema:Role - Schema.org role (for structured values)\n- schema:roleName\
|
|
\ - The name of the role\n- pico:PersonObservation - PiCo pattern for role observations\n\n**Subclasses**:\n\nSpecific role types inherit from this base class:\n- Curatorial: Curator, CollectionsManager\n- Conservation: Conservator\n- Archival: Archivist, RecordsManager\n- Library: Librarian\n- Digital: DigitalPreservationSpecialist, DigitizationSpecialist, DataManager, etc.\n- Education: Educator, PublicEngagementSpecialist\n- Governance: Chairperson, ViceChairperson, Secretary, Treasurer, BoardMember\n- Leadership: Director, DeputyDirector, DepartmentHead\n- Research: Researcher, ResearcherInResidence, Historian, Genealogist, OralHistorian\n- Technical: FacilitiesManager, ITSpecialist, FrontendDeveloper, BackendDeveloper, etc.\n- Support: SecurityGuard, Janitor, Cleaner, Receptionist, TourGuide, etc.\n- Creative: ArtistInResidence\n- External: Consultant, LegalConsultant, Lawyer, Volunteer, NewsletterEditor, EventCoordinator\n"
|
|
exact_mappings:
|
|
- org:Role
|
|
- schema:Role
|
|
close_mappings:
|
|
- pico:PersonObservation
|
|
- schema:Occupation
|
|
related_mappings:
|
|
- schema:JobPosting
|
|
- schema:EmployeeRole
|
|
slots:
|
|
- is_deceased
|
|
- has_type
|
|
- include
|
|
- has_description
|
|
- martyred
|
|
- requires_qualification
|
|
- role_category
|
|
- role_id
|
|
- role_name
|
|
- role_name_local
|
|
- has_score
|
|
- temporal_extent
|
|
- has_domain
|
|
- responsible_for
|
|
slot_usage:
|
|
role_id:
|
|
identifier: true
|
|
required: true
|
|
role_name:
|
|
required: true
|
|
role_name_local:
|
|
required: false
|
|
role_category:
|
|
required: false
|
|
martyred:
|
|
required: false
|
|
is_deceased:
|
|
required: false
|
|
# range: string # uriorcurie
|
|
# range: DeceasedStatus
|
|
inlined: false # Fixed invalid inline for primitive type
|
|
description: "Structured death information using DeceasedStatus class.\nReplaces simple circumstances_of_death string.\nCaptures cause (CauseOfDeath), date (TimeSpan), and narrative.\n\n**Example - Gaza Heritage Worker**:\n```yaml\nis_deceased:\n caused_by:\n has_type: CONFLICT\n has_description: |\n Killed in Israeli airstrike on his home in Gaza City.\n temporal_extent:\n begin_of_the_begin: \"2023-11-19T00:00:00Z\"\n end_of_the_end: \"2023-11-19T23:59:59Z\"\n```\n"
|
|
has_type:
|
|
required: false
|
|
# range: string # uriorcurie
|
|
# range: VariantType
|
|
multivalued: true
|
|
inlined: false # Fixed invalid inline for primitive type
|
|
inlined_as_list: false # Fixed invalid inline for primitive type
|
|
examples:
|
|
- value:
|
|
has_label: Keeper
|
|
has_type: SynonymVariant
|
|
has_description: British English alternative for Curator
|
|
- value:
|
|
has_label: Conservateur
|
|
has_type: TranslationVariant
|
|
has_language: fr
|
|
include:
|
|
required: false
|
|
# range: string # uriorcurie
|
|
# range: VariantType
|
|
multivalued: true
|
|
inlined: false # Fixed invalid inline for primitive type
|
|
inlined_as_list: false # Fixed invalid inline for primitive type
|
|
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
|
|
- is_deceased with DeceasedStatus tracks vital status of staff member holding this role
|
|
- martyred flag specifically for information workers killed due to conflict or persecution
|
|
- DeceasedStatus.temporal_extent 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
|
|
annotations:
|
|
specificity_score: 0.1
|
|
specificity_rationale: Generic utility class/slot created during migration
|
|
custodian_types: "['*']"
|