# Collection Management System Class # Represents software systems used to manage heritage collections # Based on CIDOC-CRM E29_Design_or_Procedure and Schema.org SoftwareApplication id: https://nde.nl/ontology/hc/class/CollectionManagementSystem name: collection_management_system_class title: CollectionManagementSystem Class imports: - linkml:types - ./Custodian - ./CustodianCollection - ./DigitalPlatform - ./CustodianObservation - ./ReconstructionActivity - ./TimeSpan - ../slots/documentation_url - ./ReconstructedEntity prefixes: linkml: https://w3id.org/linkml/ hc: https://nde.nl/ontology/hc/ schema: http://schema.org/ crm: http://www.cidoc-crm.org/cidoc-crm/ doap: http://usefulinc.com/ns/doap# dcterms: http://purl.org/dc/terms/ prov: http://www.w3.org/ns/prov# foaf: http://xmlns.com/foaf/0.1/ rico: https://www.ica.org/standards/RiC/ontology# classes: CollectionManagementSystem: is_a: ReconstructedEntity class_uri: schema:SoftwareApplication annotations: custodian_types: '["*"]' custodian_types_rationale: "CMS is a digital tool used by all custodian types." specificity_score: 0.5 specificity_rationale: General heritage class. specificity_annotation_timestamp: '2026-01-05T10:51:51Z' specificity_annotation_agent: opencode-claude-sonnet-4 template_specificity: archive_search: 0.5 museum_search: 0.5 library_search: 0.5 collection_discovery: 0.5 person_research: 0.5 location_browse: 0.5 identifier_lookup: 0.5 organizational_change: 0.5 digital_platform: 0.5 general_heritage: 0.5 description: | Software system used to manage heritage collections, objects, and metadata. **Definition**: Software used by the collections staff of a collecting institution or by individual private collectors to document, manage, and track objects or specimens in their collections. **CRITICAL DESIGN DECISION**: CollectionManagementSystem represents the SOFTWARE PRODUCT (e.g., CollectiveAccess, MuseumPlus, Adlib, Axiell Collections) that may power one or more DigitalPlatforms. **Relationship Architecture**: ``` CollectionManagementSystem (software product) │ ├── powers → DigitalPlatform (web interface) │ - Rijksmuseum Website (powered by Adlib) │ - National Archives Portal (powered by MAIS) │ └── manages → CustodianCollection (collection records) - Paintings Collection - Archival Fonds ``` **Distinguishing CMS from DigitalPlatform**: | CMS | DigitalPlatform | |-----|-----------------| | Software product | Web interface | | Backend system | Frontend portal | | Data management | Data presentation | | Staff-facing | Public/researcher-facing | | Reusable across institutions | Institution-specific | **Examples of CMS Products**: - **CollectiveAccess**: Open-source, museums/archives - **MuseumPlus**: Zetcom, museum collections - **Adlib** (Axiell): Library/museum collections - **TMS (The Museum System)**: Gallery Systems - **ArchivesSpace**: Open-source, archival description - **MAIS-Flexis**: Dutch archival software - **Calm**: Axiell, archives - **ResourceSpace**: Digital asset management - **Omeka S**: Open-source, digital collections - **DSpace**: Digital repository **ONTOLOGY ALIGNMENT (from /data/ontology/)**: - **Schema.org** (`/data/ontology/schemaorg.owl`): `schema:SoftwareApplication` (primary) - CMS is specialized software for collection management - Properties: schema:applicationCategory, schema:softwareVersion, schema:creator - Related: schema:WebApplication (subclass) - **CIDOC-CRM** (`/data/ontology/CIDOC_CRM_v7.1.3.rdf`): `crm:E29_Design_or_Procedure` - CIDOC-CRM E73_Information_Object defines: "procedural prescriptions, computer program code" - E29_Design_or_Procedure is a subclass of E73_Information_Object - A CMS embodies procedures for managing collections - P33_used_specific_technique links activities to CMS - **DOAP** (`/data/ontology/doap.rdf`): `doap:Project` - Description of a Project vocabulary for software projects - Properties: doap:name, doap:homepage, doap:license, doap:repository - doap:programming-language for implementation languages - doap:category for software categorization - **RiC-O** (`/data/ontology/RiC-O_1-1.rdf`): Related concepts - rico:RecordResource for managed records - rico:Agent for custodian managing records via CMS - rico:Activity for record management activities **Use Cases**: 1. **Platform Analysis**: "What CMS powers the Rijksmuseum website?" - Follow: DigitalPlatform.powered_by_cms → CollectionManagementSystem 2. **Software Survey**: "How many Dutch museums use CollectiveAccess?" - Query: CMS instances where cms_product = "CollectiveAccess" 3. **Collection-CMS Relationship**: "Which collections are managed by MAIS?" - Follow: CustodianCollection.managed_by_cms → CollectionManagementSystem 4. **CMS Detection**: "Does this website have a detectable CMS backend?" - Check: DigitalPlatform.cms_detected flag **Example**: ```yaml CollectionManagementSystem: cms_id: "https://nde.nl/ontology/hc/cms/collective-access-rm" cms_product_name: "CollectiveAccess" cms_product_version: "1.8.0" cms_category: MUSEUM_CMS open_source: true license: "GPL-3.0" vendor_name: "Whirl-i-Gig" powers_platform: - "https://nde.nl/ontology/hc/platform/some-museum" manages_collection: - "https://nde.nl/ontology/hc/collection/some-collection" ``` exact_mappings: - schema:SoftwareApplication close_mappings: - crm:E29_Design_or_Procedure - crm:E73_Information_Object - doap:Project - schema:WebApplication related_mappings: - crm:P33_used_specific_technique - doap:programming-language - doap:repository - rico:Activity slots: - cms_id - cms_product_name - cms_product_version - cms_category - open_source - license - vendor_name - vendor_url - documentation_url - programming_languages - repository_url - supported_metadata_standards - iiif_compatible - linked_data_export - api_available - powers_platform - manages_collection - used_by_custodian - deployment_date - temporal_extent - was_derived_from - was_generated_by - refers_to_custodian slot_usage: cms_id: slot_uri: dcterms:identifier description: | Unique identifier for this CMS instance/deployment. Format: URI following NDE Heritage Custodian ontology conventions. Note: This identifies a specific DEPLOYMENT of a CMS at an institution, not the CMS product itself. One product (CollectiveAccess) may have many deployments across different institutions. range: uriorcurie required: true identifier: true examples: - value: "https://nde.nl/ontology/hc/cms/rijksmuseum-adlib" description: "Rijksmuseum's Adlib deployment" - value: "https://nde.nl/ontology/hc/cms/nationaal-archief-mais" description: "National Archives MAIS deployment" cms_product_name: slot_uri: schema:name description: | Name of the CMS software product. Schema.org: name for the software application name. Examples: - "CollectiveAccess" - "MuseumPlus" - "Adlib" - "TMS (The Museum System)" - "ArchivesSpace" - "MAIS-Flexis" - "Omeka S" - "DSpace" - "ResourceSpace" range: string required: true examples: - value: "CollectiveAccess" description: "Open-source museum CMS" - value: "MuseumPlus" description: "Zetcom museum CMS" cms_product_version: slot_uri: schema:softwareVersion description: | Version of the CMS software deployed. Schema.org: softwareVersion for version identification. Format: Semantic versioning (MAJOR.MINOR.PATCH) preferred. range: string examples: - value: "1.8.0" description: "CollectiveAccess version" - value: "7.0" description: "MuseumPlus version" cms_category: slot_uri: schema:applicationCategory description: | Category of CMS based on primary domain. Schema.org: applicationCategory for software categorization. Categories: - MUSEUM_CMS: Museum collection management (MuseumPlus, TMS, CollectiveAccess) - ARCHIVE_CMS: Archival description (ArchivesSpace, MAIS, Calm) - LIBRARY_CMS: Library management (Koha, Alma, WorldShare) - DAM: Digital asset management (ResourceSpace, DAMsimple) - REPOSITORY: Digital repository (DSpace, Fedora, EPrints) - MIXED: Multi-domain (Omeka S, CollectiveAccess) - CUSTOM: Institution-specific/custom-built range: string examples: - value: "MUSEUM_CMS" description: "Museum-focused CMS" - value: "ARCHIVE_CMS" description: "Archives-focused CMS" open_source: slot_uri: doap:license description: | Is this CMS open-source software? Boolean flag. If true, license slot should contain OSI-approved license. Open-source CMS examples: - CollectiveAccess (GPL-3.0) - ArchivesSpace (ECL-2.0) - Omeka S (GPL-3.0) - DSpace (BSD-3-Clause) - Koha (GPL-3.0) range: boolean examples: - value: true description: "Open-source CMS" - value: false description: "Proprietary CMS" license: slot_uri: doap:license description: | Software license for this CMS. DOAP: license for software license information. Use SPDX identifiers when possible: - GPL-3.0: GNU General Public License v3 - MIT: MIT License - Apache-2.0: Apache License 2.0 - BSD-3-Clause: BSD 3-Clause - ECL-2.0: Educational Community License - Proprietary: Commercial/proprietary license range: string examples: - value: "GPL-3.0" description: "GNU GPL v3 license" - value: "Proprietary" description: "Commercial license" vendor_name: slot_uri: schema:creator description: | Organization that develops/maintains this CMS. Schema.org: creator for software creator organization. Examples: - "Whirl-i-Gig" (CollectiveAccess) - "Zetcom AG" (MuseumPlus) - "Axiell" (Adlib, Calm, Collections) - "Gallery Systems" (TMS, eMuseum) - "Lyrasis" (ArchivesSpace, DSpace) - "OCLC" (WorldShare, CONTENTdm) range: string examples: - value: "Whirl-i-Gig" description: "CollectiveAccess developer" - value: "Zetcom AG" description: "MuseumPlus developer" vendor_url: slot_uri: schema:url description: | URL of the CMS vendor/developer website. Schema.org: url for vendor website. range: uri examples: - value: "https://www.collectiveaccess.org/" description: "CollectiveAccess website" - value: "https://www.zetcom.com/" description: "Zetcom website" documentation_url: slot_uri: foaf:page description: | URL to CMS documentation or manual. FOAF: page for documentation reference. range: uri examples: - value: "https://manual.collectiveaccess.org/" description: "CollectiveAccess documentation" programming_languages: slot_uri: doap:programming-language description: | Programming languages used to build this CMS. DOAP: programming-language for implementation languages. Common CMS languages: - PHP (CollectiveAccess, Omeka S, ResourceSpace) - Ruby (ArchivesSpace) - Java (DSpace, Fedora) - Python (various) - .NET (some proprietary CMS) range: string multivalued: true examples: - value: "PHP" description: "Server-side language" - value: "JavaScript" description: "Frontend language" repository_url: slot_uri: doap:repository description: | Source code repository URL (for open-source CMS). DOAP: repository for source code location. Typically GitHub, GitLab, or similar. range: uri examples: - value: "https://github.com/collectiveaccess/providence" description: "CollectiveAccess GitHub repo" - value: "https://github.com/archivesspace/archivesspace" description: "ArchivesSpace GitHub repo" supported_metadata_standards: slot_uri: dcterms:conformsTo description: | Metadata standards supported by this CMS. Dublin Core: conformsTo for standard compliance. Common standards: - Dublin Core - VRA Core (visual resources) - LIDO (museum objects) - EAD (archival description) - MARC21 (libraries) - SPECTRUM (museum procedures) - ISAD(G) (archival) - MODS/METS - EDM (Europeana) range: string multivalued: true examples: - value: "Dublin Core" description: "Basic metadata standard" - value: "LIDO" description: "Museum object standard" - value: "EAD" description: "Archival description standard" iiif_compatible: slot_uri: dcterms:conformsTo description: | Does this CMS support IIIF image/presentation APIs? Dublin Core: conformsTo for IIIF specification compliance. IIIF support enables: - Image API (deep zoom tiles) - Presentation API (manifests) - Integration with Mirador, Universal Viewer, etc. range: boolean examples: - value: true description: "IIIF compatible" linked_data_export: slot_uri: dcterms:conformsTo description: | Does this CMS support linked open data export (RDF)? Dublin Core: conformsTo for LOD compliance. Export formats may include: - RDF/XML - Turtle - JSON-LD - N-Triples range: boolean examples: - value: true description: "Supports LOD export" api_available: slot_uri: schema:documentation description: | Does this CMS provide a programmatic API? Schema.org: documentation for API availability. API types: - REST API - GraphQL - OAI-PMH - SPARQL - SRU/SRW range: boolean examples: - value: true description: "API available" powers_platform: slot_uri: crm:P33_used_specific_technique description: | DigitalPlatform(s) powered by this CMS deployment. CIDOC-CRM: P33_used_specific_technique - the CMS is the technique/procedure used to power the digital platform. **BIDIRECTIONAL RELATIONSHIP**: - Forward: CollectionManagementSystem → DigitalPlatform (powers_platform) - Reverse: DigitalPlatform → CollectionManagementSystem (powered_by_cms) One CMS deployment may power multiple platforms: - Public website - Staff intranet - Mobile app backend - API service range: DigitalPlatform multivalued: true examples: - value: "https://nde.nl/ontology/hc/platform/rijksmuseum-website" description: "Platform powered by this CMS" manages_collection: slot_uri: crm:P70_documents description: | CustodianCollection(s) managed by this CMS. CIDOC-CRM: P70_documents - the CMS documents the collection. **BIDIRECTIONAL RELATIONSHIP**: - Forward: CollectionManagementSystem → CustodianCollection (manages_collection) - Reverse: CustodianCollection → CollectionManagementSystem (managed_by_cms) Multiple collections may be managed by one CMS deployment: - Paintings collection - Prints and drawings - Archival fonds range: CustodianCollection multivalued: true examples: - value: "https://nde.nl/ontology/hc/collection/rm-paintings" description: "Collection managed by this CMS" used_by_custodian: slot_uri: dcterms:references description: | The Custodian that uses this CMS deployment. Dublin Core: references for entity relationship. Each CMS deployment is associated with exactly one custodian hub, though a custodian may use multiple CMS systems. range: Custodian multivalued: true examples: - value: "https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804" description: "Rijksmuseum uses this CMS" deployment_date: slot_uri: schema:datePublished description: | Date when this CMS was deployed/implemented at the institution. Schema.org: datePublished for deployment date. May be approximate (year-only acceptable). range: date examples: - value: "2015-06-01" description: "CMS deployed June 2015" temporal_extent: slot_uri: crm:P4_has_time-span description: | Temporal period during which this CMS deployment was/is active. CIDOC-CRM: P4_has_time-span for deployment lifecycle. Use for: - Deployment start (begin_of_the_begin) - Migration/replacement date (end_of_the_end) - Upgrade timeline range: TimeSpan examples: - value: begin_of_the_begin: "2015-06-01" end_of_the_end: description: "Active since June 2015" was_derived_from: slot_uri: prov:wasDerivedFrom description: | CustodianObservation(s) documenting this CMS usage. PROV-O: wasDerivedFrom for observation provenance. Evidence sources: - Website footer/credits - Technical documentation - Staff interviews - Conference presentations range: CustodianObservation multivalued: true required: false was_generated_by: slot_uri: prov:wasGeneratedBy description: | ReconstructionActivity that created this CMS record. PROV-O: wasGeneratedBy for generation activity. range: ReconstructionActivity required: false refers_to_custodian: slot_uri: dcterms:references description: | Primary Custodian hub associated with this CMS deployment. Dublin Core: references for entity reference. Required link to the heritage custodian using this CMS. range: Custodian required: true examples: - value: "https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804" description: "Rijksmuseum custodian hub" comments: - "CMS represents SOFTWARE PRODUCT deployed at institution" - "DigitalPlatform represents WEB INTERFACE powered by CMS" - "One CMS deployment can power multiple platforms" - "Multiple collections can be managed by one CMS" - "Schema.org SoftwareApplication for software metadata" - "CIDOC-CRM E29_Design_or_Procedure for procedural aspect" - "DOAP for open-source software project metadata" see_also: - "https://schema.org/SoftwareApplication" - "http://www.cidoc-crm.org/cidoc-crm/E29_Design_or_Procedure" - "http://usefulinc.com/ns/doap#Project" examples: - value: cms_id: "https://nde.nl/ontology/hc/cms/rijksmuseum-adlib" cms_product_name: "Adlib" cms_product_version: "7.4" cms_category: "MUSEUM_CMS" open_source: false license: "Proprietary" vendor_name: "Axiell" vendor_url: "https://www.axiell.com/" supported_metadata_standards: - "SPECTRUM" - "Dublin Core" - "LIDO" iiif_compatible: true linked_data_export: true api_available: true powers_platform: - "https://nde.nl/ontology/hc/platform/rijksmuseum-website" manages_collection: - "https://nde.nl/ontology/hc/collection/rm-paintings" - "https://nde.nl/ontology/hc/collection/rm-prints" refers_to_custodian: "https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804" description: "Rijksmuseum Adlib CMS deployment" - value: cms_id: "https://nde.nl/ontology/hc/cms/example-museum-collectiveaccess" cms_product_name: "CollectiveAccess" cms_product_version: "1.8.0" cms_category: "MUSEUM_CMS" open_source: true license: "GPL-3.0" vendor_name: "Whirl-i-Gig" vendor_url: "https://www.collectiveaccess.org/" documentation_url: "https://manual.collectiveaccess.org/" programming_languages: - "PHP" - "JavaScript" - "MySQL" repository_url: "https://github.com/collectiveaccess/providence" supported_metadata_standards: - "Dublin Core" - "VRA Core" - "LIDO" iiif_compatible: true linked_data_export: true api_available: true refers_to_custodian: "https://nde.nl/ontology/hc/example-museum" description: "Open-source CollectiveAccess deployment" - value: cms_id: "https://nde.nl/ontology/hc/cms/nationaal-archief-mais" cms_product_name: "MAIS-Flexis" cms_product_version: cms_category: "ARCHIVE_CMS" open_source: false license: "Proprietary" vendor_name: "De Ree Archiefsystemen" supported_metadata_standards: - "ISAD(G)" - "EAD" - "MDTO" iiif_compatible: false linked_data_export: false api_available: true manages_collection: - "https://nde.nl/ontology/hc/collection/na-government-records" refers_to_custodian: "https://nde.nl/ontology/hc/nl-na" description: "Dutch National Archives MAIS-Flexis deployment" # Slot definitions (basic - detailed in class slot_usage) slots: cms_id: description: Unique identifier for CMS deployment range: uriorcurie cms_product_name: description: Name of CMS software product range: string cms_product_version: description: Version of CMS software range: string cms_category: description: Category of CMS (MUSEUM_CMS, ARCHIVE_CMS, LIBRARY_CMS, etc.) range: string open_source: description: Is CMS open-source software range: boolean license: description: Software license range: string vendor_name: description: CMS vendor/developer organization range: string vendor_url: description: Vendor website URL range: uri # NOTE: documentation_url imported from global slot ../slots/documentation_url.yaml repository_url: description: Source code repository URL range: uri supported_metadata_standards: description: Metadata standards supported by CMS range: string iiif_compatible: description: IIIF compatibility flag range: boolean linked_data_export: description: Linked data export capability range: boolean api_available: description: API availability flag range: boolean powers_platform: description: DigitalPlatforms powered by this CMS range: DigitalPlatform manages_collection: description: CustodianCollections managed by this CMS range: CustodianCollection used_by_custodian: description: Custodians using this CMS range: Custodian deployment_date: description: Date CMS was deployed range: date