- Introduced `founding_date`, `founding_date_diocese`, and `fr` slots for capturing founding dates and French language text. - Created `collects_or_collected`, `has_or_had_objective`, `has_or_had_percentage`, `has_or_had_place`, `has_or_had_reply`, `has_or_had_web_page`, `is_or_was_acquired_by`, `is_or_was_appreciated`, `is_or_was_founded_through`, `is_or_was_part_of`, `is_or_was_part_of_total`, `start_of_the_start`, `takes_or_took_comission`, and `was_fetched_at` slots to enhance data modeling capabilities. - Each slot includes detailed descriptions, examples, and ontology alignments to ensure clarity and usability. - Migration notes added for slots transitioned from previous definitions to maintain historical context and facilitate understanding of changes.
171 lines
4.8 KiB
YAML
171 lines
4.8 KiB
YAML
# SourceCommentCount class
|
|
# Created per slot_fixes.yaml revision for: comments_fetched
|
|
#
|
|
# Represents comment count metadata from external sources
|
|
# MIGRATION NOTE (2026-01-22): Created as part of comments_fetched migration per Rule 53.
|
|
|
|
id: https://nde.nl/ontology/hc/class/SourceCommentCount
|
|
name: source_comment_count_class
|
|
title: Source Comment Count Class
|
|
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
hc: https://nde.nl/ontology/hc/
|
|
schema: http://schema.org/
|
|
prov: http://www.w3.org/ns/prov#
|
|
|
|
imports:
|
|
- linkml:types
|
|
- ../metadata
|
|
- ../slots/was_fetched_at
|
|
- ../slots/has_or_had_quantity
|
|
- ./Timestamp
|
|
- ./Quantity
|
|
|
|
default_prefix: hc
|
|
|
|
classes:
|
|
SourceCommentCount:
|
|
class_uri: hc:SourceCommentCount
|
|
description: |
|
|
Comment count metadata from an external source (API, web page).
|
|
|
|
**PURPOSE**:
|
|
|
|
Structured representation of comment retrieval metadata, tracking
|
|
how many comments were fetched versus the total available at the source.
|
|
Replaces simple integer count with rich provenance data.
|
|
|
|
**DESIGN RATIONALE**:
|
|
|
|
Created per slot_fixes.yaml migration from `comments_fetched` integer
|
|
to structured `was_fetched_at` + `Timestamp` + `is_or_was_part_of_total`
|
|
+ `SourceCommentCount` for complete retrieval tracking.
|
|
|
|
**USE CASES**:
|
|
|
|
- YouTube API: Track fetched comments vs total comment count
|
|
- Social media: Partial comment retrieval with pagination
|
|
- Web scraping: Track scraped vs visible comments
|
|
|
|
**EXAMPLE**:
|
|
|
|
```yaml
|
|
is_or_was_part_of_total:
|
|
fetched_count: 100
|
|
total_count: 500
|
|
fetch_complete: false
|
|
was_fetched_at:
|
|
has_or_had_timestamp: "2025-01-14T10:30:00Z"
|
|
```
|
|
|
|
close_mappings:
|
|
- schema:InteractionCounter
|
|
- prov:Entity
|
|
|
|
slots:
|
|
- was_fetched_at
|
|
- has_or_had_quantity
|
|
|
|
attributes:
|
|
fetched_count:
|
|
description: |
|
|
Number of items actually fetched/retrieved.
|
|
range: integer
|
|
required: true
|
|
minimum_value: 0
|
|
examples:
|
|
- value: 100
|
|
description: 100 comments fetched
|
|
|
|
total_count:
|
|
description: |
|
|
Total number of items available at the source.
|
|
May be null if source doesn't provide total.
|
|
range: integer
|
|
required: false
|
|
minimum_value: 0
|
|
examples:
|
|
- value: 500
|
|
description: 500 total comments at source
|
|
|
|
fetch_complete:
|
|
description: |
|
|
Whether all available items were fetched.
|
|
True if fetched_count equals total_count.
|
|
range: boolean
|
|
required: false
|
|
ifabsent: "false"
|
|
examples:
|
|
- value: true
|
|
description: All comments fetched
|
|
- value: false
|
|
description: Partial fetch
|
|
|
|
source_api:
|
|
description: |
|
|
API or source from which data was fetched.
|
|
range: string
|
|
required: false
|
|
examples:
|
|
- value: "youtube_data_api_v3"
|
|
description: YouTube Data API
|
|
- value: "web_scrape"
|
|
description: Web scraping
|
|
|
|
slot_usage:
|
|
was_fetched_at:
|
|
description: |
|
|
When the comments were fetched from the source.
|
|
range: Timestamp
|
|
inlined: true
|
|
required: false
|
|
examples:
|
|
- value:
|
|
has_or_had_timestamp: "2025-01-14T10:30:00Z"
|
|
description: Fetch timestamp
|
|
|
|
has_or_had_quantity:
|
|
description: |
|
|
Alternative structured representation of count.
|
|
Use fetched_count for simple integer.
|
|
range: Quantity
|
|
inlined: true
|
|
required: false
|
|
|
|
examples:
|
|
- value:
|
|
fetched_count: 100
|
|
total_count: 500
|
|
fetch_complete: false
|
|
source_api: "youtube_data_api_v3"
|
|
was_fetched_at:
|
|
has_or_had_timestamp: "2025-01-14T10:30:00Z"
|
|
description: Partial comment fetch from YouTube API
|
|
|
|
- value:
|
|
fetched_count: 50
|
|
total_count: 50
|
|
fetch_complete: true
|
|
description: Complete comment fetch
|
|
|
|
- value:
|
|
fetched_count: 0
|
|
description: No comments fetched (minimal)
|
|
|
|
comments:
|
|
- Created 2026-01-22 from comments_fetched migration (Rule 53)
|
|
- Tracks fetched vs total comment counts
|
|
- Includes fetch timestamp for provenance
|
|
- Supports partial/paginated data retrieval
|
|
|
|
see_also:
|
|
- https://schema.org/InteractionCounter
|
|
|
|
annotations:
|
|
custodian_types: '["*"]'
|
|
custodian_types_rationale: >-
|
|
Universal - any custodian with video/social media content.
|
|
specificity_score: "0.70"
|
|
specificity_rationale: >-
|
|
Specific to video/social media comment fetching contexts.
|