glam/schemas/20251121/linkml/modules/classes/Subregion.yaml
kempersc 0393b321c9 refactor(schema): unify custodian_type slots into has_or_had_custodian_type (Rule 39, 43)
- Migrate 236+ class files from custodian_types to has_or_had_custodian_type
- Archive deprecated slots: custodian_type, custodian_types, custodian_type_broader/narrower/related
- Update main schema and manifest imports
- Fix Custodian.yaml class to use new slot
- Fix annotation format (list→scalar) in has_or_had_custodian_type.yaml

Rules applied:
- Rule 39: RiC-O naming convention (hasOrHad pattern)
- Rule 43: Slot nouns must be singular (multivalued:true for cardinality)
- Rule 38: Slot centralization with semantic URI
2026-01-09 10:55:21 +01:00

128 lines
4.4 KiB
YAML

id: https://nde.nl/ontology/hc/class/subregion
name: subregion
title: Subregion Class
imports:
- linkml:types
- ./Country
- ../slots/country
- ../slots/iso_3166_2_code
- ../slots/specificity_annotation
- ../slots/subdivision_name
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
Subregion:
class_uri: lcc_cr:GeographicRegion
exact_mappings:
- schema:AdministrativeArea
- gn:A.ADM1
close_mappings:
- wikidata:Q10864048
- crm:E53_Place
description: |
Geographic subdivision within a country, identified by ISO 3166-2 code.
ISO 3166-2 defines codes for principal subdivisions of countries (states,
provinces, regions, departments, etc.). Each subdivision has a unique code
combining the country's alpha-2 code with a subdivision identifier.
Purpose:
- Link custodian places to their specific regional location (e.g., museums in Bavaria)
- Link legal entities to their registration jurisdiction (e.g., stichting in Limburg)
- Enable region-specific feature types (e.g., "sacred shrine" specific to Bali)
Format: {country_alpha2}-{subdivision_code}
Examples:
- US-PA: Pennsylvania, United States
- ID-BA: Bali, Indonesia
- DE-BY: Bavaria (Bayern), Germany
- NL-LI: Limburg, Netherlands
- AU-NSW: New South Wales, Australia
- CA-ON: Ontario, Canada
Design rationale:
- ISO 3166-2 codes are internationally standardized
- Stable identifiers not dependent on language or spelling variations
- Widely used in official datasets (government registries, GeoNames, etc.)
- Aligns with existing Country class (ISO 3166-1)
External resolution:
- ISO 3166-2 Maintenance Agency: https://www.iso.org/iso-3166-country-codes.html
- GeoNames API: https://www.geonames.org/ (subdivision names and metadata)
- UN M49 Standard: https://unstats.un.org/unsd/methodology/m49/
Historical entities:
- For historical subdivisions (e.g., "Czechoslovakia", "Soviet Union"), use
the ISO code that was valid during the entity's existence
- Document temporal validity in CustodianPlace.temporal_coverage
slots:
- country
- iso_3166_2_code
- specificity_annotation
- subdivision_name
- template_specificity
slot_usage:
iso_3166_2_code:
required: true
identifier: true
description: |
ISO 3166-2 subdivision code.
Format: {country_alpha2}-{subdivision_code}
country:
required: true
description: Parent country (extracted from first 2 letters of ISO code)
subdivision_name:
required: false
description: |
Optional human-readable subdivision name (in English or local language).
Use this field sparingly - prefer resolving names via GeoNames API.
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
slots:
iso_3166_2_code:
description: |
ISO 3166-2 subdivision code.
Format: {country_alpha2}-{subdivision_code}
- First 2 letters: ISO 3166-1 alpha-2 country code
- Hyphen separator
- Subdivision code (1-3 alphanumeric characters, varies by country)
Examples:
- "US-PA": Pennsylvania (US state)
- "ID-BA": Bali (Indonesian province)
- "DE-BY": Bayern/Bavaria (German Land)
- "NL-LI": Limburg (Dutch province)
- "CA-ON": Ontario (Canadian province)
- "AU-NSW": New South Wales (Australian state)
- "IN-KL": Kerala (Indian state)
- "ES-AN": Andalucía/Andalusia (Spanish autonomous community)
Reference: https://en.wikipedia.org/wiki/ISO_3166-2
range: string
pattern: ^[A-Z]{2}-[A-Z0-9]{1,3}$
slot_uri: schema:addressRegion
subdivision_name:
description: |
Human-readable name of the subdivision (optional).
Use this field sparingly. Prefer resolving subdivision names via external
services (GeoNames API) to avoid maintaining multilingual data.
If included, use the official English name or local language name.
Examples:
- "Pennsylvania" (for US-PA)
- "Bali" (for ID-BA)
- "Bayern" or "Bavaria" (for DE-BY)
- "Limburg" (for NL-LI)
Note: This field is for human readability only. Use iso_3166_2_code for
all programmatic matching and validation.
range: string