- Apply Rule 39: RiC-O style hasOrHad*/isOrWas* for temporal slots - Apply Rule 43: Singular noun convention (keywords → keyword) - Update slot references to match renamed slot files - Maintain schema integrity across all class definitions
229 lines
11 KiB
YAML
229 lines
11 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/template_specificity
|
|
- ./PersonObservation
|
|
- ./SpecificityAnnotation
|
|
- ./TemplateSpecificityScores
|
|
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\npreferred name - and acts as a node to which all observations attach.\n\
|
|
\nThis hub pattern allows multiple observations from different sources to be\n\
|
|
connected 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
|
|
- template_specificity
|
|
slot_usage:
|
|
person_id:
|
|
slot_uri: dcterms:identifier
|
|
description: |
|
|
The persistent identifier for this Person hub.
|
|
Format: https://nde.nl/ontology/hc/person/{person-slug}
|
|
Example: https://nde.nl/ontology/hc/person/taco-dibbits
|
|
range: uriorcurie
|
|
required: true
|
|
identifier: true
|
|
pattern: ^https://nde\.nl/ontology/hc/person/[a-z0-9-]+$
|
|
preferred_name:
|
|
slot_uri: skos:prefLabel
|
|
description: |
|
|
The preferred name for this person - the canonical form used for display.
|
|
|
|
This is the PREFERRED name, not necessarily the full legal name.
|
|
Other name forms appear in PersonObservation entries.
|
|
|
|
**EXAMPLES**:
|
|
- "Taco Dibbits" (preferred)
|
|
- NOT: "Taco Jacobus Sergio Dibbits" (full legal)
|
|
- NOT: "T.J.S. Dibbits" (formal abbreviation)
|
|
range: string
|
|
required: false
|
|
has_or_had_participated_in_event:
|
|
description: |
|
|
Events in which this person participated.
|
|
|
|
This enables bidirectional navigation:
|
|
- Event → Person: "Who participated in this event?"
|
|
- Person → Event: "What events did this person participate in?"
|
|
|
|
**EXAMPLES**:
|
|
- Appointment events (hired, promoted)
|
|
- Organizational events (merger where person was involved)
|
|
- Career milestones (retirement, award)
|
|
range: Event
|
|
multivalued: true
|
|
required: false
|
|
has_person_observation:
|
|
slot_uri: pico:hasObservation
|
|
description: |
|
|
All PersonObservation entities that refer to this Person hub.
|
|
|
|
This is the inverse of `refers_to_person` and enables bidirectional navigation:
|
|
- PersonObservation → Person via `refers_to_person`
|
|
- Person → PersonObservation via `has_person_observation`
|
|
|
|
**NAVIGATION PATTERN**:
|
|
```
|
|
Person ──has_person_observation──> PersonObservation[1..n]
|
|
<──refers_to_person────────
|
|
```
|
|
|
|
**USE CASES**:
|
|
- Retrieve all observations about a person
|
|
- Find all sources that mention this person
|
|
- Track career across multiple institutions
|
|
|
|
**NOTE**: This slot is populated automatically via the inverse relationship.
|
|
When a PersonObservation sets `refers_to_person`, this slot is updated.
|
|
range: PersonObservation
|
|
multivalued: true
|
|
required: false
|
|
inlined: false
|
|
specificity_annotation:
|
|
range: SpecificityAnnotation
|
|
inlined: true
|
|
template_specificity:
|
|
range: TemplateSpecificityScores
|
|
inlined: true
|
|
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
|
|
slots:
|
|
preferred_name:
|
|
slot_uri: skos:prefLabel
|
|
description: |
|
|
The preferred (canonical) name for this entity.
|
|
Used for display purposes and as the primary label.
|
|
range: string
|
|
required: false
|
|
exact_mappings:
|
|
- skos:prefLabel
|
|
- foaf:name
|
|
- schema:name
|