glam/schemas/20251121/linkml/modules/classes/Person.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

161 lines
9.6 KiB
YAML

id: https://nde.nl/ontology/hc/class/Person
name: Person
title: Person Hub Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
crm: http://www.cidoc-crm.org/cidoc-crm/
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
pico: https://personsincontext.org/model#
foaf: http://xmlns.com/foaf/0.1/
dcterms: http://purl.org/dc/terms/
skos: http://www.w3.org/2004/02/skos/core#
default_prefix: hc
imports:
- linkml:types
- ../slots/person_id
- ../slots/preferred_label
- ../slots/has_or_had_participated_in_event
- ../slots/has_person_observation
- ../slots/created
- ../slots/modified
- ./Event
- ../slots/preferred_name
- ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- ./PersonObservation
- ./SpecificityAnnotation
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
- ../slots/created
- ../slots/has_or_had_participated_in_event
- ../slots/has_person_observation
- ../slots/modified
- ../slots/person_id
- ../slots/preferred_name
- ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
- ../slots/created
- ../slots/has_or_had_participated_in_event
- ../slots/has_person_observation
- ../slots/modified
- ../slots/person_id
- ../slots/preferred_name
- ../slots/specificity_annotation
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
classes:
Person:
class_uri: crm:E21_Person
description: "An abstract hub class that serves as the central connection point for all\ninformation about an individual\
\ person. The Person itself contains minimal\ninformation - essentially just its persistent identifier (person_id) and\n\
preferred name - and acts as a node to which all observations attach.\n\nThis hub pattern allows multiple observations\
\ from different sources to be\nconnected to a single logical person without asserting which observation\nis \"correct\"\
\ or \"primary\".\n\n**HUB ARCHITECTURE**:\n\n```\nPersonObservation ──refers_to_person──> Person ──participated_in_events──>\
\ Event\n │ ↑\n │ │\n(source: LinkedIn\
\ 2024) (source: Annual Report 2020)\n │ │\n └───────────────────────────────────┘\n\
\ Multiple observations → Single hub\n```\n\n- The Person hub is identified by: https://nde.nl/ontology/hc/person/{person-slug}\n\
- All PersonObservations refer to the hub via refers_to_person\n- The hub persists while observations and interpretations\
\ evolve\n\n**DISTINCTION FROM PersonObservation**:\n\n| Aspect | Person (Hub) | PersonObservation |\n|--------|--------------|-------------------|\n\
| **Purpose** | Abstract identity | Evidence-based data |\n| **Contains** | Minimal: ID, preferred name | Rich: role,\
\ affiliation, dates |\n| **Temporal** | Timeless identity | Point-in-time snapshot |\n| **Source** | Canonical | From\
\ specific source |\n| **Count** | One per person | Many per person |\n\n**USE CASES**:\n\n1. **Cross-Custodian Career\
\ Tracking**:\n Person worked at Rijksmuseum (observation 1), then at Van Gogh Museum (observation 2).\n Both observations\
\ link to same Person hub.\n \n2. **Source Reconciliation**:\n LinkedIn says \"Director\", annual report says \"\
General Director\".\n Both are valid observations of the same Person.\n \n3. **Event Participation**:\n Person\
\ participated in merger event, relocation event, etc.\n Events link to Person hub, not individual observations.\n\
\n**PICO ALIGNMENT**:\n\nThe PiCo (Persons in Context) ontology establishes this hub/observation pattern:\n- `pico:Person`:\
\ The abstract identity (hub) - this class\n- `pico:PersonObservation`: Evidence-based data about a person\n\nKey relationships:\n\
- PersonObservation → Person via pico:observationOf (refers_to_person)\n- Person → PersonObservation via pico:hasObservation\
\ (inverse)\n\n**CIDOC-CRM ALIGNMENT**:\n\nMaps to crm:E21_Person which is defined as:\n\"This class comprises real\
\ persons who live or are assumed to have lived.\"\n\nE21_Person is a subclass of:\n- E39_Actor (shared superclass with\
\ organizations)\n- E20_Biological_Object\n\nKey relationships:\n- P48_has_preferred_identifier → person_id\n- P11i_participated_in\
\ → Event (via participated_in_events)\n\n**RELATIONSHIP TO Custodian**:\n\nPerson and Custodian are parallel hub classes,\
\ both subclasses of crm:E39_Actor:\n\n```\ncrm:E39_Actor\n├── crm:E21_Person (Person hub)\n│ └── PersonObservation\
\ refers to Person\n└── crm:E74_Group (Custodian hub)\n └── CustodianObservation refers to Custodian\n```\n\nA Custodian\
\ can BE a Person (private collector), but typically:\n- Person = individual human\n- Custodian = organization/group/institution\n\
\n**EXAMPLE - Director with Multiple Roles**:\n\n```yaml\nPerson:\n person_id: \"https://nde.nl/ontology/hc/person/taco-dibbits\"\
\n preferred_name: \"Taco Dibbits\"\n participated_in_events:\n - \"https://nde.nl/ontology/hc/event/dibbits-appointed-director-2020\"\
\n\n# Observations from different sources:\nPersonObservation: # From LinkedIn\n person_name: \"Taco Dibbits\"\n \
\ role_title: \"General Director\"\n unit_affiliation: \"Executive Board\"\n refers_to_person: \"https://nde.nl/ontology/hc/person/taco-dibbits\"\
\n observation_source: \"LinkedIn profile, 2025-01-15\"\n\nPersonObservation: # From annual report\n person_name:\
\ \"T.J.S. Dibbits\"\n role_title: \"Algemeen Directeur\"\n refers_to_person: \"https://nde.nl/ontology/hc/person/taco-dibbits\"\
\n observation_source: \"Rijksmuseum Jaarverslag 2023\"\n```\n\n**EXAMPLE - Person Across Multiple Institutions**:\n\
\n```yaml\nPerson:\n person_id: \"https://nde.nl/ontology/hc/person/maria-garcia\"\n preferred_name: \"Maria Garcia\"\
\n participated_in_events:\n - \"https://nde.nl/ontology/hc/event/garcia-curator-appointment-2015\"\n - \"https://nde.nl/ontology/hc/event/garcia-director-appointment-2022\"\
\n\nPersonObservation: # Earlier role\n role_title: \"Curator of European Art\"\n unit_affiliation: \"Rijksmuseum\"\
\n role_start_date: \"2015-03-01\"\n role_end_date: \"2021-12-31\"\n refers_to_person: \"https://nde.nl/ontology/hc/person/maria-garcia\"\
\n\nPersonObservation: # Current role\n role_title: \"Director\"\n unit_affiliation: \"Mauritshuis\"\n role_start_date:\
\ \"2022-01-01\"\n refers_to_person: \"https://nde.nl/ontology/hc/person/maria-garcia\"\n```\n"
exact_mappings:
- crm:E21_Person
- pico:Person
- foaf:Person
close_mappings:
- schema:Person
- prov:Person
broad_mappings:
- crm:E39_Actor
- prov:Agent
- foaf:Agent
slots:
- created
- has_person_observation
- modified
- has_or_had_participated_in_event
- person_id
- preferred_name
- specificity_annotation
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
slot_usage:
person_id:
range: uriorcurie
required: true
identifier: true
pattern: ^https://nde\.nl/ontology/hc/person/[a-z0-9-]+$
preferred_name:
range: string
required: false
has_or_had_participated_in_event:
range: Event
multivalued: true
required: false
has_person_observation:
range: PersonObservation
multivalued: true
required: false
inlined: false
comments:
- Person is the hub class for individual humans in the HC ontology
- PersonObservation entities attach to Person via refers_to_person
- Parallel architecture to Custodian hub class
- Enables linking same person across multiple institutions and sources
- preferred_name is minimal - rich data lives in PersonObservation
- participated_in_events links person to life/career events
examples:
- value:
person_id: https://nde.nl/ontology/hc/person/taco-dibbits
preferred_name: Taco Dibbits
has_or_had_participated_in_event:
- https://nde.nl/ontology/hc/event/dibbits-appointed-director-2020
has_person_observation:
- https://nde.nl/ontology/hc/observation/dibbits-linkedin-2025
- https://nde.nl/ontology/hc/observation/dibbits-rijksmuseum-annual-report-2024
description: Director of Rijksmuseum as Person hub with multiple observations
- value:
person_id: https://nde.nl/ontology/hc/person/jan-de-vries-1985
preferred_name: Jan de Vries
description: Person with disambiguator (birth year)
- value:
person_id: https://nde.nl/ontology/hc/person/maria-garcia
preferred_name: Maria Garcia
has_person_observation:
- https://nde.nl/ontology/hc/observation/garcia-rijksmuseum-2015
- https://nde.nl/ontology/hc/observation/garcia-mauritshuis-2022
has_or_had_participated_in_event:
- https://nde.nl/ontology/hc/event/garcia-curator-appointment-2015
- https://nde.nl/ontology/hc/event/garcia-director-appointment-2022
description: Person with career spanning multiple institutions - observations from each role