193 lines
5.7 KiB
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
|