glam/schemas/initial/collections.yaml
2025-11-21 22:12:33 +01:00

258 lines
8.3 KiB
YAML

id: https://w3id.org/heritage/custodian/collections
name: heritage-custodian-collections
title: Heritage Custodian Collections Module
description: >-
Collection management classes for heritage custodians. Defines Collection (RiC-O RecordSet),
DigitalPlatform, and Partnership classes. Implements custody relationships linking collections
to custodial organizations via rico:hasOrHadHolder pattern.
license: https://creativecommons.org/publicdomain/zero/1.0/
version: 0.2.1
prefixes:
linkml: https://w3id.org/linkml/
heritage: https://w3id.org/heritage/custodian/
schema: http://schema.org/
rico: https://www.ica.org/standards/RiC/ontology#
org: http://www.w3.org/ns/org#
dcterms: http://purl.org/dc/terms/
default_prefix: heritage
default_range: string
imports:
- linkml:types
- enums
# =============================================================================
# COLLECTION CLASSES
# =============================================================================
classes:
# RiC-O Proxy Class
# Local proxy for Records in Contexts Ontology (archival description standard)
RiCRecordSet:
description: >-
Local proxy for rico:RecordSet. Represents an aggregation of archival records
with a common provenance or assembled for a specific purpose. Used as mixin
for Collection class to align with RiC-O archival description standards.
class_uri: rico:RecordSet
abstract: true
notes: >-
This is a mixin class providing RiC-O alignment for archival collections.
In RDF serialization, Collection will also be typed as rico:RecordSet.
Collection:
description: >-
A collection held by the heritage custodian. Maps to RiC-O RecordSet for archives,
BIBFRAME Collection for libraries, and Schema.org Collection for general use.
Implements rico:hasOrHadHolder to link back to custodial organization.
class_uri: schema:Collection
mixins:
- RiCRecordSet
slots:
- collection_id
- collection_name
- collection_description
- collection_type
- item_count
- subjects
- time_period_start
- time_period_end
- temporal_coverage
- access_rights
- catalog_url
- custodian
annotations:
rico_custody_relationship: >-
Use 'custodian' slot to reference the HeritageCustodian holding this collection.
Maps to rico:hasOrHadHolder in RDF serialization.
DigitalPlatform:
description: Digital platform or system used by the institution
class_uri: schema:SoftwareApplication
slots:
- platform_name
- platform_type
- platform_url
- platform_description
- vendor
- integration_method
- implemented_standards
Partnership:
description: Partnership or network membership
class_uri: org:Membership
slots:
- partner_name
- partner_id
- partnership_type
- start_date
- end_date
- description
# =============================================================================
# SLOTS
# =============================================================================
slots:
# Collection fields
collection_id:
description: Unique identifier for the collection
range: string
collection_name:
description: Name of the collection
range: string
collection_description:
description: Description of the collection
range: string
slot_uri: dcterms:description
aliases:
- description
comments:
- "Accepts 'description' as alias for backward compatibility with extracted data"
collection_type:
description: >-
Type of collection (archival, bibliographic, museum objects, etc.).
Free text field; recommended values based on domain:
Archives: "archival", "fonds", "series", "collection" (RiC-O RecordSetType);
Libraries: "bibliographic", "special collections", "manuscripts";
Museums: "museum objects", "archaeological", "ethnographic", "art", "natural history", "historical";
Mixed: "architectural", "digital objects", "mixed", "audiovisual".
Use consistent terminology within your institution.
range: string
item_count:
description: Number of items in the collection (integer count or textual extent description)
range: string
slot_uri: schema:size
aliases:
- extent
comments:
- "Changed from integer to string to support textual descriptions like '45,000+ digitized objects'"
- "Accepts 'extent' as alias for backward compatibility with extracted data"
subjects:
description: Subject headings or topics
range: string
multivalued: true
slot_uri: dcterms:subject
aliases:
- subject_areas
comments:
- "Accepts 'subject_areas' as alias for backward compatibility with extracted data"
time_period_start:
description: Start of time period covered by collection
range: date
time_period_end:
description: End of time period covered by collection
range: date
temporal_coverage:
description: >-
Time period covered by collection in ISO 8601 period format (start/end).
Example: "1837-01-01/1980-12-31" for collections spanning 1837 to 1980.
Supports BCE dates using negative years: "-8000-01-01/2000-12-31" for 8000 BCE to 2000 CE.
Alternative to using separate time_period_start and time_period_end fields.
range: string
pattern: '^-?\d{1,5}-\d{2}-\d{2}/-?\d{1,5}-\d{2}-\d{2}$'
slot_uri: dcterms:temporal
comments:
- "ISO 8601 period format: YYYY-MM-DD/YYYY-MM-DD"
- "Supports BCE dates with negative years (e.g., -8000-01-01 for 8000 BCE)"
- "Years can be 1-5 digits to support historical and archaeological collections"
- "For backward compatibility with extracted data using ISO 8601 periods"
- "If both temporal_coverage and time_period_start/end are present, time_period fields take precedence"
access_rights:
description: Access rights and restrictions
range: string
catalog_url:
description: URL to the collection catalog
range: uri
custodian:
description: >-
The heritage custodian organization holding/managing this collection.
Implements RiC-O custody relationship pattern (rico:hasOrHadHolder).
range: HeritageCustodian
slot_uri: rico:hasOrHadHolder
comments:
- "Links Collection to HeritageCustodian (inverse of collections slot)"
- "For archives, this represents the custodial institution"
- "Maps to rico:isOrWasHolderOf in inverse direction"
# Digital platform fields
platform_name:
description: Name of the platform or system
range: string
platform_type:
description: Type of digital platform
range: DigitalPlatformTypeEnum
platform_url:
description: URL to the platform
range: uri
platform_description:
description: Textual description of the digital platform or system
range: string
slot_uri: dcterms:description
aliases:
- description
comments:
- "Uses Dublin Core Terms description property for semantic web alignment"
- "Describes purpose, functionality, or key features of the platform"
- "Accepts 'description' as alias for backward compatibility with extracted data"
vendor:
description: Software vendor or provider
range: string
implemented_standards:
description: Standards implemented by this platform
range: MetadataStandardEnum
multivalued: true
aliases:
- metadata_standards
comments:
- "Accepts 'metadata_standards' as alias for backward compatibility with extracted data"
integration_method:
description: >-
Technical method for data integration/harvesting.
Examples: REST API, OAI-PMH, SPARQL endpoint, CSV export, direct database access.
range: string
slot_uri: schema:applicationCategory
comments:
- "Use for documenting how external systems can access this platform's data"
- "Common values: API, OAI-PMH, SPARQL, CSV, JSON, XML, direct"
# Partnership fields
partner_name:
description: Name of partner organization
range: string
partner_id:
description: Identifier for partner organization
range: uriorcurie
partnership_type:
description: Type of partnership (network, consortium, collaboration, etc.)
range: string
start_date:
description: Start date of partnership
range: date
end_date:
description: End date of partnership (if applicable)
range: date