glam/schemas/20251121/linkml/modules/classes/AppreciationEvent.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

96 lines
3.7 KiB
YAML

id: https://nde.nl/ontology/hc/class/AppreciationEvent
name: appreciation_event_class
title: Appreciation Event Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
as: https://www.w3.org/ns/activitystreams#
prov: http://www.w3.org/ns/prov#
imports:
- linkml:types
- ../metadata
- ../slots/has_or_had_quantity
- ../slots/has_or_had_unit
- ../slots/temporal_extent
default_prefix: hc
classes:
AppreciationEvent:
class_uri: as:Like
description: "Appreciation or engagement event for digital content.\n\n**PURPOSE**:\n\
\nStructured representation of appreciation metrics (likes, favorites,\nupvotes,\
\ reactions) for digital content such as videos, comments, and posts.\nReplaces\
\ simple integer counts with rich event data.\n\n**DESIGN RATIONALE**:\n\nCreated\
\ per slot_fixes.yaml migration from `comment_like_count` integer\nto structured\
\ `is_or_was_appreciated` + `AppreciationEvent` with\n`has_or_had_quantity`\
\ + `Quantity` for metric representation.\n\n**APPRECIATION TYPES**:\n\n| Type\
\ | Description | Platforms |\n|------|-------------|-----------|\n| like |\
\ Standard like/thumbs up | YouTube, Facebook, Instagram |\n| favorite | Favorite/bookmark\
\ | Twitter, YouTube |\n| upvote | Upvote/positive rating | Reddit, StackOverflow\
\ |\n| reaction | Emoji reaction | Facebook, Slack |\n| share | Share/repost\
\ | All platforms |\n\n**ONTOLOGY ALIGNMENT**:\n\n| Ontology | Class/Property\
\ | Usage |\n|----------|----------------|-------|\n| **Activity Streams** |\
\ `as:Like` | Social appreciation activity |\n| **Schema.org** | `schema:InteractionCounter`\
\ | Engagement metrics |\n| **PROV-O** | `prov:Activity` | Event modeling |\n\
\n**EXAMPLE**:\n\n```yaml\nis_or_was_appreciated:\n - appreciation_type: like\n\
\ has_or_had_quantity:\n numeric_value: 42\n has_or_had_unit:\n\
\ unit_label: \"likes\"\n temporal_extent:\n begin_of_the_begin:\
\ \"2025-01-14T10:00:00Z\"\n```\n"
exact_mappings:
- as:Like
close_mappings:
- schema:InteractionCounter
- prov:Activity
slots:
- has_or_had_quantity
- has_or_had_unit
- temporal_extent
slot_usage:
has_or_had_quantity:
range: integer
inlined: true
required: false
examples:
- value:
numeric_value: 42
has_or_had_unit:
unit_label: likes
has_or_had_unit:
range: string
inlined: true
required: false
examples:
- value:
unit_label: likes
temporal_extent:
range: TimeSpan
inlined: true
required: false
examples:
- value:
begin_of_the_begin: '2025-01-14T10:00:00Z'
examples:
- value: null
- value:
has_or_had_quantity:
numeric_value: 42
has_or_had_unit:
unit_label: likes
temporal_extent:
begin_of_the_begin: '2025-01-14T10:00:00Z'
- value: null
comments:
- Created 2026-01-22 from comment_like_count migration (Rule 53)
- Models appreciation metrics as structured events
- Supports multiple appreciation types (likes, favorites, etc.)
- Includes temporal observation tracking
see_also:
- https://www.w3.org/ns/activitystreams#Like
- https://schema.org/InteractionCounter
annotations:
custodian_types: '["*"]'
custodian_types_rationale: Universal - any custodian with digital content may
track appreciation.
specificity_score: '0.60'
specificity_rationale: Moderately specific - primarily for digital content engagement
contexts.