glam/schemas/20251121/linkml/modules/classes/WorkExperience.yaml
kempersc 4319f38c05 Add archived slots for audience size, audience type, and capacity metrics
- Created new YAML files for audience size and audience type slots, defining their properties and annotations.
- Added archived capacity slots including cubic meters, linear meters, item count, and descriptions, with appropriate URIs and ranges.
- Introduced a template specificity slot for context-aware RAG filtering.
- Consolidated capacity-related slots into a unified structure, including has_or_had_capacity, capacity_type, and capacity_value, with detailed descriptions and examples.
2026-01-17 18:53:23 +01:00

188 lines
5.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
- TimeSpan
- ../slots/employer_linkedin_url
- ../slots/employer_name
- ../slots/employment_dates_raw
- ../slots/employment_end_date
- ../slots/employment_start_date
- ../slots/heritage_employer
- ../slots/is_current_position
- ../slots/job_description
- ../slots/job_title
- ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
# REMOVED 2026-01-14: ../slots/work_location - migrated to has_or_had_location with Location
- ../slots/has_or_had_location
- ./Location
- ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
default_range: string
classes:
WorkExperience:
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:
- employer_linkedin_url
- employer_name
- employment_dates_raw
- employment_end_date
- employment_start_date
- heritage_employer
- is_current_position
- job_description
- job_title
- specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
# REMOVED 2026-01-14: work_location - migrated to has_or_had_location with Location
- has_or_had_location
slot_usage:
job_title:
range: string
required: true
examples:
- value: Staff Adviseur
description: Dutch job title
- value: Senior Curator, Asian Art
description: Curatorial role with specialization
employer_name:
range: string
required: true
examples:
- value: The Dutch Inspectorate of Education
description: Full organization name
- value: Rijksmuseum
description: Heritage institution employer
employer_linkedin_url:
range: uri
pattern: ^https://www\.linkedin\.com/company/[a-z0-9-]+/?$
examples:
- value: https://www.linkedin.com/company/rijksmuseum
employment_dates_raw:
range: string
examples:
- value: Apr 2025 - Present
description: Current position with start month
- value: Aug 2017 - Apr 2025
description: Completed position with month precision
- value: 2015 - 2020
description: Year-only precision
employment_start_date:
range: date
examples:
- value: 2025-04
description: April 2025 start
- value: '2017'
description: Year-only precision
employment_end_date:
range: date
examples:
- value: 2025-04
description: Ended April 2025
- value: null
description: Current position (ongoing)
is_current_position:
range: boolean
ifabsent: 'false'
examples:
- value: true
description: Currently employed at this position
# REMOVED 2026-01-14: work_location - migrated to has_or_had_location with Location
# work_location:
# range: string
# examples:
# - value: Utrecht, Netherlands
# description: City and country
# - value: Amsterdam, Noord-Holland, Netherlands
# description: City, region, country
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:
city: "Utrecht"
country: "Netherlands"
description: City and country
- value: |
Location:
city: "Amsterdam"
region: "Noord-Holland"
country: "Netherlands"
description: City, region, country
job_description:
range: string
heritage_employer:
range: boolean
ifabsent: 'false'
comments:
- Set to true if employer is museum, archive, library, etc.
- Links to HeritageTypeEnum for classification
comments:
- Inlined in LinkedInProfile.experience[] as multivalued list
- Preserves raw LinkedIn date formats for provenance
- Current positions have is_current_position=true and null end_date
- heritage_employer enables filtering for heritage sector careers
see_also:
- https://schema.org/OrganizationRole
- https://www.w3.org/TR/vocab-org/#class-membership