glam/schemas/20251121/linkml/modules/classes/Country.yaml
kempersc 0d5d48568d refactor(schema): centralize slot definitions per Rule 38
- Remove slot_uri, description, mappings from slot_usage sections
- Move these properties to centralized slot files in modules/slots/
- Keep only class-specific overrides in slot_usage (required, inlined, examples)
- Update 1,499 centralized slot files with enriched definitions
- Clean 188 class files

Violations fixed:
- slot_uri in slot_usage: 1,676 → 0
- description in slot_usage: 2,287 → 0 (moved to centralized)

Schema still validates: 816 classes, 2028 slots, 127 enums
2026-01-11 23:27:17 +01:00

89 lines
2.5 KiB
YAML

id: https://nde.nl/ontology/hc/class/country
name: country
title: Country Class
prefixes:
gn: http://www.geonames.org/ontology#
hc: https://nde.nl/ontology/hc/
lcc_cr: https://www.omg.org/spec/LCC/Countries/CountryRepresentation/
linkml: https://w3id.org/linkml/
schema: http://schema.org/
wikidata: http://www.wikidata.org/entity/
imports:
- linkml:types
- ../slots/has_iso_3166_1_alpha_2_code
- ../slots/has_iso_3166_1_alpha_3_code
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
Country:
class_uri: schema:Country
exact_mappings:
- lcc_cr:Country
- gn:A.PCLI
close_mappings:
- wikidata:Q6256
description: 'Country identified by ISO 3166-1 alpha-2 and alpha-3 codes.
This is a **minimal design** class containing ONLY ISO standardized country codes.
No other metadata (names, languages, capitals, regions) is included.
Purpose:
- Link legal forms to their jurisdiction (legal forms are country-specific)
- Link custodian places to their country location
- Enable conditional enum values in FeatureTypeEnum (e.g., "cultural heritage of Peru")
Design rationale:
- ISO 3166 codes are authoritative, stable, and language-neutral
- Country names, languages, and other metadata should be resolved via external services
- Keeps the ontology focused on heritage custodian relationships, not geopolitical data
External resolution services:
- GeoNames API: https://www.geonames.org/
- UN M49 Standard: https://unstats.un.org/unsd/methodology/m49/
- ISO 3166 Maintenance Agency: https://www.iso.org/iso-3166-country-codes.html
Examples:
- Netherlands: has_iso_3166_1_alpha_2_code="NL", has_iso_3166_1_alpha_3_code="NLD"
- Peru: has_iso_3166_1_alpha_2_code="PE", has_iso_3166_1_alpha_3_code="PER"
- United States: has_iso_3166_1_alpha_2_code="US", has_iso_3166_1_alpha_3_code="USA"
- Japan: has_iso_3166_1_alpha_2_code="JP", has_iso_3166_1_alpha_3_code="JPN"
'
slots:
- has_iso_3166_1_alpha_2_code
- has_iso_3166_1_alpha_3_code
- specificity_annotation
- template_specificity
slot_usage:
has_iso_3166_1_alpha_2_code:
required: true
identifier: true
has_iso_3166_1_alpha_3_code:
required: true
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true