- Removed compliance_status slot and replaced it with has_or_had_status. - Updated has_or_had_status to use ComplianceStatus for structured representation. - Adjusted examples to reflect new structure for compliance status. - Updated documentation to indicate migration and provide details on the ComplianceStatus class.
144 lines
7.8 KiB
YAML
144 lines
7.8 KiB
YAML
id: https://nde.nl/ontology/hc/class/PersonName
|
|
name: PersonName
|
|
title: Person Name Class
|
|
prefixes:
|
|
pnv: https://w3id.org/pnv#
|
|
pico: https://personsincontext.org/model#
|
|
sdo: https://schema.org/
|
|
prov: http://www.w3.org/ns/prov#
|
|
skos: http://www.w3.org/2004/02/skos/core#
|
|
foaf: http://xmlns.com/foaf/0.1/
|
|
crm: http://www.cidoc-crm.org/cidoc-crm/
|
|
imports:
|
|
- linkml:types
|
|
- ../slots/literal_name
|
|
- ../slots/given_name
|
|
# MIGRATED 2026-01-22: base_surname → contains_or_contained + LastName per slot_fixes.yaml feedback
|
|
- ../slots/contains_or_contained
|
|
- ./LastName
|
|
- ./BaseName
|
|
# REMOVED 2026-01-14: ../slots/surname_prefix - migrated to has_or_had_label with Label
|
|
- ../slots/has_or_had_label
|
|
- ./Label
|
|
- ../slots/patronym
|
|
- ../slots/initial
|
|
- ../slots/name_specification
|
|
- ../slots/specificity_annotation
|
|
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
- ./SpecificityAnnotation
|
|
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
|
|
|
|
- ./TemplateSpecificityType
|
|
|
|
- ./TemplateSpecificityTypes
|
|
classes:
|
|
PersonName:
|
|
class_uri: pnv:PersonName
|
|
description: "Structured person name following the Person Name Vocabulary (PNV).\n\nPNV is a Dutch heritage standard for\
|
|
\ representing person names with their\nconstituent parts. It is designed for historical records where names may\nbe\
|
|
\ incomplete, spelled variably, or follow naming conventions different\nfrom modern Western norms.\n\n===========================================================================\n\
|
|
PNV DESIGN PRINCIPLES (from https://w3id.org/pnv)\n===========================================================================\n\
|
|
\n1. A name is a resource in its own right - not just a string\n2. Names have structure that can be decomposed into\
|
|
\ components\n3. Components may be missing, uncertain, or abbreviated\n4. Patronymics and surname prefixes are distinct\
|
|
\ name elements\n5. Unknown/unnamed persons are explicitly marked, not left blank\n\n===========================================================================\n\
|
|
REQUIRED vs OPTIONAL PROPERTIES\n===========================================================================\n\n- literal_name:\
|
|
\ REQUIRED unless name_specification is set\n- name_specification: REQUIRED if literal_name is blank (\"unknown\" or\
|
|
\ \"unnamed\")\n- All other properties: OPTIONAL\n\n===========================================================================\n\
|
|
DUTCH NAME EXAMPLES\n===========================================================================\n\nExample 1: \"Pieter\
|
|
\ Corneliszoon van der Berg\"\n - literal_name: \"Pieter Corneliszoon van der Berg\"\n - given_name: \"Pieter\"\n\
|
|
\ - patronym: \"Corneliszoon\" (son of Cornelis)\n - surname_prefix: \"van der\"\n - base_surname: \"Berg\"\n\nExample\
|
|
\ 2: \"H.A.F.M.O. (Hans) van Mierlo\"\n - literal_name: \"H.A.F.M.O. (Hans) van Mierlo\"\n - initials: \"H.A.F.M.O.\"\
|
|
\n - given_name: \"Hans\"\n - surname_prefix: \"van\"\n - base_surname: \"Mierlo\"\n\nExample 3: \"Maria de Vries\"\
|
|
\n - literal_name: \"Maria de Vries\"\n - given_name: \"Maria\"\n - surname_prefix: \"de\"\n - base_surname: \"\
|
|
Vries\" (used for alphabetical sorting under V)\n\nExample 4: \"Jan Janszoon\" (historical record with patronymic only)\n\
|
|
\ - literal_name: \"Jan Janszoon\"\n - given_name: \"Jan\"\n - patronym: \"Janszoon\" (son of Jan)\n - base_surname:\
|
|
\ null (no family surname)\n\nExample 5: Unknown person in historical record\n - literal_name: null\n - name_specification:\
|
|
\ \"unknown\"\n\nExample 6: Unnamed child who died shortly after birth\n - literal_name: null\n - name_specification:\
|
|
\ \"unnamed\"\n\n===========================================================================\nINTERNATIONAL NAME PATTERNS\n\
|
|
===========================================================================\n\nIcelandic Patronymic:\n - \"Björk Guðmundsdóttir\"\
|
|
\ → patronym: \"Guðmundsdóttir\"\n\nSpanish Compound Surname:\n - \"Pablo Ruiz Picasso\" → given_name: \"Pablo\", base_surname:\
|
|
\ \"Ruiz Picasso\"\n\nArabic Name with Nasab:\n - \"Muhammad ibn Abdullah\" → given_name: \"Muhammad\", patronym: \"\
|
|
ibn Abdullah\"\n\nIndonesian Single Name:\n - \"Sukarno\" → literal_name: \"Sukarno\", given_name: \"Sukarno\"\n\n\
|
|
===========================================================================\nSORTING BEHAVIOR\n===========================================================================\n\
|
|
\nThe base_surname property exists specifically for sorting. Dutch names with\nprefixes (van, de, van der, etc.) are\
|
|
\ sorted by the main surname element:\n\n- \"Johannes de Vries\" sorts under V (base_surname: \"Vries\")\n- \"Anna van\
|
|
\ den Berg\" sorts under B (base_surname: \"Berg\")\n\nHowever, Belgian Dutch and some other conventions sort by prefix:\n\
|
|
- \"Jan De Smedt\" (Belgian) sorts under D (use surname_prefix in sorting)\n\n===========================================================================\n\
|
|
ONTOLOGY ALIGNMENT\n===========================================================================\n\nPNV is the PRIMARY\
|
|
\ ontology for structured name representation.\n\nAdditional mappings:\n- CIDOC-CRM: crm:E41_Appellation (name as identifying\
|
|
\ entity)\n- Schema.org: sdo:name (simple string fallback)\n- FOAF: foaf:name (simple string fallback)\n"
|
|
exact_mappings:
|
|
- pnv:PersonName
|
|
close_mappings:
|
|
- crm:E41_Appellation
|
|
- foaf:name
|
|
- sdo:name
|
|
related_mappings:
|
|
- skos:prefLabel
|
|
- sdo:givenName
|
|
- sdo:familyName
|
|
slots:
|
|
- contains_or_contained # was: base_surname - migrated 2026-01-22 to use LastName + BaseName
|
|
- given_name
|
|
- initial
|
|
- literal_name
|
|
- name_specification
|
|
- patronym
|
|
- specificity_annotation
|
|
# REMOVED 2026-01-14: surname_prefix - migrated to has_or_had_label with Label
|
|
- has_or_had_label
|
|
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
slot_usage:
|
|
literal_name:
|
|
range: string
|
|
required: false
|
|
given_name:
|
|
range: string
|
|
contains_or_contained:
|
|
range: LastName
|
|
inlined: true
|
|
description: >-
|
|
The surname/family name component. MIGRATED 2026-01-22 from base_surname.
|
|
Now uses structured LastName class with has_or_had_base for sorting support.
|
|
examples:
|
|
- value:
|
|
has_or_had_label:
|
|
label_value: "van der Berg"
|
|
has_or_had_base:
|
|
base_value: "Berg"
|
|
description: Dutch surname with prefix and base for sorting
|
|
# REMOVED 2026-01-14: surname_prefix - migrated to has_or_had_label with Label
|
|
# surname_prefix:
|
|
# range: string
|
|
has_or_had_label:
|
|
range: Label
|
|
inlined: true
|
|
description: |
|
|
Surname prefix (e.g., "van", "de", "van der" in Dutch names).
|
|
MIGRATED 2026-01-14: Replaces surname_prefix slot.
|
|
examples:
|
|
- value: |
|
|
Label:
|
|
label_value: "van der"
|
|
label_type: "surname_prefix"
|
|
description: Dutch surname prefix
|
|
patronym:
|
|
range: string
|
|
initial:
|
|
range: string
|
|
pattern: ^[A-Z][a-z]*\.([A-Z][a-z]*\.)*$
|
|
name_specification:
|
|
range: string
|
|
pattern: ^(unknown|unnamed)$
|
|
rules:
|
|
- postconditions:
|
|
slot_conditions:
|
|
literal_name:
|
|
required: true
|
|
preconditions:
|
|
slot_conditions:
|
|
name_specification:
|
|
none_of:
|
|
- equals_string: unknown
|
|
- equals_string: unnamed
|
|
description: literal_name is REQUIRED unless name_specification is set
|