glam/schemas/20251121/linkml/modules/classes/TechnologicalInfrastructure.yaml
2026-01-17 00:08:39 +01:00

201 lines
7.3 KiB
YAML

# TechnologicalInfrastructure - Structured representation of technology stack components
#
# Created: 2026-01-16
# Rule compliance: 39 (RiC-O naming), 53 (no bespoke slots), 55 (broaden ranges), 56 (execute migrations)
# Migration: Replaces simple string-based technology_stack per slot_fixes.yaml
id: https://nde.nl/ontology/hc/class/TechnologicalInfrastructure
name: TechnologicalInfrastructure
title: Technological Infrastructure
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
doap: http://usefulinc.com/ns/doap#
spdx: http://spdx.org/rdf/terms#
skos: http://www.w3.org/2004/02/skos/core#
imports:
- linkml:types
- ./TechnologicalInfrastructureType
- ./TechnologicalInfrastructureTypes
- ../slots/has_or_had_identifier
- ../slots/has_or_had_label
- ../slots/has_or_had_description
- ../slots/has_or_had_type
- ../slots/includes_or_included
- ../slots/has_or_had_version
default_prefix: hc
classes:
TechnologicalInfrastructure:
class_uri: doap:Project
description: |
Structured representation of a technology component used in a digital platform.
**MIGRATION from technology_stack**:
This class replaces the simple string-based `technology_stack` slot with a
structured model that provides:
- Type classification via TechnologicalInfrastructureType hierarchy
- Version tracking
- Component composition (includes_or_included)
- Rich descriptions and provenance
**Ontological Alignment**:
- **Primary** (`class_uri`): `doap:Project` - DOAP vocabulary for software projects
- **Close**: `schema:SoftwareApplication` - Schema.org software application
- **Related**: `spdx:Package` - SPDX Software Bill of Materials
**Example Usage**:
```yaml
has_or_had_technological_infrastructure:
- has_or_had_identifier: tech-react-frontend
has_or_had_type: FrontendFramework
has_or_had_label: React
has_or_had_version: "18.2.0"
has_or_had_description: Frontend JavaScript library for building user interfaces
- has_or_had_identifier: tech-django-backend
has_or_had_type: BackendFramework
has_or_had_label: Django
has_or_had_version: "4.2"
has_or_had_description: Python web framework for rapid development
includes_or_included:
- Django REST Framework
- Django ORM
```
**Use Cases**:
- Document platform technology stacks for heritage digital platforms
- Track software versions for preservation and migration planning
- Model component dependencies
- Enable technology-based discovery of similar platforms
exact_mappings:
- doap:Project
close_mappings:
- schema:SoftwareApplication
related_mappings:
- spdx:Package
slots:
- has_or_had_identifier
- has_or_had_type
- has_or_had_label
- has_or_had_description
- has_or_had_version
- includes_or_included
slot_usage:
has_or_had_identifier:
identifier: true
required: true
description: Unique identifier for this technology component instance.
examples:
- value: "tech-react-18-frontend"
description: "React 18.x frontend component"
- value: "tech-postgresql-15-primary"
description: "PostgreSQL 15 primary database"
has_or_had_type:
range: TechnologicalInfrastructureType
required: true
description: |
Type classification for this technology component.
References TechnologicalInfrastructureType hierarchy.
examples:
- value: FrontendFramework
description: "React is a frontend framework"
- value: RelationalDatabase
description: "PostgreSQL is a relational database"
- value: SPARQLEndpoint
description: "SPARQL query endpoint"
has_or_had_label:
required: true
description: |
Human-readable name of the technology.
Use the commonly known name (e.g., "React", "PostgreSQL", "Django").
examples:
- value: "React"
description: "Frontend framework"
- value: "Python/Django"
description: "Backend stack (language/framework combo)"
- value: "Fedora Commons"
description: "Digital repository system"
has_or_had_description:
description: |
Description of how this technology is used in the platform context.
examples:
- value: "Frontend JavaScript framework for collection browsing interface"
description: "Platform-specific usage description"
has_or_had_version:
range: string
description: |
Version string for this technology component.
Use semantic versioning where applicable (e.g., "18.2.0", "4.2", "15.4").
examples:
- value: "18.2.0"
description: "React version"
- value: "4.2 LTS"
description: "Django LTS version"
- value: "15.4"
description: "PostgreSQL version"
includes_or_included:
range: string
multivalued: true
description: |
Sub-components or plugins included with this technology.
Enables modeling of technology stack composition.
examples:
- value: "Django REST Framework"
description: "REST API extension for Django"
- value: "React Router"
description: "Routing library for React"
comments:
- "MIGRATION: Replaces technology_stack slot per slot_fixes.yaml (2026-01-16)"
- "DOAP-aligned for software project descriptions"
- "Enables structured technology discovery and comparison"
- "Supports version tracking for preservation planning"
examples:
- value:
has_or_had_identifier: tech-react-18
has_or_had_type: FrontendFramework
has_or_had_label: React
has_or_had_version: "18.2.0"
has_or_had_description: Frontend JavaScript library for collection interface
description: "React frontend framework"
- value:
has_or_had_identifier: tech-django-backend
has_or_had_type: BackendFramework
has_or_had_label: Python/Django
has_or_had_version: "4.2"
has_or_had_description: Backend web framework for API and admin
includes_or_included:
- Django REST Framework
- Django ORM
- Celery
description: "Django backend with components"
- value:
has_or_had_identifier: tech-solr-search
has_or_had_type: SearchIndex
has_or_had_label: Apache Solr
has_or_had_version: "9.4"
has_or_had_description: Full-text search indexing for collection discovery
description: "Solr search index"
- value:
has_or_had_identifier: tech-fedora-repo
has_or_had_type: DigitalRepositorySystem
has_or_had_label: Fedora Commons
has_or_had_version: "6.5"
has_or_had_description: Digital asset repository for preservation
description: "Fedora digital repository"