glam/schemas/20251121/linkml/modules/classes/CollectionManagementSystem.yaml
kempersc 3da90b940e
All checks were successful
Deploy Frontend / build-and-deploy (push) Successful in 2m4s
feat(schema): complete multiple slot_fixes.yaml migrations
Session 2026-01-19: Completed remaining migrations per Rules 53/56/60.

Major migrations:
1. claim_type → has_or_had_type + ClaimType/ClaimTypes (60+ concrete types in 11 categories)
2. circumstances_of_death → is_deceased + DeceasedStatus + CauseOfDeath
3. claims_count → has_or_had_quantity + Quantity (with based_on_claim for provenance)
4. classification_status → has_or_had_type + ClassificationStatusType

Created files:
- ClaimType.yaml, ClaimTypes.yaml (abstract base + 60+ concrete subclasses)
- DeceasedStatus.yaml, CauseOfDeath.yaml, CauseOfDeathTypeEnum.yaml
- ClassificationStatus.yaml, ClassificationStatusType.yaml, ClassificationStatusTypes.yaml
- CITESAppendix.yaml, City.yaml, CertaintyLevel.yaml
- is_deceased.yaml, is_or_was_caused_by.yaml, based_on_claim.yaml

Archived slots:
- claim_type, circumstances_of_death, claims_count, classification_status

Added Rule 60 to AGENTS.md: No Migration Deferral - agents MUST execute all migrations.

All 527 slot_fixes.yaml entries now complete (100%).
2026-01-19 13:05:53 +01:00

488 lines
22 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/is_or_was_available # MIGRATED: was ../slots/api_available (2026-01-15)
- ../slots/cms_category
# 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)
- ../slots/cms_product_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)
- cms_category
- 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)
- cms_product_version
- 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:
range: string
examples:
- value: 1.8.0
description: CollectiveAccess version
- value: '7.0'
description: MuseumPlus version
cms_category:
range: string
examples:
- value: MUSEUM_CMS
description: Museum-focused CMS
- value: 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
- 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: '7.4'
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: 1.8.0
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: null
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