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