glam/frontend/public/schemas/20251121/linkml/modules/classes/MediaArchive.yaml
kempersc dfa667c90f Fix LinkML schema for valid RDF generation with proper slot_uri
Summary:
- Create 46 missing slot definition files with proper slot_uri values
- Add slot imports to main schema (01_custodian_name_modular.yaml)
- Fix YAML examples sections in 116+ class and slot files
- Fix PersonObservation.yaml examples section (nested objects → string literals)

Technical changes:
- All slots now have explicit slot_uri mapping to base ontologies (RiC-O, Schema.org, SKOS)
- Eliminates malformed URIs like 'custodian/:slot_name' in generated RDF
- gen-owl now produces valid Turtle with 153,166 triples

New slot files (46):
- RiC-O slots: rico_note, rico_organizational_principle, rico_has_or_had_holder, etc.
- Scope slots: scope_includes, scope_excludes, archive_scope
- Organization slots: organization_type, governance_authority, area_served
- Platform slots: platform_type_category, portal_type_category
- Social media slots: social_media_platform_category, post_type_*
- Type hierarchy slots: broader_type, narrower_types, custodian_type_broader
- Wikidata slots: wikidata_equivalent, wikidata_mapping

Generated output:
- schemas/20251121/rdf/01_custodian_name_modular_20260107_134534_clean.owl.ttl (6.9MB)
- Validated with rdflib: 153,166 triples, no malformed URIs
2026-01-07 13:48:03 +01:00

103 lines
3.3 KiB
YAML

id: https://w3id.org/nde/ontology/MediaArchive
name: MediaArchive
title: Media Archive
prefixes:
linkml: https://w3id.org/linkml/
schema: http://schema.org/
rico: https://www.ica.org/standards/RiC/ontology#
skos: http://www.w3.org/2004/02/skos/core#
wd: http://www.wikidata.org/entity/
imports:
- linkml:types
- ./ArchiveOrganizationType
- ./MediaArchiveRecordSetTypes
- ../slots/holds_record_set_types
- ./CollectionType
- ../slots/type_scope
- ../slots/class_metadata_slots
classes:
MediaArchive:
description: Archive preserving media content across various formats. Media archives
collect and preserve audio, video, photographic, and other media materials.
They may serve broadcasters, production companies, or cultural heritage institutions.
Media archives face particular challenges around format obsolescence, rights
management, and the preservation of time-based media.
is_a: ArchiveOrganizationType
class_uri: schema:ArchiveOrganization
slots:
- custodian_types
- custodian_types_rationale
- holds_record_set_types
- specificity_annotation
- template_specificity
- wikidata_entity
exact_mappings:
- wd:Q116809817
close_mappings:
- rico:CorporateBody
- skos:Concept
broad_mappings:
- wd:Q166118
slot_usage:
wikidata_entity:
equals_string: Q116809817
custodian_types:
equals_expression: '["hc:ArchiveOrganizationType"]'
custodian_types_rationale:
equals_string: Media Archive is a specialized archival institution for audio,
video, and other media - maps to ArchiveOrganizationType (A)
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
annotations:
skos:prefLabel: Media Archive
skos:altLabel: Medienarchiv, archives de médias, media-archief, Audiovisual
Archive
media_type: mixed media
see_also:
- FilmArchive
- SoundArchive
- BroadcastArchive
- PhotoArchive
- TelevisionArchive
- RadioArchive
comments:
- Medienarchiv (de)
- archives de médias (fr)
- media-achief (nl)
- Broad category covering multiple media types
- Often associated with broadcasters and media companies
- Preservation of time-based media is key challenge
MediaArchiveRecordSetType:
description: |
A rico:RecordSetType for classifying collections held by MediaArchive custodians.
is_a: CollectionType
class_uri: rico:RecordSetType
slots:
- custodian_types
- custodian_types_rationale
- dual_class_link
- specificity_annotation
- template_specificity
- type_scope
see_also:
- MediaArchive
- rico:RecordSetType
slot_usage:
custodian_types:
equals_expression: '["hc:ArchiveOrganizationType"]'
custodian_types_rationale:
equals_string: MediaArchiveRecordSetType classifies collections held by ARCHIVE
(A) type custodians
dual_class_link:
range: DualClassLink
inlined: true
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true