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