glam/schemas/20251121/linkml/modules/classes/PersonName.yaml
kempersc 6c3fa6b5a3 Remove deprecated slots and add new slot definitions for enhanced data modeling
- Deleted obsolete slot definitions for work_location and workshop_space.
- Introduced new TaxonName class to represent scientific taxonomic names with detailed attributes.
- Archived existing slots related to surname_prefix, target_name, taxon_name, terminal_count, text_region_count, title, title_proper, total_chapter, total_characters_extracted, total_connections_extracted, track_name, transcript_format, traveling_venue, type_label, type_status, typical_responsibility, unesco_domain, unesco_inscription_year, unesco_list_status, uniform_title, unit_name, used_by_custodian, uv_filtered_required, valid_from_geo, valid_to_geo, validation_status, variant_of_name, verification_date, viability_status, within_auxiliary_place, and within_place.
- Updated slot descriptions and structures to improve clarity and compliance with standards.
2026-01-15 11:42:35 +01:00

126 lines
6.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
- ../slots/base_surname
# 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/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
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:
- base_surname
- 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
- template_specificity
slot_usage:
literal_name:
range: string
required: false
given_name:
range: string
base_surname:
range: string
# 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