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 - ../slots/is_or_was_available # MIGRATED: was ../slots/api_available (2026-01-15) # REMOVED 2026-01-19: ../slots/cms_category - migrated to has_or_had_type + CMSType (Rule 53) - ../slots/has_or_had_type # was: cms_category - migrated per Rule 53 (2026-01-19) - ./CMSType - ./CMSTypes # REMOVED 2026-01-18: ../slots/cms_id - migrated to has_or_had_identifier + Identifier (Rule 53) - ../slots/has_or_had_identifier # was: cms_id - migrated per Rule 53 (2026-01-18) - ./Identifier # REMOVED 2026-01-18: ../slots/cms_product_name - migrated to has_or_had_label with Label (type: product_name) # REMOVED 2026-01-19: ../slots/cms_product_version - migrated to has_or_had_version + Version (Rule 53) - ../slots/has_or_had_version # was: cms_product_version - migrated per Rule 53 (2026-01-19) - ./Version - ../slots/has_or_had_custodian_type - ../slots/deployment_date - ../slots/iiif_compatible - ../slots/license - ../slots/linked_data_export - ../slots/manages_collection - ../slots/open_source - ../slots/powers_platform - ../slots/programming_language - ../slots/refers_to_custodian - ../slots/repository_url - ../slots/specificity_annotation - ../slots/has_or_had_standard # was: supported_metadata_standard - migrated per Rule 53/56 (2026-01-16) - ./MetadataStandard - ./MetadataStandardType - ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/temporal_extent # REMOVED 2026-01-14: ../slots/used_by_custodian - migrated to is_or_was_used_by with Custodian - ../slots/is_or_was_used_by # Migrated per slot_fixes.yaml (Rule 53) - 2026-01-14 # vendor_name → has_or_had_label + Label # vendor_url → has_or_had_url + URL (URL already imported above) - ../slots/has_or_had_label - ../slots/has_or_had_url - ./Label - ./URL - ../slots/is_or_was_derived_from # was: was_derived_from - migrated per Rule 53 - ../slots/is_or_was_generated_by # was: was_generated_by - migrated per Rule 53 - ./SpecificityAnnotation - ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17) - ./TemplateSpecificityType - ./TemplateSpecificityTypes - ./AvailabilityStatus # Added for is_or_was_available migration (2026-01-15) # REMOVED: ../slots/has_api_available_flag - migrated to is_or_was_available (2026-01-15) 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 description: "Software system used to manage heritage collections, objects, and metadata.\n\n**Definition**:\nSoftware\ \ used by the collections staff of a collecting institution or by \nindividual private collectors to document, manage,\ \ and track objects or \nspecimens in their collections.\n\n**CRITICAL DESIGN DECISION**:\n\nCollectionManagementSystem\ \ represents the SOFTWARE PRODUCT (e.g., CollectiveAccess,\nMuseumPlus, Adlib, Axiell Collections) that may power one\ \ or more DigitalPlatforms.\n\n**Relationship Architecture**:\n\n```\nCollectionManagementSystem (software product)\n\ \ │\n ├── powers → DigitalPlatform (web interface)\n │ - Rijksmuseum Website (powered by Adlib)\n\ \ │ - National Archives Portal (powered by MAIS)\n │\n └── manages → CustodianCollection (collection\ \ records)\n - Paintings Collection\n - Archival Fonds\n```\n\n**Distinguishing\ \ CMS from DigitalPlatform**:\n\n| CMS | DigitalPlatform |\n|-----|-----------------|\n| Software product | Web interface\ \ |\n| Backend system | Frontend portal |\n| Data management | Data presentation |\n| Staff-facing | Public/researcher-facing\ \ |\n| Reusable across institutions | Institution-specific |\n\n**Examples of CMS Products**:\n\n- **CollectiveAccess**:\ \ Open-source, museums/archives\n- **MuseumPlus**: Zetcom, museum collections\n- **Adlib** (Axiell): Library/museum\ \ collections\n- **TMS (The Museum System)**: Gallery Systems\n- **ArchivesSpace**: Open-source, archival description\n\ - **MAIS-Flexis**: Dutch archival software\n- **Calm**: Axiell, archives\n- **ResourceSpace**: Digital asset management\n\ - **Omeka S**: Open-source, digital collections\n- **DSpace**: Digital repository\n\n**ONTOLOGY ALIGNMENT (from /data/ontology/)**:\n\ \n- **Schema.org** (`/data/ontology/schemaorg.owl`): `schema:SoftwareApplication` (primary)\n - CMS is specialized\ \ software for collection management\n - Properties: schema:applicationCategory, schema:softwareVersion, schema:creator\n\ \ - Related: schema:WebApplication (subclass)\n\n- **CIDOC-CRM** (`/data/ontology/CIDOC_CRM_v7.1.3.rdf`): `crm:E29_Design_or_Procedure`\n\ \ - CIDOC-CRM E73_Information_Object defines: \"procedural prescriptions, computer program code\"\n - E29_Design_or_Procedure\ \ is a subclass of E73_Information_Object\n - A CMS embodies procedures for managing collections\n - P33_used_specific_technique\ \ links activities to CMS\n\n- **DOAP** (`/data/ontology/doap.rdf`): `doap:Project`\n - Description of a Project vocabulary\ \ for software projects\n - Properties: doap:name, doap:homepage, doap:license, doap:repository\n - doap:programming-language\ \ for implementation languages\n - doap:category for software categorization\n\n- **RiC-O** (`/data/ontology/RiC-O_1-1.rdf`):\ \ Related concepts\n - rico:RecordResource for managed records\n - rico:Agent for custodian managing records via CMS\n\ \ - rico:Activity for record management activities\n\n**Use Cases**:\n\n1. **Platform Analysis**: \"What CMS powers\ \ the Rijksmuseum website?\"\n - Follow: DigitalPlatform.powered_by_cms → CollectionManagementSystem\n\n2. **Software\ \ Survey**: \"How many Dutch museums use CollectiveAccess?\"\n - Query: CMS instances where cms_product = \"CollectiveAccess\"\ \n\n3. **Collection-CMS Relationship**: \"Which collections are managed by MAIS?\"\n - Follow: CustodianCollection.managed_by_cms\ \ → CollectionManagementSystem\n\n4. **CMS Detection**: \"Does this website have a detectable CMS backend?\"\n - Check:\ \ DigitalPlatform.cms_detected flag\n\n**Example**:\n```yaml\nCollectionManagementSystem:\n cms_id: \"https://nde.nl/ontology/hc/cms/collective-access-rm\"\ \n cms_product_name: \"CollectiveAccess\"\n cms_product_version: \"1.8.0\"\n cms_category: MUSEUM_CMS\n open_source:\ \ true\\n license: \\\"GPL-3.0\\\"\\n has_or_had_label: \\\"Whirl-i-Gig\\\" # vendor_name\\n powers_platform:\\n - \\\"https://nde.nl/ontology/hc/platform/some-museum\\\"\\\n \n manages_collection:\n - \"https://nde.nl/ontology/hc/collection/some-collection\"\n```\n" 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: - is_or_was_available # MIGRATED: was api_available (2026-01-15) # REMOVED 2026-01-19: cms_category - migrated to has_or_had_type with CMSType - has_or_had_type # was: cms_category - migrated per Rule 53 (2026-01-19) - has_or_had_identifier # was: cms_id - migrated per Rule 53 (2026-01-18) # REMOVED 2026-01-18: cms_product_name - migrated to has_or_had_label with Label (type: product_name) # REMOVED 2026-01-19: cms_product_version - migrated to has_or_had_version + Version (Rule 53) - has_or_had_version # was: cms_product_version - migrated per Rule 53 (2026-01-19) - has_or_had_custodian_type - deployment_date - documentation_url - iiif_compatible - license - linked_data_export - manages_collection - open_source - powers_platform - programming_language - refers_to_custodian - repository_url - specificity_annotation - has_or_had_standard # was: supported_metadata_standard - migrated per Rule 53/56 (2026-01-16) - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - temporal_extent # REMOVED 2026-01-14: used_by_custodian - migrated to is_or_was_used_by with Custodian - is_or_was_used_by # Migrated per slot_fixes.yaml (Rule 53) - 2026-01-14 - has_or_had_label # was: vendor_name - has_or_had_url # was: vendor_url - is_or_was_derived_from # was: was_derived_from - migrated per Rule 53 - is_or_was_generated_by # was: was_generated_by - migrated per Rule 53 slot_usage: has_or_had_identifier: # was: cms_id - migrated per Rule 53 (2026-01-18) description: | MIGRATED from cms_id per slot_fixes.yaml (Rule 53, 2026-01-18). Unique identifier for the CMS deployment. Uses Identifier class for structured representation with scheme and value. The identifier scheme should be "CMS_URI" and value should be the full URI. range: Identifier inlined: true required: true identifier: true examples: - value: identifier_scheme: CMS_URI identifier_value: "https://nde.nl/ontology/hc/cms/rijksmuseum-adlib" description: Rijksmuseum's Adlib deployment - value: identifier_scheme: CMS_URI identifier_value: "https://nde.nl/ontology/hc/cms/nationaal-archief-mais" description: National Archives MAIS deployment cms_id: description: | DEPRECATED 2026-01-18: Migrated to has_or_had_identifier slot with Identifier class. This slot_usage entry retained for documentation only. See has_or_had_identifier slot_usage for current pattern. deprecated: "Use has_or_had_identifier with Identifier class" cms_product_name: description: | DEPRECATED 2026-01-18: Migrated to has_or_had_label slot with Label class using has_or_had_type: "product_name" for type discrimination. This slot_usage entry retained for documentation only. See has_or_had_label slot_usage for current pattern. deprecated: "Use has_or_had_label with Label(has_or_had_type='product_name')" cms_product_version: description: | DEPRECATED 2026-01-19: Migrated to has_or_had_version slot with Version class. This slot_usage entry retained for documentation only. See has_or_had_version slot_usage for current pattern. deprecated: "Use has_or_had_version with Version class" has_or_had_version: # was: cms_product_version - migrated per Rule 53 (2026-01-19) description: | MIGRATED from cms_product_version per slot_fixes.yaml (Rule 53, 2026-01-19). Version of the CMS software deployed. Uses Version class for structured version representation: - version_string: Full version (e.g., "1.8.0", "7.4") - major_version, minor_version, patch_version: Semantic versioning components - release_date: When this version was released - temporal_extent: When this version was deployed at the custodian range: Version multivalued: true inlined_as_list: true examples: - value: version_string: "1.8.0" major_version: 1 minor_version: 8 patch_version: 0 description: CollectiveAccess version with semantic components - value: version_string: "7.4" major_version: 7 minor_version: 4 description: MuseumPlus version cms_category: description: | DEPRECATED 2026-01-19: Migrated to has_or_had_type slot with CMSType class. This slot_usage entry retained for documentation only. See has_or_had_type slot_usage for current pattern. deprecated: "Use has_or_had_type with CMSType class" has_or_had_type: # was: cms_category - migrated per Rule 53 (2026-01-19) description: | MIGRATED from cms_category per slot_fixes.yaml (Rule 53, 2026-01-19). The type of collection management system. Uses CMSType class hierarchy for structured type representation: - MuseumCMS: Museum-focused collection management (e.g., TMS, CollectiveAccess) - ArchiveCMS: Archives-focused (e.g., ArchivesSpace, MAIS-Flexis) - LibraryCMS: Library-focused (e.g., Koha, Alma) - DigitalAssetManagement: DAM systems (e.g., ResourceSpace) - DigitalRepository: Repository platforms (e.g., DSpace, Fedora) - MixedCMS: Multi-domain systems - CustomCMS: Institution-specific systems range: CMSType inlined: true examples: - value: has_or_had_label: Museum CMS has_or_had_type: museum_cms description: Museum-focused CMS - value: has_or_had_label: Archive CMS has_or_had_type: archive_cms description: Archives-focused CMS open_source: range: boolean examples: - value: true description: Open-source CMS - value: false description: Proprietary CMS license: range: string examples: - value: GPL-3.0 description: GNU GPL v3 license - value: Proprietary description: Commercial license has_or_had_label: # was: vendor_name AND cms_product_name description: | Labels for the CMS, including vendor name and product name. **MIGRATED 2026-01-18**: Now covers BOTH vendor_name AND cms_product_name. Uses Label class with has_or_had_type for discrimination: - has_or_had_type: "vendor_name" - Name of the CMS vendor/developer - has_or_had_type: "product_name" - Name of the CMS software product MIGRATED from vendor_name per slot_fixes.yaml (Rule 53, 2026-01-14). MIGRATED from cms_product_name per slot_fixes.yaml (Rule 53, 2026-01-18). range: Label inlined: true inlined_as_list: true multivalued: true examples: - value: has_or_had_label: CollectiveAccess has_or_had_type: product_name description: CMS product name - value: has_or_had_label: Whirl-i-Gig has_or_had_type: vendor_name description: CMS vendor/developer name - value: has_or_had_label: MuseumPlus has_or_had_type: product_name description: Zetcom CMS product name - value: has_or_had_label: Zetcom AG has_or_had_type: vendor_name description: MuseumPlus developer has_or_had_url: # was: vendor_url description: | Website URL of the CMS vendor/developer. MIGRATED from vendor_url per slot_fixes.yaml (Rule 53). range: URL inlined: true multivalued: true examples: - value: url_value: https://www.collectiveaccess.org/ url_type: vendor description: CollectiveAccess website - value: url_value: https://www.zetcom.com/ url_type: vendor description: Zetcom website documentation_url: range: uri examples: - value: https://manual.collectiveaccess.org/ description: CollectiveAccess documentation programming_language: range: string multivalued: true examples: - value: PHP description: Server-side language - value: JavaScript description: Frontend language repository_url: range: uri examples: - value: https://github.com/collectiveaccess/providence description: CollectiveAccess GitHub repo - value: https://github.com/archivesspace/archivesspace description: ArchivesSpace GitHub repo # was: supported_metadata_standard - migrated per Rule 53/56 (2026-01-16) has_or_had_standard: range: MetadataStandard multivalued: true inlined_as_list: true description: | Metadata standards supported by this CMS. MIGRATED from supported_metadata_standard slot per slot_fixes.yaml (Rule 53/56, 2026-01-16). Uses MetadataStandard class for structured standard representation including: - Standard name - Standard URI - Standard type examples: - value: standard_name: Dublin Core standard_uri: http://purl.org/dc/elements/1.1/ description: Dublin Core metadata standard - value: standard_name: LIDO standard_uri: http://www.lido-schema.org/ description: LIDO museum object standard - value: standard_name: EAD standard_uri: http://www.loc.gov/ead/ description: Encoded Archival Description standard iiif_compatible: range: boolean examples: - value: true description: IIIF compatible linked_data_export: range: boolean examples: - value: true description: Supports LOD export is_or_was_available: # MIGRATED: was has_api_available_flag (2026-01-15) description: Whether this CMS provides API access (REST, GraphQL, OAI-PMH, SPARQL, SRU/SRW) range: boolean examples: - value: true description: API available powers_platform: range: DigitalPlatform multivalued: true examples: - value: https://nde.nl/ontology/hc/platform/rijksmuseum-website description: Platform powered by this CMS manages_collection: range: CustodianCollection multivalued: true examples: - value: https://nde.nl/ontology/hc/collection/rm-paintings description: Collection managed by this CMS # REMOVED 2026-01-14: used_by_custodian - migrated to is_or_was_used_by with Custodian # used_by_custodian: # range: Custodian # multivalued: true # examples: # - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 # description: Rijksmuseum uses this CMS is_or_was_used_by: range: Custodian multivalued: true description: | Custodians that use or used this CMS. MIGRATED 2026-01-14: Replaces used_by_custodian slot. examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 description: Rijksmuseum uses this CMS deployment_date: range: date examples: - value: '2015-06-01' description: CMS deployed June 2015 temporal_extent: range: TimeSpan examples: - value: begin_of_the_begin: '2015-06-01' end_of_the_end: null description: Active since June 2015 is_or_was_derived_from: # was: was_derived_from - migrated per Rule 53 range: CustodianObservation multivalued: true required: false is_or_was_generated_by: # was: was_generated_by - migrated per Rule 53 range: ReconstructionActivity required: false refers_to_custodian: range: Custodian required: true examples: - value: https://nde.nl/ontology/hc/nl-nh-ams-m-rm-q190804 description: Rijksmuseum custodian hub has_or_had_custodian_type: equals_expression: '["*"]' 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: # Examples updated for migrated slots (Rule 53) - 2026-01-14, 2026-01-16, 2026-01-18, 2026-01-19 - value: # cms_id migrated to has_or_had_identifier with Identifier class (2026-01-18) has_or_had_identifier: identifier_scheme: CMS_URI identifier_value: "https://nde.nl/ontology/hc/cms/rijksmuseum-adlib" # cms_product_name migrated to has_or_had_label with type: product_name (2026-01-18) # cms_product_version migrated to has_or_had_version with Version class (2026-01-19) has_or_had_version: version_string: "7.4" major_version: 7 minor_version: 4 # cms_category migrated to has_or_had_type with CMSType (2026-01-19) has_or_had_type: MuseumCMS # was: cms_category: MUSEUM_CMS open_source: false license: Proprietary has_or_had_label: # was: vendor_name AND cms_product_name - now uses Label with type discrimination - has_or_had_label: Adlib has_or_had_type: product_name - has_or_had_label: Axiell has_or_had_type: vendor_name has_or_had_url: # was: vendor_url url_value: https://www.axiell.com/ url_type: vendor # was: supported_metadata_standard - migrated per Rule 53/56 (2026-01-16) has_or_had_standard: - standard_name: SPECTRUM standard_uri: https://collectionstrust.org.uk/spectrum/ - standard_name: Dublin Core standard_uri: http://purl.org/dc/elements/1.1/ - standard_name: LIDO standard_uri: http://www.lido-schema.org/ iiif_compatible: true linked_data_export: true is_or_was_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 migrated to has_or_had_identifier with Identifier class (2026-01-18) has_or_had_identifier: identifier_scheme: CMS_URI identifier_value: "https://nde.nl/ontology/hc/cms/example-museum-collectiveaccess" # cms_product_name migrated to has_or_had_label with type: product_name (2026-01-18) # cms_product_version migrated to has_or_had_version with Version class (2026-01-19) has_or_had_version: version_string: "1.8.0" major_version: 1 minor_version: 8 patch_version: 0 # cms_category migrated to has_or_had_type with CMSType (2026-01-19) has_or_had_type: MuseumCMS # was: cms_category: MUSEUM_CMS open_source: true license: GPL-3.0 has_or_had_label: # was: vendor_name AND cms_product_name - now uses Label with type discrimination - has_or_had_label: CollectiveAccess has_or_had_type: product_name - has_or_had_label: Whirl-i-Gig has_or_had_type: vendor_name has_or_had_url: # was: vendor_url url_value: https://www.collectiveaccess.org/ url_type: vendor documentation_url: https://manual.collectiveaccess.org/ programming_language: - PHP - JavaScript - MySQL repository_url: https://github.com/collectiveaccess/providence # was: supported_metadata_standard - migrated per Rule 53/56 (2026-01-16) has_or_had_standard: - standard_name: Dublin Core standard_uri: http://purl.org/dc/elements/1.1/ - standard_name: VRA Core standard_uri: http://www.vraweb.org/vracore/ - standard_name: LIDO standard_uri: http://www.lido-schema.org/ iiif_compatible: true linked_data_export: true is_or_was_available: true refers_to_custodian: https://nde.nl/ontology/hc/example-museum description: Open-source CollectiveAccess deployment - value: # cms_id migrated to has_or_had_identifier with Identifier class (2026-01-18) has_or_had_identifier: identifier_scheme: CMS_URI identifier_value: "https://nde.nl/ontology/hc/cms/nationaal-archief-mais" # cms_product_name migrated to has_or_had_label with type: product_name (2026-01-18) # cms_product_version migrated to has_or_had_version with Version class (2026-01-19) # Version unknown for this CMS deployment # cms_category migrated to has_or_had_type with CMSType (2026-01-19) has_or_had_type: ArchiveCMS # was: cms_category: ARCHIVE_CMS open_source: false license: Proprietary has_or_had_label: # was: vendor_name AND cms_product_name - now uses Label with type discrimination - has_or_had_label: MAIS-Flexis has_or_had_type: product_name - has_or_had_label: De Ree Archiefsystemen has_or_had_type: vendor_name # was: supported_metadata_standard - migrated per Rule 53/56 (2026-01-16) has_or_had_standard: - standard_name: ISAD(G) standard_uri: https://www.ica.org/en/isadg-general-international-standard-archival-description-second-edition - standard_name: EAD standard_uri: http://www.loc.gov/ead/ - standard_name: MDTO standard_uri: https://www.nationaalarchief.nl/mdto iiif_compatible: false linked_data_export: false is_or_was_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