glam/schemas/20251121/linkml/modules/classes/AppreciationEvent.yaml
kempersc 1516d509cf Add metadata to LinkML class definitions and update prefixes
- Added `id`, `name`, `title`, and `description` fields to multiple LinkML class YAML files.
- Standardized prefixes across all class definitions.
- Introduced a new script `fix_linkml_metadata.py` to automate the addition of metadata to class files.
- Updated existing class files to ensure compliance with the new metadata structure.
2026-01-29 17:40:47 +01:00

205 lines
6.3 KiB
YAML

id: https://nde.nl/ontology/hc/class/AppreciationEvent
name: AppreciationEvent
title: Appreciation Event
description: LinkML class definition for Appreciation Event
prefixes:
linkml: https://w3id.org/linkml/
schema: http://schema.org/
skos: http://www.w3.org/2004/02/skos/core#
rico: https://www.ica.org/standards/RiC/ontology#
wd: http://www.wikidata.org/entity/
# AppreciationEvent class
# Created per slot_fixes.yaml revision for: comment_like_count
#
# Represents appreciation/engagement events on digital content
# MIGRATION NOTE (2026-01-22): Created as part of comment_like_count migration per Rule 53.
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
- ./Quantity
- ./Unit
- ./TimeSpan
default_prefix: hc
classes:
AppreciationEvent:
class_uri: as:Like
description: |
Appreciation or engagement event for digital content.
**PURPOSE**:
Structured representation of appreciation metrics (likes, favorites,
upvotes, reactions) for digital content such as videos, comments, and posts.
Replaces simple integer counts with rich event data.
**DESIGN RATIONALE**:
Created per slot_fixes.yaml migration from `comment_like_count` integer
to structured `is_or_was_appreciated` + `AppreciationEvent` with
`has_or_had_quantity` + `Quantity` for metric representation.
**APPRECIATION TYPES**:
| Type | Description | Platforms |
|------|-------------|-----------|
| like | Standard like/thumbs up | YouTube, Facebook, Instagram |
| favorite | Favorite/bookmark | Twitter, YouTube |
| upvote | Upvote/positive rating | Reddit, StackOverflow |
| reaction | Emoji reaction | Facebook, Slack |
| share | Share/repost | All platforms |
**ONTOLOGY ALIGNMENT**:
| Ontology | Class/Property | Usage |
|----------|----------------|-------|
| **Activity Streams** | `as:Like` | Social appreciation activity |
| **Schema.org** | `schema:InteractionCounter` | Engagement metrics |
| **PROV-O** | `prov:Activity` | Event modeling |
**EXAMPLE**:
```yaml
is_or_was_appreciated:
- appreciation_type: like
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"
```
exact_mappings:
- as:Like
close_mappings:
- schema:InteractionCounter
- prov:Activity
slots:
- has_or_had_quantity
- has_or_had_unit
- temporal_extent
attributes:
appreciation_type:
description: |
Type of appreciation (like, favorite, upvote, reaction, share).
range: string
required: true
examples:
- value: "like"
description: Standard like/thumbs up
- value: "favorite"
description: Favorite/bookmark
- value: "upvote"
description: Upvote rating
- value: "reaction"
description: Emoji reaction
- value: "share"
description: Share/repost
appreciation_count:
description: |
Simple count of appreciations (shorthand for has_or_had_quantity.numeric_value).
Use has_or_had_quantity for structured representation with unit.
range: integer
required: false
minimum_value: 0
examples:
- value: 42
description: 42 likes
slot_usage:
has_or_had_quantity:
description: |
Structured quantity for the appreciation count.
Use Quantity class with numeric_value and has_or_had_unit.
range: Quantity
inlined: true
required: false
examples:
- value:
numeric_value: 42
has_or_had_unit:
unit_label: "likes"
description: 42 likes using Quantity class
has_or_had_unit:
description: |
Unit for the appreciation type (likes, favorites, etc.).
Can be specified directly or via has_or_had_quantity.has_or_had_unit.
range: Unit
inlined: true
required: false
examples:
- value:
unit_label: "likes"
description: Likes unit
temporal_extent:
description: |
Time when the appreciation count was observed/recorded.
range: TimeSpan
inlined: true
required: false
examples:
- value:
begin_of_the_begin: "2025-01-14T10:00:00Z"
description: Observation timestamp
examples:
- value:
appreciation_type: "like"
appreciation_count: 42
description: Simple like count (minimal)
- value:
appreciation_type: "like"
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"
description: Full structured like count with timestamp
- value:
appreciation_type: "favorite"
appreciation_count: 15
description: Favorite count
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.