glam/schemas/20251121/linkml/modules/classes/WorkExperience.yaml
kempersc fc405445c6 Refactor and update schema definitions
- Removed obsolete slots: `has_or_had_custodian_observation`, `provider`, and `specificity_annotation`.
- Updated `has_or_had_score` slot to use `SpecificityScore` class and modified its description and examples.
- Added new slots: `end_seconds`, `end_time`, `has_archive_path`, `has_or_had_custodian_name`, `protocol_name`, and `protocol_version`.
- Introduced a script `check_annotation_types.py` to validate the presence and structure of `custodian_types` in YAML files.
- Added a script `update_specificity.py` to automate updates related to `SpecificityAnnotation` to `SpecificityScore`.
2026-02-01 19:55:38 +01:00

132 lines
3.8 KiB
YAML

id: https://nde.nl/ontology/hc/class/WorkExperience
name: work_experience_class
title: Work Experience Class
version: 1.0.0
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
org: http://www.w3.org/ns/org#
prov: http://www.w3.org/ns/prov#
crm: http://www.cidoc-crm.org/cidoc-crm/
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
- ../metadata
- ../slots/has_or_had_description
- ../slots/has_or_had_location
- ../slots/has_or_had_score
- ../slots/is_or_was_current
- ../slots/is_or_was_employed_by
- ../slots/is_or_was_position
- ../slots/temporal_extent
default_range: string
classes:
WorkExperience:
is_a: Experience
class_uri: schema:OrganizationRole
description: 'A single work experience entry from a person''s career history.
Models employment positions with job title, employer, dates, and location.
Uses simplified date representation (not full TimeSpan) since LinkedIn
data typically has precise month/year values.
**Schema.org Alignment**:
- Represents a schema:OrganizationRole (role at an organization)
- Related to org:Membership (W3C Organization Ontology)
**Use Cases**:
- LinkedIn profile experience entries
- CV/resume work history
- Staff has_or_had_affiliation tracking
**Heritage Relevance**:
- Each work experience can be tagged for heritage sector relevance
- Links to CustodianName if employer is a known heritage custodian
'
exact_mappings:
- schema:OrganizationRole
close_mappings:
- org:Membership
- crm:E7_Activity
related_mappings:
- schema:EmployeeRole
- prov:Association
slots:
- is_or_was_employed_by
- temporal_extent
- is_or_was_current
- has_or_had_description
- is_or_was_position
- has_or_had_score
- has_or_had_location
slot_usage:
is_or_was_position:
range: string
required: true
examples:
- value: Staff Adviseur
- value: Senior Curator, Asian Art
is_or_was_employed_by:
range: Employer
inlined: true
required: true
examples:
- value:
has_or_had_label: Rijksmuseum
has_or_had_url:
has_or_had_url: https://www.linkedin.com/company/rijksmuseum
has_or_had_type: LinkedInProfileURL
is_or_was_related_to:
has_or_had_label: Heritage Sector
temporal_extent:
range: TimeSpan
inlined: true
examples:
- value:
begin_of_the_begin: 2017-08
end_of_the_end: 2025-04
has_or_had_verbatim_value: Aug 2017 - Apr 2025
- value:
begin_of_the_begin: 2025-04
has_or_had_verbatim_value: Apr 2025 - Present
is_or_was_current:
range: boolean
ifabsent: 'false'
examples:
- value: true
has_or_had_location:
range: string
inlined: true
examples:
- value: "Location:\n city: \"Utrecht\"\n country: \"Netherlands\"\n"
- value: "Location:\n city: \"Amsterdam\"\n region: \"Noord-Holland\"\n country: \"Netherlands\"\n"
has_or_had_description:
range: string
comments:
- Inlined in LinkedInProfile.experience[] as multivalued list
- Preserves raw LinkedIn date formats for provenance
- Current positions have is_or_was_current=true and null end_date
- heritage_employer boolean removed; heritage status indicated via Employer.is_or_was_related_to
see_also:
- https://schema.org/OrganizationRole
- https://www.w3.org/TR/vocab-org/#class-membership
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types: "['*']"