201 lines
7.3 KiB
YAML
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"
|