103 lines
3.2 KiB
YAML
103 lines
3.2 KiB
YAML
# YoutubeVideo - Individual YouTube video metadata
|
|
# Extracted from custodian_source.yaml per Rule 38 (modular schema files)
|
|
# Extraction date: 2026-01-08
|
|
|
|
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
|
|
- ./Tag # for tag migration per Rule 53/56 (2026-01-16)
|
|
|
|
- ./YoutubeComment
|
|
- ./YoutubeTranscript
|
|
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.
|
|
|
|
Ontology mapping rationale:
|
|
- class_uri is schema:VideoObject because this represents a video
|
|
as a media object on YouTube.
|
|
- close_mappings includes schema:MediaObject as the broader media
|
|
object category.
|
|
- related_mappings includes prov:Entity for provenance tracking and
|
|
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
|
|
comment_count:
|
|
range: integer
|
|
video_description:
|
|
range: string
|
|
duration:
|
|
range: string
|
|
description: ISO 8601 duration format
|
|
thumbnail_url:
|
|
range: uri
|
|
definition:
|
|
range: string
|
|
description: Video quality (hd, sd)
|
|
caption_available:
|
|
range: boolean
|
|
description: Whether captions are available
|
|
# was: tag (string) - migrated per Rule 53/56 (2026-01-16)
|
|
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.
|
|
default_language:
|
|
range: string
|
|
description: Default language code
|
|
default_audio_language:
|
|
range: string
|
|
description: Default audio language code
|
|
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
|
|
comments_fetched:
|
|
range: integer
|
|
description: Number of comments fetched
|
|
transcript:
|
|
range: YoutubeTranscript
|
|
description: Video transcript data
|