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

155 lines
6.7 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
- ./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.\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 (includes_or_included)\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_or_had_technological_infrastructure:\n - has_or_had_identifier: tech-react-frontend\n has_or_had_type: FrontendFramework\n has_or_had_label: React\n has_or_had_version: \"18.2.0\"\n has_or_had_description: Frontend JavaScript library for building user interfaces\n - has_or_had_identifier:\
\ tech-django-backend\n has_or_had_type: BackendFramework\n has_or_had_label: Django\n has_or_had_version: \"4.2\"\n has_or_had_description: Python web framework for rapid development\n includes_or_included:\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:
- 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
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types: "['*']"
custodian_types_rationale: Universal utility concept