63 lines
3.7 KiB
YAML
63 lines
3.7 KiB
YAML
id: https://nde.nl/ontology/hc/class/Thumbnail
|
|
name: Thumbnail
|
|
title: Thumbnail Media Reference
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
hc: https://nde.nl/ontology/hc/
|
|
schema: http://schema.org/
|
|
foaf: http://xmlns.com/foaf/0.1/
|
|
prov: http://www.w3.org/ns/prov#
|
|
default_prefix: hc
|
|
imports:
|
|
- linkml:types
|
|
- ../slots/derive_from
|
|
- ../slots/has_time_interval
|
|
- ../slots/has_url
|
|
classes:
|
|
Thumbnail:
|
|
class_uri: schema:ImageObject
|
|
description: "Structured thumbnail media reference.\n\n**DEFINITION**:\nA thumbnail is a reduced-size version of an image or video frame,\ntypically used for preview purposes in search results, galleries,\nand navigation interfaces.\n\n**DERIVATION FROM VIDEO** (2026-01-19 migration):\nWhen a thumbnail is extracted from a video, use:\n- `derive_from` \u2192 Video (source video reference)\n- `has_time_interval` \u2192 TimeInterval (frame timestamp)\n\nThis replaces the deprecated `chapter_thumbnail_timestamp` float field\nwith a structured representation that supports:\n- Explicit source video reference (provenance)\n- Precise timestamp with ISO 8601 duration format\n- Multiple timestamp formats (seconds, HH:MM:SS, ISO duration)\n\n**CONSISTENCY PATTERN** (Rule 56):\nUses structured class rather than simple URL for consistency with\nother media reference patterns and extensibility:\n\n| Slot | Class | Purpose |\n|------|-------|---------|\n| has_image | Image\
|
|
\ | Full-size images |\n| has_video | Video | Video resources |\n| has_audio | Audio | Audio resources |\n| has_thumbnail | Thumbnail | Preview images |\n\n**EXTENSIBILITY**:\nStructured class enables future metadata:\n- Image dimensions (width, height)\n- Alternative text for accessibility\n- Format (JPEG, PNG, WebP)\n- Generation timestamp\n- Source image/video reference\n\n**ONTOLOGY ALIGNMENT**:\n- **Primary**: `schema:ImageObject` (Schema.org)\n- **Close**: `foaf:Image` (FOAF)\n- **Derivation**: `prov:wasDerivedFrom` (PROV-O)\n"
|
|
slots:
|
|
- has_url
|
|
- derive_from
|
|
- has_time_interval
|
|
slot_usage:
|
|
has_url:
|
|
required: true
|
|
examples:
|
|
- value: https://i.ytimg.com/vi/ABC123/hq1.jpg
|
|
derive_from:
|
|
range: Video
|
|
inlined: true
|
|
required: false
|
|
examples:
|
|
- value:
|
|
has_url: https://www.youtube.com/watch?v=ABC123
|
|
has_time_interval:
|
|
description: "Timestamp in the source video from which this thumbnail was extracted.\nCaptures the frame time as a duration from video start.\n\n**MIGRATION NOTE**: Replaces deprecated `chapter_thumbnail_timestamp` float.\nThe float value (seconds) should be converted to ISO 8601 duration format.\n\nExample conversions:\n- 122.5 seconds \u2192 PT2M2.5S (2 minutes, 2.5 seconds)\n- 3600 seconds \u2192 PT1H (1 hour)\n"
|
|
range: TimeInterval
|
|
inlined: true
|
|
required: false
|
|
examples:
|
|
- value:
|
|
duration_description: Thumbnail from 2:02.5 in video
|
|
exact_mappings:
|
|
- foaf:Image
|
|
annotations:
|
|
specificity_score: '0.40'
|
|
specificity_rationale: Medium specificity - thumbnails used broadly for media preview.
|
|
migration_date: '2026-01-16'
|
|
migration_updated: '2026-01-19'
|
|
migration_rule: Rule 53 (no bespoke slots), Rule 56 (semantic consistency)
|
|
custodian_types: "['*']"
|
|
examples:
|
|
- value:
|
|
has_url: https://example.org/thumbnails/rijksmuseum-night-watch-thumb.jpg
|
|
- value:
|
|
has_url: https://i.ytimg.com/vi/ABC123/hq1.jpg
|
|
derive_from:
|
|
has_url: https://www.youtube.com/watch?v=ABC123
|
|
has_time_interval:
|
|
duration_description: Frame at 2:02.5
|
|
description: 'Video-derived thumbnail with timestamp (replaces chapter_thumbnail_timestamp: 122.5)'
|