glam/schemas/20251121/linkml/modules/classes/DigitalPlatformUserIdentifier.yaml
kempersc ba2c766dd0 Add new slots and update existing ones following RiC-O temporal naming conventions
- 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.
2026-01-22 15:15:56 +01:00

181 lines
6 KiB
YAML

# DigitalPlatformUserIdentifier class
#
# Created per slot_fixes.yaml revision for: comment_author_channel_id
# Migration date: 2026-01-22
# Rule reference: Rule 53, Rule 56
id: https://nde.nl/ontology/hc/class/DigitalPlatformUserIdentifier
name: digital_platform_user_identifier_class
title: Digital Platform User Identifier Class
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
foaf: http://xmlns.com/foaf/0.1/
as: https://www.w3.org/ns/activitystreams#
imports:
- linkml:types
- ../metadata
- ../slots/has_or_had_label
- ../slots/has_or_had_identifier
- ./Identifier
default_prefix: hc
classes:
DigitalPlatformUserIdentifier:
is_a: Identifier
class_uri: hc:DigitalPlatformUserIdentifier
description: |
Identifier for a user account on a digital platform (YouTube, Twitter, etc.).
**PURPOSE**:
Structured representation of platform-specific user identifiers,
such as YouTube channel IDs, Twitter handles, or Instagram usernames.
Replaces simple string channel_id slots with typed identifiers.
**DESIGN RATIONALE**:
Created per slot_fixes.yaml migration from `comment_author_channel_id` string
to structured `has_or_had_author` + `Author` with `has_or_had_identifier` +
`DigitalPlatformUserIdentifier` for platform user identification.
**PLATFORM IDENTIFIER TYPES**:
| Platform | Identifier Type | Example |
|----------|-----------------|---------|
| YouTube | Channel ID | UC1234abcdef |
| Twitter/X | User ID | 12345678 |
| Instagram | Username | @museum_account |
| Facebook | Page ID | 123456789 |
| LinkedIn | Company ID | heritage-foundation |
| TikTok | User ID | museum_official |
**ONTOLOGY ALIGNMENT**:
| Ontology | Class/Property | Usage |
|----------|----------------|-------|
| **Dublin Core** | `dcterms:identifier` | Base identifier semantics |
| **Schema.org** | `schema:identifier` | Web-standard identifier |
| **FOAF** | `foaf:OnlineAccount` | Online account modeling |
| **Activity Streams** | `as:Person` | Social media activity |
exact_mappings:
- foaf:OnlineAccount
close_mappings:
- schema:identifier
related_mappings:
- dcterms:identifier
- as:actor
attributes:
platform_type:
description: |
Type of digital platform (YouTube, Twitter, Instagram, etc.).
range: string
required: true
examples:
- value: "youtube"
- value: "twitter"
- value: "instagram"
- value: "facebook"
- value: "linkedin"
- value: "tiktok"
platform_user_id:
description: |
Platform-specific user/channel/account identifier.
range: string
required: true
examples:
- value: "UC1234abcdefghijk"
description: YouTube channel ID
- value: "12345678"
description: Twitter numeric user ID
- value: "museum_official"
description: TikTok username
platform_username:
description: |
Human-readable username or handle on the platform.
May differ from platform_user_id.
range: string
required: false
examples:
- value: "@rijksmuseum"
description: Twitter handle
- value: "MuseumFan2024"
description: YouTube display name
profile_url:
description: |
URL to the user's profile page on the platform.
range: uri
required: false
examples:
- value: "https://www.youtube.com/channel/UC1234abcdef"
- value: "https://twitter.com/rijksmuseum"
slot_usage:
identifier_scheme:
description: |
Platform identifier scheme. Use lowercase platform name.
Examples: youtube_channel_id, twitter_user_id, instagram_username
ifabsent: "string(digital_platform_user_id)"
examples:
- value: "youtube_channel_id"
- value: "twitter_user_id"
identifier_value:
description: |
The actual platform user identifier value.
Inherited from Identifier class.
examples:
- value: "UC1234abcdefghijk"
description: YouTube channel ID
examples:
- value:
identifier_scheme: youtube_channel_id
identifier_value: "UCsT0YIqwnpJCM-mx7-gSA4Q"
platform_type: "youtube"
platform_user_id: "UCsT0YIqwnpJCM-mx7-gSA4Q"
platform_username: "TEDx Talks"
profile_url: "https://www.youtube.com/channel/UCsT0YIqwnpJCM-mx7-gSA4Q"
description: YouTube channel identifier with full metadata
- value:
identifier_scheme: twitter_user_id
identifier_value: "12345678"
platform_type: "twitter"
platform_user_id: "12345678"
platform_username: "@rijksmuseum"
profile_url: "https://twitter.com/rijksmuseum"
description: Twitter user identifier
- value:
identifier_scheme: youtube_channel_id
identifier_value: "UC1234abcdef"
platform_type: "youtube"
platform_user_id: "UC1234abcdef"
description: Minimal YouTube channel identifier (just ID)
comments:
- Created per slot_fixes.yaml migration from comment_author_channel_id (2026-01-22)
- Extends Identifier class with platform-specific fields
- Use for identifying users/authors on digital platforms
- Supports YouTube, Twitter, Instagram, Facebook, LinkedIn, TikTok
see_also:
- http://xmlns.com/foaf/0.1/OnlineAccount
- https://www.w3.org/ns/activitystreams
- https://developers.google.com/youtube/v3/docs/channels
annotations:
specificity_score: 0.70
specificity_rationale: >-
Specific to digital platform user identification contexts.