glam/schemas/20251121/linkml/modules/classes/CustodianObservation.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

101 lines
3.9 KiB
YAML

id: https://nde.nl/ontology/hc/class/CustodianObservation
name: CustodianObservation
title: Custodian Observation Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
pico: https://personsincontext.org/model#
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
crm: http://www.cidoc-crm.org/cidoc-crm/
rico: https://www.ica.org/standards/RiC/ontology#
skos: http://www.w3.org/2004/02/skos/core#
dcterms: http://purl.org/dc/terms/
imports:
- linkml:types
- ./Appellation
- ./SourceDocument
- ./CustodianLegalStatus
- ./ConfidenceMeasure
- ./LanguageCode
- ../slots/observed_name
- ../slots/has_or_had_alternative_observed_name
- ../slots/observation_date
- ../slots/observation_source
- ../slots/source
- ../slots/observation_context
- ../slots/derived_from_entity
- ../slots/confidence_score
- ../slots/has_or_had_custodian_type
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
classes:
CustodianObservation:
class_uri: hc:CustodianObservation
description: "Source-based evidence of a heritage custodian's existence.\n\nCRITICAL: CustodianObservation does NOT directly\
\ link to Custodian!\n- Observations are RAW EVIDENCE (input to ReconstructionActivity)\n- Only ReconstructionActivity\
\ can determine if custodian is successfully identified\n- Generated outputs (LegalStatus/Name/Place) link to Custodian,\
\ not observations\n\nPROV-O Flow:\n CustodianObservation → prov:used → ReconstructionActivity\n ReconstructionActivity\
\ → prov:wasGeneratedBy → CustodianLegalStatus/Name/Place\n CustodianLegalStatus/Name/Place → refers_to_custodian →\
\ Custodian\n\nObservations can capture BOTH emic (insider) and etic (outsider) perspectives:\n- Emic: \"Rijksmuseum\"\
\ (how institution presents itself)\n- Etic: \"The National Museum\" (how outsiders refer to it)\n"
exact_mappings:
- pico:PersonObservation
- prov:Entity
close_mappings:
- schema:Intangible
- crm:E73_Information_Object
- rico:Record
related_mappings:
- skos:Concept
- dcterms:BibliographicResource
slots:
- has_or_had_alternative_observed_name
- confidence_score
- has_or_had_custodian_type
- derived_from_entity
- observation_context
- observation_date
- observation_source
- observed_name
- source
- specificity_annotation
- template_specificity
attributes:
observation_language:
slot_uri: dcterms:language
description: Language of observed name (as LanguageCode class reference)
range: LanguageCode
slot_usage:
observation_source:
range: string
observed_name:
range: CustodianAppellation
required: true
has_or_had_alternative_observed_name:
range: CustodianAppellation
multivalued: true
observation_date:
range: date
source:
range: SourceDocument
required: true
observation_context:
range: string
derived_from_entity:
range: CustodianLegalStatus
confidence_score:
range: ConfidenceMeasure
has_or_had_custodian_type:
equals_expression: '["hc:GalleryType", "hc:LibraryType", "hc:ArchiveOrganizationType", "hc:MuseumType", "hc:OfficialInstitutionType",
"hc:ResearchOrganizationType", "hc:CommercialOrganizationType", "hc:UnspecifiedType", "hc:BioCustodianType", "hc:EducationProviderType",
"hc:HeritageSocietyType", "hc:FeatureCustodianType", "hc:IntangibleHeritageGroupType", "hc:MixedCustodianType",
"hc:PersonalCollectionType", "hc:HolySacredSiteType", "hc:DigitalPlatformType", "hc:NonProfitType", "hc:TasteScentHeritageType"]'
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true