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

97 lines
3.2 KiB
YAML

id: https://w3id.org/nde/ontology/PostcustodialArchive
name: PostcustodialArchive
title: Postcustodial 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
- ./PostcustodialArchiveRecordSetTypes
- ../slots/holds_record_set_types
- ./CollectionType
- ../slots/type_scope
- ../slots/class_metadata_slots
classes:
PostcustodialArchive:
description: Archive operating under postcustodial principles. Postcustodial archives
do not take physical custody of records but instead provide archival services
(description, access, preservation guidance) while records remain with their
creators or other custodians. This model is particularly relevant for digital
records and distributed archival networks.
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:Q124223197
close_mappings:
- rico:CorporateBody
- skos:Concept
broad_mappings:
- wd:Q166118
slot_usage:
wikidata_entity:
equals_string: Q124223197
custodian_types:
equals_expression: '["hc:ArchiveOrganizationType"]'
custodian_types_rationale:
equals_string: PostcustodialArchive is an archival institution - maps to ArchiveOrganizationType
(A)
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
annotations:
skos:prefLabel: Postcustodial Archive
skos:altLabel: Distributed Archive, Non-custodial Archive
archival_model: postcustodial
see_also:
- DigitalArchive
- ArchiveNetwork
- CollectingArchive
comments:
- Operates without physical custody of records
- Provides archival services to records holders
- Relevant for digital and distributed archives
- Challenges traditional custodial archival model
PostcustodialArchiveRecordSetType:
description: |
A rico:RecordSetType for classifying collections held by PostcustodialArchive 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:
- PostcustodialArchive
- rico:RecordSetType
slot_usage:
custodian_types:
equals_expression: '["hc:ArchiveOrganizationType"]'
custodian_types_rationale:
equals_string: PostcustodialArchiveRecordSetType 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