glam/schemas/20251121/linkml/modules/classes/VideoComment.yaml
kempersc 174a420c08
All checks were successful
Deploy Frontend / build-and-deploy (push) Successful in 3m57s
refactor(schema): centralize 1515 inline slot definitions per Rule 48
- Remove inline slot definitions from 144 class files
- Create 7 new centralized slot files in modules/slots/:
  - custodian_type_broader.yaml
  - custodian_type_narrower.yaml
  - custodian_type_related.yaml
  - definition.yaml
  - finding_aid_access_restriction.yaml
  - finding_aid_description.yaml
  - finding_aid_temporal_coverage.yaml
- Add centralize_inline_slots.py automation script
- Update manifest with new timestamp

Rule 48: Class files must NOT define inline slots - all slots
must be imported from modules/slots/ directory.

Note: Pre-existing IdentifierFormat duplicate class definition
(in Standard.yaml and IdentifierFormat.yaml) not addressed in
this commit - requires separate schema refactor.
2026-01-11 22:02:14 +01:00

107 lines
3 KiB
YAML

id: https://nde.nl/ontology/hc/class/VideoComment
name: video_comment_class
title: Video Comment Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
as: https://www.w3.org/ns/activitystreams#
imports:
- linkml:types
- ../slots/specificity_annotation
- ./SpecificityAnnotation
- ../slots/template_specificity
- ./TemplateSpecificityScores
- ../slots/comment_author
- ../slots/comment_author_channel_id
- ../slots/comment_id
- ../slots/comment_like_count
- ../slots/comment_published_at
- ../slots/has_or_had_comment_reply
- ../slots/comment_reply_count
- ../slots/comment_text
- ../slots/comment_updated_at
default_prefix: hc
classes:
VideoComment:
class_uri: schema:Comment
description: 'A comment on a video post.
Models user-generated comments with author, text, timestamp,
and engagement metrics. Supports nested reply threads.
'
exact_mappings:
- schema:Comment
- as:Note
slots:
- comment_author
- comment_author_channel_id
- comment_id
- comment_like_count
- comment_published_at
- has_or_had_comment_reply
- comment_reply_count
- comment_text
- comment_updated_at
- specificity_annotation
- template_specificity
slot_usage:
comment_id:
slot_uri: dcterms:identifier
description: Unique identifier for the comment
range: string
required: true
comment_author:
slot_uri: schema:author
description: Display name of comment author
range: string
required: true
comment_author_channel_id:
slot_uri: hc:authorChannelId
description: Platform channel/account ID of author
range: string
required: false
comment_text:
slot_uri: schema:text
description: Full text content of the comment
range: string
required: true
comment_published_at:
slot_uri: dcterms:created
description: When comment was originally posted
range: datetime
required: true
comment_updated_at:
slot_uri: dcterms:modified
description: When comment was last edited
range: datetime
required: false
comment_like_count:
slot_uri: hc:likeCount
description: Number of likes on this comment
range: integer
required: false
minimum_value: 0
comment_reply_count:
slot_uri: hc:replyCount
description: Number of replies to this comment
range: integer
required: false
minimum_value: 0
has_or_had_comment_reply:
slot_uri: schema:comment
description: Nested reply comments
range: VideoComment
multivalued: true
required: false
inlined: true
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
inlined: true