glam/schemas/20251121/linkml/modules/classes/Container.yaml
kempersc f9f3cc8e74 fix: resolve YAML import indentation and add missing slot descriptions
Schema Improvements:
- Fix YAML import indentation across 800+ class files (sed: '^- ../' → '  - ../')
- Add descriptions to 26 inline slots missing them (lint warnings)
- Fix malformed imports in BirthPlace.yaml and CustodianObservation.yaml

Validation Results:
- linkml-lint: 4 warnings (intentional SCREAMING_CASE tier names)
- gen-owl: SUCCESS (164,069 lines generated)
- gen-json-schema: SUCCESS (9.4MB generated)

Files affected: 1,034 files, +23,908 -15,200 lines
2026-01-16 00:09:28 +01:00

248 lines
8.2 KiB
YAML

id: https://nde.nl/ontology/hc/class/Container
name: Container
title: Heritage Custodian Data Container
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
schema: http://schema.org/
imports:
- linkml:types
- ./Jurisdiction
- ./TradeRegister
- ./RegistrationInfo
- ./Custodian
- ./CustodianObservation
- ./CustodianName
- ./CustodianLegalStatus
- ./CustodianPlace
- ./CustodianCollection
- ./OrganizationalStructure
- ./ReconstructionActivity
- ./StandardsOrganization
- ./Standard
- ./AllocationAgency
- ./Identifier
- ./Country
- ./Subregion
- ./SocialMediaProfile
- ./InternetOfThings
- ./DigitalPlatform
- ./Collection
- ./FindingAid
- ../slots/specificity_annotation
- ../slots/template_specificity
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/specificity_annotation
- ../slots/template_specificity
- ../slots/specificity_annotation
- ../slots/template_specificity
classes:
Container:
tree_root: true
description: >-
Root container class for Heritage Custodian data instances.
Provides tree_root for LinkML instance validation.
This container supports all primary entity types for batch validation:
- Core custodian entities (Custodian, observations, names, legal statuses)
- Place and collection aspects (CustodianPlace, CustodianCollection)
- Organizational structures (OrganizationalStructure)
- Reconstruction activities (ReconstructionActivity)
- Registration entities (Jurisdiction, TradeRegister, RegistrationAuthority, RegistrationNumber)
- Standards ecosystem (StandardsOrganization, Standard, AllocationAgency, IdentifierFormat)
Ontology mapping rationale:
- class_uri is prov:Collection because this is a container aggregating
multiple heritage custodian entities for validation purposes
- This is a TECHNICAL class for LinkML validation (tree_root: true)
and should be EXCLUDED from UML visualizations per Rule 4
- related_mappings includes schema:Dataset as this aggregates data records
class_uri: prov:Collection
related_mappings:
- schema:Dataset
attributes:
has_or_had_custodian:
range: Custodian
multivalued: true
inlined_as_list: true
description: Collection of custodian hub entities
has_or_had_custodian_observation:
range: CustodianObservation
multivalued: true
inlined_as_list: true
description: Collection of custodian observations
has_or_had_custodian_name:
range: CustodianName
multivalued: true
inlined_as_list: true
description: Collection of custodian standardized names
custodian_legal_statuses:
range: CustodianLegalStatus
multivalued: true
inlined_as_list: true
description: Collection of custodian legal entities
custodian_places:
range: CustodianPlace
multivalued: true
inlined_as_list: true
description: Collection of custodian place designations
custodian_collections:
range: CustodianCollection
multivalued: true
inlined_as_list: true
description: Collection of heritage collections
has_or_had_organizational_structure:
range: OrganizationalStructure
multivalued: true
inlined_as_list: true
description: Collection of organizational units
reconstruction_activities:
range: ReconstructionActivity
multivalued: true
inlined_as_list: true
description: Collection of reconstruction activities
jurisdictions:
range: Jurisdiction
multivalued: true
inlined_as_list: true
description: Collection of legal/administrative jurisdictions
trade_registers:
range: TradeRegister
multivalued: true
inlined_as_list: true
description: Collection of trade/business registers
registration_authorities:
range: RegistrationAuthority
multivalued: true
inlined_as_list: true
description: Collection of registration authorities
has_or_had_registration_number:
range: RegistrationNumber
multivalued: true
inlined_as_list: true
description: Collection of registration numbers
standards_organizations:
range: StandardsOrganization
multivalued: true
inlined_as_list: true
description: 'Collection of standards organizations (ISO, W3C, OCLC, etc.).
Organizations that define and maintain identifier standards.
'
standards:
range: Standard
multivalued: true
inlined_as_list: true
description: 'Collection of identifier standards (ISIL, ISNI, VIAF, etc.).
Standards define identifier formats, registration authorities, and lookup URLs.
'
allocation_agencies:
range: AllocationAgency
multivalued: true
inlined_as_list: true
description: 'Collection of allocation agencies (KB, OCLC, Nationaal Archief, etc.).
Agencies that allocate identifiers locally within geographic/domain scope.
'
identifier_formats:
range: IdentifierFormat
multivalued: true
inlined_as_list: true
description: 'Collection of identifier format variants.
Format variants for standards (ISNI with/without spaces, etc.).
'
countries:
range: Country
multivalued: true
inlined_as_list: true
description: 'Collection of countries (ISO 3166-1).
Used for geographic scope of standards and allocation agencies.
'
subregions:
range: Subregion
multivalued: true
inlined_as_list: true
description: 'Collection of subregions (ISO 3166-2).
Used for subnational geographic scope.
'
custodian_identifiers:
range: CustodianIdentifier
multivalued: true
inlined_as_list: true
description: 'Collection of custodian identifiers (ISIL, ISNI, Wikidata, VIAF, etc.).
External identifiers with full provenance tracking.
'
has_or_had_social_media_profile:
range: SocialMediaProfile
multivalued: true
inlined_as_list: true
description: 'Collection of social media profiles (Instagram, Facebook, X, etc.).
Third-party digital presence on external platforms.
'
has_or_had_iot_device:
range: InternetOfThings
multivalued: true
inlined_as_list: true
description: 'Collection of IoT devices (beacons, sensors, kiosks).
Physical-digital bridge devices in heritage venues.
'
digital_platforms:
range: DigitalPlatform
multivalued: true
inlined_as_list: true
description: 'Collection of digital platforms (websites, portals, repositories).
Primary owned digital presence.
'
collections:
range: Collection
multivalued: true
inlined_as_list: true
description: 'Collection of specific, inventoried heritage holdings.
Represents SPECIFIC, CATALOGUED holdings within a heritage custodian.
Distinct from CustodianCollection (abstract/nominal reference).
'
has_or_had_finding_aid:
range: FindingAid
multivalued: true
inlined_as_list: true
description: 'Collection of finding aids (inventories, catalogs, guides, indexes, databases).
Replaces simple finding_aid_url strings with rich metadata objects.
'
comments:
- Container class serves as tree_root for LinkML validation
- Enables validation of YAML/JSON instance files
- Uses 'attributes' instead of 'slots' to avoid slot import dependencies
- Not used in RDF serialization (flattened)
- 'v2: Added standards ecosystem classes (StandardsOrganization, Standard, AllocationAgency)'
- 'v3: Added digital presence classes (SocialMediaProfile, InternetOfThings, DigitalPlatform)'
- 'v4: Added Collection and FindingAid classes'
slots:
- specificity_annotation
- template_specificity