glam/schemas/20251121/linkml/modules/classes/VideoFrame.yaml
kempersc fc405445c6 Refactor and update schema definitions
- Removed obsolete slots: `has_or_had_custodian_observation`, `provider`, and `specificity_annotation`.
- Updated `has_or_had_score` slot to use `SpecificityScore` class and modified its description and examples.
- Added new slots: `end_seconds`, `end_time`, `has_archive_path`, `has_or_had_custodian_name`, `protocol_name`, and `protocol_version`.
- Introduced a script `check_annotation_types.py` to validate the presence and structure of `custodian_types` in YAML files.
- Added a script `update_specificity.py` to automate updates related to `SpecificityAnnotation` to `SpecificityScore`.
2026-02-01 19:55:38 +01:00

95 lines
2.8 KiB
YAML

id: https://nde.nl/ontology/hc/class/VideoFrame
name: VideoFrame
title: VideoFrame Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
oa: http://www.w3.org/ns/oa#
imports:
- linkml:types
- ../slots/has_or_had_quantity
- ../slots/has_or_had_unit
default_prefix: hc
classes:
VideoFrame:
class_uri: schema:VideoObject
description: 'A video frame or set of frames analyzed during video processing.
**PURPOSE**:
Represents frames from a video that have been analyzed by computer vision
or multimodal AI models. Used to track frame-based analysis parameters
such as sample rate (frames per second analyzed) and total frames processed.
**USE CASES**:
- Video annotation (object detection, scene analysis)
- Frame sampling configuration
- Analysis throughput tracking
- Computer vision pipeline configuration
**FRAME SAMPLE RATE**:
The sample rate determines how many frames are analyzed per second of video:
| Sample Rate | Frames/sec | Use Case |
|-------------|------------|----------|
| 0.1 fps | 1 every 10s | Overview/thumbnails |
| 1.0 fps | 1 per second | Standard analysis |
| 5.0 fps | 5 per second | Detailed analysis |
| 30.0 fps | Every frame | Exhaustive analysis |
Higher sample rates capture more detail but increase compute cost.
**MIGRATION SUPPORT**:
This class supports migration from the frame_sample_rate slot per
slot_fixes.yaml. Use with has_or_had_quantity + Quantity + has_or_had_unit + Unit.
'
exact_mappings:
- oa:Target
close_mappings:
- schema:VideoObject
slots:
- has_or_had_quantity
- has_or_had_unit
slot_usage:
has_or_had_quantity:
range: integer
inlined: true
multivalued: false
examples:
- value: 'has_or_had_unit:
'
- value: "has_or_had_unit:\n has_or_had_label:\n - label_text: \"frames per second\"\n"
has_or_had_unit:
range: string
inlined: true
annotations:
custodian_types: '["D"]'
custodian_types_rationale: Video frames are primarily relevant for digital platforms (D) that host or process video
content.
custodian_types_primary: D
specificity_score: 0.7
specificity_rationale: Moderately specific - applies only to video analysis contexts.
examples:
- value: "VideoFrame:\n has_or_had_quantity:\n has_or_had_unit:\n"
- value: "VideoFrame:\n has_or_had_quantity:\n has_or_had_unit:\n"
comments:
- Created from slot_fixes.yaml migration (2026-01-22)
- Use with analyzes_or_analyzed slot to track frame analysis
- Sample rate affects both coverage and compute cost