glam/schemas/20251121/linkml/modules/classes/DigitalPlatformUserIdentifier.yaml

193 lines
5.7 KiB
YAML

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.7
specificity_rationale: Specific to digital platform user identification contexts.
custodian_types: "['*']"
custodian_types_rationale: Universal utility concept