- Updated WorldCatIdentifier.yaml to remove unnecessary description and ensure consistent formatting. - Enhanced WorldHeritageSite.yaml by breaking long description into multiple lines for better readability and removed unused attributes. - Simplified WritingSystem.yaml by removing redundant attributes and ensuring consistent formatting. - Cleaned up XPathScore.yaml by removing unnecessary attributes and ensuring consistent formatting. - Improved YoutubeChannel.yaml by breaking long description into multiple lines for better readability. - Enhanced YoutubeEnrichment.yaml by breaking long description into multiple lines for better readability. - Updated YoutubeVideo.yaml to break long description into multiple lines and removed legacy field name. - Refined has_or_had_affiliation.yaml by removing unnecessary comments and ensuring clarity. - Cleaned up is_or_was_retrieved_at.yaml by removing unnecessary comments and ensuring clarity. - Added rules for generic slots and avoiding rough edits in schema files to maintain structural integrity. - Introduced changes_or_changed_through.yaml to define a new slot for linking entities to change events.
163 lines
5.2 KiB
YAML
163 lines
5.2 KiB
YAML
id: https://nde.nl/ontology/hc/classes/YoutubeVideo
|
|
name: YoutubeVideo
|
|
title: YoutubeVideo
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
hc: https://nde.nl/ontology/hc/
|
|
schema: http://schema.org/
|
|
prov: http://www.w3.org/ns/prov#
|
|
xsd: http://www.w3.org/2001/XMLSchema#
|
|
imports:
|
|
- linkml:types
|
|
- ../slots/has_or_had_language
|
|
- ./Language
|
|
- ./Quantity
|
|
- ./SourceCommentCount
|
|
- ./Tag
|
|
- ./Timestamp
|
|
- ./YoutubeComment
|
|
- ./YoutubeTranscript
|
|
- ./Resolution
|
|
default_range: string
|
|
classes:
|
|
YoutubeVideo:
|
|
description: "Individual YouTube video metadata including video ID, title, description, view/like/comment counts, duration,\
|
|
\ thumbnail, tags, and associated comments and transcripts.\nOntology mapping rationale: - class_uri is schema:VideoObject\
|
|
\ because this represents a video\n as a media object on YouTube.\n- close_mappings includes schema:MediaObject as\
|
|
\ the broader media\n object category.\n- related_mappings includes prov:Entity for provenance tracking and\n schema:CreativeWork\
|
|
\ as videos are creative works."
|
|
class_uri: schema:VideoObject
|
|
close_mappings:
|
|
- schema:MediaObject
|
|
related_mappings:
|
|
- prov:Entity
|
|
- schema:CreativeWork
|
|
attributes:
|
|
video_id:
|
|
range: string
|
|
required: true
|
|
video_url:
|
|
range: uri
|
|
title:
|
|
range: string
|
|
published_at:
|
|
range: datetime
|
|
view_count:
|
|
range: integer
|
|
like_count:
|
|
range: integer
|
|
has_or_had_quantity:
|
|
range: integer
|
|
multivalued: true
|
|
inlined_as_list: true
|
|
description: 'MIGRATED from comment_count (2026-01-18, Rule 53).
|
|
|
|
Quantified metrics for video content using structured Quantity class.
|
|
|
|
Supports measurement unit and temporal extent for point-in-time observation.
|
|
|
|
'
|
|
video_description:
|
|
range: string
|
|
duration:
|
|
range: string
|
|
description: ISO 8601 duration format
|
|
thumbnail_url:
|
|
range: uri
|
|
has_or_had_resolution:
|
|
range: Resolution
|
|
inlined: true
|
|
description: 'Video resolution/quality. MIGRATED from ''definition'' slot per Rule 53.
|
|
|
|
Uses Resolution class with resolution_class (hd, sd, 4k, 8k), width, height.
|
|
|
|
'
|
|
caption_available:
|
|
range: boolean
|
|
description: Whether captions are available
|
|
is_or_was_categorized_as:
|
|
range: Tag
|
|
multivalued: true
|
|
inlined_as_list: true
|
|
description: 'Video tags - migrated from string tag attribute to structured Tag class.
|
|
|
|
Enables rich tag metadata including platform, hashtag flags, multilingual labels.
|
|
|
|
'
|
|
has_or_had_language:
|
|
range: string
|
|
inlined: true
|
|
multivalued: true
|
|
description: 'Language information for video content.
|
|
|
|
MIGRATED from default_language and default_audio_language per Rule 53.
|
|
|
|
Use language_purpose to distinguish content vs audio language.
|
|
|
|
'
|
|
category_id:
|
|
range: string
|
|
description: YouTube category ID
|
|
live_broadcast_content:
|
|
range: string
|
|
description: Live broadcast status (none, live, upcoming)
|
|
comments:
|
|
range: YoutubeComment
|
|
multivalued: true
|
|
inlined_as_list: true
|
|
description: Comments on the video
|
|
was_fetched_at:
|
|
range: Timestamp
|
|
inlined: true
|
|
description: 'MIGRATED from comments_fetched per slot_fixes.yaml (Rule 53, 2026-01-22).
|
|
|
|
Timestamp when comments were fetched from YouTube API.
|
|
|
|
'
|
|
is_or_was_part_of_total:
|
|
range: SourceCommentCount
|
|
inlined: true
|
|
description: 'MIGRATED from comments_fetched per slot_fixes.yaml (Rule 53, 2026-01-22).
|
|
|
|
Structured count metadata showing fetched vs total comments.
|
|
|
|
'
|
|
transcript:
|
|
range: YoutubeTranscript
|
|
description: Video transcript data
|
|
tags:
|
|
range: string
|
|
multivalued: true
|
|
inlined_as_list: true
|
|
description: Video tags as simple strings (legacy field, prefer is_or_was_categorized_as)
|
|
channel_id:
|
|
range: string
|
|
description: YouTube channel ID that uploaded the video
|
|
channel_name:
|
|
range: string
|
|
description: YouTube channel name that uploaded the video
|
|
youtube_url:
|
|
range: uri
|
|
description: Full YouTube video URL
|
|
description_from_page:
|
|
range: string
|
|
description: Video description extracted from embedding page
|
|
heritage_topic:
|
|
range: string
|
|
description: Heritage topic classification (e.g., WWII_commemoration, archaeology)
|
|
ontology_type:
|
|
range: string
|
|
description: Ontology type annotation (e.g., schema:VideoObject)
|
|
status:
|
|
range: string
|
|
description: Video availability status (e.g., available, unavailable, private)
|
|
year:
|
|
range: string
|
|
any_of:
|
|
- range: integer
|
|
- range: string
|
|
description: Year the video was published or the year of the heritage event covered (can be string or integer)
|
|
annotations:
|
|
specificity_score: 0.1
|
|
specificity_rationale: Generic utility class/slot created during migration
|
|
custodian_types: '[''*'']'
|