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/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ./SpecificityAnnotation - ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17) - ./TemplateSpecificityType - ./TemplateSpecificityTypes - ../slots/specificity_annotation - ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/specificity_annotation - ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) 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 - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)