glam/schemas/20251121/linkml/modules/classes/TechnologicalInfrastructure.yaml

110 lines
4.5 KiB
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
- ../slots/has_description
- ../slots/identified_by
- ../slots/has_label
- ../slots/has_type
- ../slots/has_version
- ../slots/include
default_prefix: hc
classes:
TechnologicalInfrastructure:
class_uri: doap:Project
description: "Structured representation of a technology component used in a digital platform.\n\n**MIGRATION from technology_stack**:\nThis class replaces the simple string-based `technology_stack` slot with a\nstructured model that provides:\n- Type classification via TechnologicalInfrastructureType hierarchy\n- Version tracking\n- Component composition (include)\n- Rich descriptions and provenance\n\n**Ontological Alignment**:\n- **Primary** (`class_uri`): `doap:Project` - DOAP vocabulary for software projects\n- **Close**: `schema:SoftwareApplication` - Schema.org software application\n- **Related**: `spdx:Package` - SPDX Software Bill of Materials\n\n**Example Usage**:\n```yaml\nhas_technological_infrastructure:\n - identified_by: tech-react-frontend\n has_type: FrontendFramework\n has_label: React\n has_version: \"18.2.0\"\n has_description: Frontend JavaScript library for building user interfaces\n - identified_by:\
\ tech-django-backend\n has_type: BackendFramework\n has_label: Django\n has_version: \"4.2\"\n has_description: Python web framework for rapid development\n include:\n - Django REST Framework\n - Django ORM\n```\n\n**Use Cases**:\n- Document platform technology stacks for heritage digital platforms\n- Track software versions for preservation and migration planning\n- Model component dependencies\n- Enable technology-based discovery of similar platforms\n"
exact_mappings:
- doap:Project
close_mappings:
- schema:SoftwareApplication
related_mappings:
- spdx:Package
slots:
- identified_by
- has_type
- has_label
- has_description
- has_version
- include
slot_usage:
identified_by:
identifier: true
required: true
examples:
- value: tech-react-18-frontend
- value: tech-postgresql-15-primary
has_type:
# range: string # uriorcurie
required: true
examples:
- value: FrontendFramework
- value: RelationalDatabase
- value: SPARQLEndpoint
has_label:
required: true
examples:
- value: React
- value: Python/Django
- value: Fedora Commons
has_description:
examples:
- value: Frontend JavaScript framework for collection browsing interface
has_version:
# range: string
examples:
- value: 18.2.0
- value: 4.2 LTS
- value: '15.4'
include:
# range: string
multivalued: true
examples:
- value: Django REST Framework
- value: React Router
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:
identified_by: tech-react-18
has_type: FrontendFramework
has_label: React
has_version: 18.2.0
has_description: Frontend JavaScript library for collection interface
- value:
identified_by: tech-django-backend
has_type: BackendFramework
has_label: Python/Django
has_version: '4.2'
has_description: Backend web framework for API and admin
include:
- Django REST Framework
- Django ORM
- Celery
- value:
identified_by: tech-solr-search
has_type: SearchIndex
has_label: Apache Solr
has_version: '9.4'
has_description: Full-text search indexing for collection discovery
- value:
identified_by: tech-fedora-repo
has_type: DigitalRepositorySystem
has_label: Fedora Commons
has_version: '6.5'
has_description: Digital asset repository for preservation
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types: "['*']"