glam/schemas/20251121/linkml/modules/classes/CollectionManagementSystem.yaml
kempersc b34992b1d3 Migrate all 293 class files to ontology-aligned slots
Extends migration to all class types (museums, libraries, galleries, etc.)

New slots added to class_metadata_slots.yaml:
- RiC-O: rico_record_set_type, rico_organizational_principle,
  rico_has_or_had_holder, rico_note
- Multilingual: label_de, label_es, label_fr, label_nl, label_it, label_pt
- Scope: scope_includes, scope_excludes, custodian_only,
  organizational_level, geographic_restriction
- Notes: privacy_note, preservation_note, legal_note

Migration script now handles 30+ annotation types.
All migrated schemas pass linkml-validate.

Total: 387 class files now use proper slots instead of annotations.
2026-01-06 12:24:54 +01:00

647 lines
24 KiB
YAML

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/class_metadata_slots
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\
\ vendor_name: \"Whirl-i-Gig\"\n powers_platform:\n - \"https://nde.nl/ontology/hc/platform/some-museum\"\
\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:
- api_available
- cms_category
- cms_id
- cms_product_name
- cms_product_version
- custodian_types
- custodian_types_rationale
- deployment_date
- documentation_url
- iiif_compatible
- license
- linked_data_export
- manages_collection
- open_source
- powers_platform
- programming_languages
- refers_to_custodian
- repository_url
- specificity_annotation
- supported_metadata_standards
- template_specificity
- temporal_extent
- used_by_custodian
- vendor_name
- vendor_url
- was_derived_from
- was_generated_by
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: null
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
custodian_types:
equals_expression: '["*"]'
custodian_types_rationale:
equals_string: CMS is a digital tool used by all custodian types.
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true
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: null
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
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
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