glam/frontend/public/schemas/20251121/linkml/modules/classes/Version.yaml
kempersc 2d09776856 Refactor StorageCondition schema: Migrate compliance_status to has_or_had_status with ComplianceStatus class
- Removed compliance_status slot and replaced it with has_or_had_status.
- Updated has_or_had_status to use ComplianceStatus for structured representation.
- Adjusted examples to reflect new structure for compliance status.
- Updated documentation to indicate migration and provide details on the ComplianceStatus class.
2026-01-22 16:22:16 +01:00

168 lines
4.8 KiB
YAML

id: https://nde.nl/ontology/hc/class/Version
name: version_class
title: Version Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
prov: http://www.w3.org/ns/prov#
doap: http://usefulinc.com/ns/doap#
imports:
- linkml:types
- ../slots/has_or_had_label
- ../slots/has_or_had_identifier
- ../slots/temporal_extent
- ./TimeSpan
default_prefix: hc
classes:
Version:
class_uri: schema:SoftwareApplication
description: |
A version identifier for software, documents, schemas, or other entities.
**Purpose**: Represents a structured version record with version number,
release date, and semantic versioning components.
**Semantic Versioning Support**:
- major_version: Breaking changes
- minor_version: New features (backwards compatible)
- patch_version: Bug fixes
**Use Cases**:
1. **CMS Product Version**: Version of deployed CMS software
2. **API Version**: REST API version
3. **Schema Version**: Ontology/schema version
4. **Document Version**: Document revision number
**Example**:
```yaml
CollectionManagementSystem:
cms_name: CollectiveAccess
has_or_had_version:
version_string: "1.8.0"
major_version: 1
minor_version: 8
patch_version: 0
release_date: "2023-06-15"
```
**Migration Note**: Created 2026-01-19 per slot_fixes.yaml (Rule 53).
Replaces simple string cms_product_version with structured Version class.
exact_mappings:
- schema:version
- doap:Version
slots:
- version_string
- major_version
- minor_version
- patch_version
- prerelease_tag
- build_metadata
- release_date
- temporal_extent
slot_usage:
version_string:
description: Full version string (e.g., "1.8.0", "v3.2.1-beta")
range: string
required: true
examples:
- value: "1.8.0"
description: Semantic version
- value: "7.4"
description: Two-part version
- value: "v3.2.1-beta"
description: Version with prerelease tag
major_version:
description: Major version number (breaking changes)
range: integer
required: false
examples:
- value: 1
description: Major version 1
minor_version:
description: Minor version number (new features)
range: integer
required: false
examples:
- value: 8
description: Minor version 8
patch_version:
description: Patch version number (bug fixes)
range: integer
required: false
examples:
- value: 0
description: Patch version 0
prerelease_tag:
description: Prerelease identifier (e.g., "alpha", "beta", "rc1")
range: string
required: false
examples:
- value: beta
description: Beta prerelease
- value: rc1
description: Release candidate 1
build_metadata:
description: Build metadata (e.g., git commit hash)
range: string
required: false
examples:
- value: "20230615.abc123"
description: Build date and commit hash
release_date:
description: Date this version was released
range: date
required: false
examples:
- value: "2023-06-15"
description: Release date
temporal_extent:
description: Validity period for this version (when deployed)
range: TimeSpan
required: false
examples:
- value:
begin_of_the_begin: "2023-06-15"
end_of_the_end: null
description: Version deployed since June 2023
annotations:
custodian_types: '["D"]'
custodian_types_rationale: Primarily used by digital platforms (D) for software versioning
specificity_score: 0.55
specificity_rationale: Moderately specific to software/document version contexts
slots:
version_string:
slot_uri: schema:version
description: Full version string
range: string
exact_mappings:
- schema:version
major_version:
slot_uri: doap:revision
description: Major version number
range: integer
minor_version:
description: Minor version number
range: integer
patch_version:
description: Patch version number
range: integer
prerelease_tag:
description: Prerelease identifier
range: string
build_metadata:
description: Build metadata
range: string
release_date:
slot_uri: schema:datePublished
description: Release date
range: date
exact_mappings:
- schema:datePublished