glam/schemas/20251121/linkml/modules/classes/WorkExperience.yaml

188 lines
5.5 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
- ./TimeSpan
- ./Experience
- ../slots/is_or_was_employed_by
- ./Employer
- ../slots/temporal_extent
- ./URL
- ./URLType
- ./URLTypes
- ../slots/is_or_was_current
- ../slots/has_or_had_description
- ../slots/is_or_was_position
- ../slots/specificity_annotation
- ../slots/has_or_had_score
- ../slots/has_or_had_location
- ./Location
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
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
- specificity_annotation
- has_or_had_score
- has_or_had_location
slot_usage:
is_or_was_position:
range: string
required: true
description: 'The position or role title held by an agent.
MIGRATED from job_title (Rule 53, 2026-01-28).
'
examples:
- value: Staff Adviseur
description: Dutch job title
- value: Senior Curator, Asian Art
description: Curatorial role with specialization
is_or_was_employed_by:
range: Employer
inlined: true
required: true
description: 'The employer organization.
MIGRATED from employer_name/employer_linkedin_url per Rule 53 (2026-01-26).
'
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: LinkedInProfileURLType
is_or_was_related_to:
has_or_had_label: Heritage Sector
description: Heritage employer with LinkedIn URL
temporal_extent:
range: TimeSpan
inlined: true
description: 'Duration of employment.
MIGRATED from employment_dates_raw, employment_start_date, employment_end_date per Rule 53 (2026-01-26).
Use begin_of_the_begin for start date, end_of_the_end for end date.
Use has_or_had_verbatim_value for raw date string.
'
examples:
- value:
begin_of_the_begin: 2017-08
end_of_the_end: 2025-04
has_or_had_verbatim_value: Aug 2017 - Apr 2025
description: Completed position with dates
- value:
begin_of_the_begin: 2025-04
has_or_had_verbatim_value: Apr 2025 - Present
description: Current position
is_or_was_current:
range: boolean
ifabsent: 'false'
description: 'Indicates if the position is currently active.
MIGRATED from is_current_position (Rule 53, 2026-01-28).
'
examples:
- value: true
description: Currently employed at this position
has_or_had_location:
range: Location
inlined: true
description: 'Location of the work experience.
MIGRATED 2026-01-14: Replaces work_location slot.
'
examples:
- value: "Location:\n city: \"Utrecht\"\n country: \"Netherlands\"\n"
description: City and country
- value: "Location:\n city: \"Amsterdam\"\n region: \"Noord-Holland\"\n country: \"Netherlands\"\n"
description: City, region, country
has_or_had_description:
range: string
description: 'Description of the role and responsibilities.
MIGRATED from job_description (Rule 53, 2026-01-28).
'
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: "['*']"
custodian_types_rationale: Universal utility concept