glam/schemas/20251121/linkml/modules/classes/CollectionManagementSystem.yaml
2025-12-10 13:01:13 +01:00

746 lines
25 KiB
YAML

# 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."
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: 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"
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"
# 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