glam/schemas/20251121/linkml/custodian_source.yaml

211 lines
8 KiB
YAML

# Custodian Source Schema - Models the raw YAML structure of custodian data files
# This schema describes the actual structure of files in /data/custodian/*.yaml
# Used as SOURCE for LinkML-Map transformations to TypeDB hypergraph schema
#
# REFACTORED: 2026-01-08 per Rule 38 (modular schema files)
# All enums and classes extracted to modules/ directory
# This file is now an import bundle only
id: https://nde.nl/ontology/hc/custodian-source
name: custodian_source_schema
title: Custodian Source Schema
description: |
LinkML schema that models the actual structure of custodian YAML files as produced by
the enrichment pipeline. This is the SOURCE schema for transformation to the target
TypeDB hypergraph schema.
Key sections modeled:
- original_entry: Source registry data (NDE CSV)
- provenance: Data tier tracking and source lineage
- ghcid: Global Heritage Custodian ID with history
- identifiers: ISIL, Wikidata, GHCID variants
- enrichments: Google Maps, Wikidata, genealogy archive registries, etc.
- web_claims: Extracted claims with XPath provenance
- custodian_name: Consensus name determination
- location: Normalized geographic data
- timespan: CRMsci temporal bounds
REFACTORED: All definitions moved to modules/ directory.
See archive/refactored/custodian_source_monolithic_20260108.yaml for original.
version: 1.0.1
license: https://creativecommons.org/licenses/by-sa/4.0/
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
prov: http://www.w3.org/ns/prov#
xsd: http://www.w3.org/2001/XMLSchema#
default_range: string
imports:
- linkml:types
# Slots bundle (required for LinkML JSON Schema generation)
- ./modules/slots/SlotsBundle
# =============================================================================
# ENUMERATIONS (7 enums)
# =============================================================================
- ./modules/enums/DataTierEnum
- ./modules/enums/EnrichmentStatusEnum
- ./modules/enums/GoogleMapsStatusEnum
- ./modules/enums/IdentifierSchemeEnum
- ./modules/enums/InstitutionTypeCodeEnum
- ./modules/enums/LocationResolutionMethodEnum
- ./modules/enums/WikidataListTypeEnum
# =============================================================================
# CLASSES (132 classes)
# =============================================================================
# Root Class
- ./modules/classes/CustodianSourceFile
# Shared base classes
- ./modules/classes/CustodianType
- ./modules/classes/DigitalPlatformType
- ./modules/classes/Claim
- ./modules/classes/ReconstructedEntity
- ./modules/classes/Entity
# Original Entry Domain
- ./modules/classes/DuplicateEntry
- ./modules/classes/MowInscription
- ./modules/classes/OriginalEntry
- ./modules/classes/OriginalEntryCoordinates
- ./modules/classes/OriginalEntryIdentifier
- ./modules/classes/OriginalEntryIdentifiersDict
- ./modules/classes/OriginalEntryLocation
- ./modules/classes/OriginalEntryWikidata
- ./modules/classes/ReferenceLink
- ./modules/classes/TimeEntry
- ./modules/classes/TimeEntryType
# Provenance Domain
- ./modules/classes/DataTierSummary
- ./modules/classes/ProvenanceBlock
- ./modules/classes/ProvenanceSources
- ./modules/classes/SourceRecord
# Identifiers Domain
- ./modules/classes/GHCIDBlock
- ./modules/classes/GHCIDHistoryEntry
- ./modules/classes/Identifier
# Location Domain
- ./modules/classes/CoordinateProvenance
- ./modules/classes/LocationResolution
- ./modules/classes/NormalizedLocation
- ./modules/classes/ResearchSource
- ./modules/classes/ResearchSourceData
- ./modules/classes/SourceCoordinates
# Google Maps Domain
- ./modules/classes/AddressComponent
- ./modules/classes/AdmissionInfo
- ./modules/classes/Coordinates
- ./modules/classes/GoogleMapsEnrichment
- ./modules/classes/GoogleMapsPlaywrightEnrichment
- ./modules/classes/GooglePhoto
- ./modules/classes/GoogleReview
- ./modules/classes/OpeningHours
- ./modules/classes/OpeningPeriod
- ./modules/classes/PhotoAttribution
- ./modules/classes/PhotoMetadata
- ./modules/classes/PlaceFeature
- ./modules/classes/RejectedGoogleMapsData
- ./modules/classes/RelatedPlace
- ./modules/classes/ReviewBreakdown
- ./modules/classes/ReviewTopics
- ./modules/classes/ReviewsSummary
- ./modules/classes/TimeSlot
# Wikidata Domain
- ./modules/classes/MultilingualAliases
- ./modules/classes/MultilingualDescriptions
- ./modules/classes/MultilingualLabels
- ./modules/classes/WikidataApiMetadata
- ./modules/classes/WikidataArchitecture
- ./modules/classes/WikidataClaims
- ./modules/classes/WikidataClassification
- ./modules/classes/WikidataCollectionInfo
- ./modules/classes/WikidataContact
- ./modules/classes/WikidataCoordinates
- ./modules/classes/WikidataEnrichment
- ./modules/classes/WikidataEntity
- ./modules/classes/WikidataIdentifiers
- ./modules/classes/WikidataLocation
- ./modules/classes/WikidataMedia
- ./modules/classes/WikidataOrganization
- ./modules/classes/WikidataRecognition
- ./modules/classes/WikidataResolvedEntities
- ./modules/classes/WikidataSitelinks
- ./modules/classes/WikidataSocialMedia
- ./modules/classes/WikidataTemporal
- ./modules/classes/WikidataTimeValue
- ./modules/classes/WikidataWeb
# Web Enrichment Domain
- ./modules/classes/InvalidWebClaim
- ./modules/classes/LayoutMetadata
- ./modules/classes/OpeningHoursMap
- ./modules/classes/OrganizationalChange
- ./modules/classes/RawSource
- ./modules/classes/SourceReference
- ./modules/classes/ValidationMetadata
- ./modules/classes/WebArchive
- ./modules/classes/WebArchiveFailure
- ./modules/classes/WebClaim
- ./modules/classes/WebClaimsBlock
- ./modules/classes/WebCollection
- ./modules/classes/WebEnrichment
- ./modules/classes/WebSource
# Custodian Name Domain
- ./modules/classes/CustodianLegalNameClaim
- ./modules/classes/CustodianNameConsensus
- ./modules/classes/FormerName
- ./modules/classes/MatchingSource
- ./modules/classes/MergeNote
# Dutch Enrichments Domain
- ./modules/classes/ArchiveInfo
- ./modules/classes/GenealogyArchivesRegistryEnrichment
- ./modules/classes/IsilCodeEntry
- ./modules/classes/MunicipalityInfo
- ./modules/classes/NanIsilEnrichment
- ./modules/classes/ProvinceInfo
- ./modules/classes/SourceProvenance
# Digital Platforms Domain
- ./modules/classes/DigitalPlatform
- ./modules/classes/PlatformSourceReference
# UNESCO ICH Domain
- ./modules/classes/UnescoIchElement
- ./modules/classes/UnescoIchEnrichment
# Timespan Domain
- ./modules/classes/TimespanBlock
# Museum Register Domain
- ./modules/classes/MuseumRegisterEnrichment
- ./modules/classes/MuseumRegisterProvenance
# YouTube Domain
- ./modules/classes/LLMVerification
- ./modules/classes/RelatedYoutubeVideo
- ./modules/classes/YoutubeChannel
- ./modules/classes/YoutubeComment
- ./modules/classes/YoutubeEnrichment
- ./modules/classes/YoutubeProvenance
- ./modules/classes/YoutubeSocialLink
- ./modules/classes/YoutubeSourceRecord
- ./modules/classes/YoutubeTranscript
- ./modules/classes/YoutubeVideo
# CH-Annotator Domain
- ./modules/classes/AnnotatorAnnotationMetadata
- ./modules/classes/AnnotatorAnnotationProvenance
- ./modules/classes/AnnotatorBlock
- ./modules/classes/AnnotatorEntityClaim
- ./modules/classes/AnnotatorEntityClassification
- ./modules/classes/AnnotatorIntegrationNote
- ./modules/classes/AnnotatorModel
- ./modules/classes/AnnotatorProvenance
- ./modules/classes/ExtractionSourceInfo
- ./modules/classes/PatternClassification
# Person/Staff Domain
- ./modules/classes/CareerEntry
- ./modules/classes/CertificationEntry
- ./modules/classes/CurrentPosition
- ./modules/classes/ExternalSearchMetadata
- ./modules/classes/HeritageExperienceEntry
- ./modules/classes/MediaAppearanceEntry
- ./modules/classes/PersonProfile
- ./modules/classes/ProfileData
- ./modules/classes/PublicationEntry
- ./modules/classes/SourceStaffEntry