261 lines
15 KiB
YAML
261 lines
15 KiB
YAML
id: https://nde.nl/ontology/hc/class/PrimaryDigitalPresenceAssertion
|
|
name: primary_digital_presence_assertion
|
|
title: PrimaryDigitalPresenceAssertion Class
|
|
imports:
|
|
- linkml:types
|
|
- ./WebObservation
|
|
- ./TimeSpan
|
|
# MIGRATED 2026-01-25: DigitalPresenceTypeEnum → DigitalPresence class hierarchy (Rule 53)
|
|
# - ../enums/DigitalPresenceTypeEnum # REMOVED
|
|
- ../slots/supersedes_or_superseded # was: supersede - migrated per Rule 53/56 (2026-01-17)
|
|
# REMOVED 2026-01-19: ../slots/confidence_score - migrated to is_or_was_generated_by + GenerationEvent + ConfidenceScore (Rule 53)
|
|
- ../slots/is_or_was_generated_by
|
|
- ./GenerationEvent
|
|
- ./ConfidenceScore
|
|
- ./ConfidenceMethod
|
|
- ../slots/is_or_was_superseded_by # was: superseded_by - migrated per Rule 53/56 (2026-01-16)
|
|
- ../slots/is_or_was_about_digital_presence
|
|
# REMOVED - migrated to is_or_was_asserted_by (Rule 53)
|
|
# - ../slots/asserted_by
|
|
- ../slots/is_or_was_asserted_by
|
|
- ./Asserter
|
|
- ../slots/has_assertion_date
|
|
- ../slots/has_or_had_identifier
|
|
- ../slots/has_assertion_rationale
|
|
- ../slots/has_assertion_value
|
|
- ../slots/has_or_had_based_on_observation
|
|
# MIGRATED 2026-01-25: digital_presence_type → asserts_or_asserted + DigitalPresence (Rule 53)
|
|
# - ../slots/digital_presence_type # REMOVED
|
|
- ../slots/asserts_or_asserted
|
|
- ./DigitalPresence
|
|
- ./DigitalPresenceType
|
|
- ./DigitalPresenceTypes
|
|
- ../slots/specificity_annotation
|
|
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
- ../slots/temporal_extent
|
|
- ./SpecificityAnnotation
|
|
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
|
|
|
|
- ./TemplateSpecificityType
|
|
|
|
- ./TemplateSpecificityTypes
|
|
# was_asserted_by REMOVED - fully migrated to is_or_was_asserted_by (Rule 53, 2026-01-15)
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
hc: https://nde.nl/ontology/hc/
|
|
schema: http://schema.org/
|
|
dcterms: http://purl.org/dc/terms/
|
|
prov: http://www.w3.org/ns/prov#
|
|
crm: http://www.cidoc-crm.org/cidoc-crm/
|
|
skos: http://www.w3.org/2004/02/skos/core#
|
|
default_prefix: hc
|
|
classes:
|
|
PrimaryDigitalPresenceAssertion:
|
|
class_uri: crm:E13_Attribute_Assignment
|
|
description: "A temporal assertion about whether a digital presence (SocialMediaProfile,\nDigitalPlatform, AuxiliaryDigitalPlatform,\
|
|
\ or InternetOfThings) serves as \nthe PRIMARY or MAIN digital presence for a heritage custodian.\n\n**SUPPORTED DIGITAL\
|
|
\ PRESENCE TYPES**:\n\n1. **DigitalPlatform** - Primary websites, discovery portals, repositories\n2. **AuxiliaryDigitalPlatform**\
|
|
\ - Project sites, exhibition microsites\n3. **SocialMediaProfile** - Third-party platform accounts (Facebook, Instagram)\n\
|
|
4. **InternetOfThings** - Physical devices with digital connectivity\n\nUse `digital_presence_type` slot to classify\
|
|
\ which TYPE of presence is\nbeing characterized, using DigitalPresenceTypeEnum values.\n\n**WHY TEMPORAL ASSERTIONS?**\n\
|
|
\nThe \"primary digital presence\" status can change over time:\n\n- 2020: Heritage society has ONLY Facebook → Facebook\
|
|
\ is primary (true)\n- 2022: Society launches website → Facebook becomes secondary (false)\n- 2024: Website abandoned,\
|
|
\ back to Facebook → Facebook is primary again (true)\n\nEach change is documented via WebObservation provenance.\n\n\
|
|
**CIDOC-CRM ALIGNMENT**:\n\nMaps to `crm:E13_Attribute_Assignment`:\n- \"Comprises the actions of making assertions\
|
|
\ about one particular property \n of an object or any single relation between two items or concepts.\"\n- Allows temporal\
|
|
\ scoping of the assertion\n- Provides provenance for WHO made the assertion and WHEN\n\nKey CRM properties:\n- `P140_assigned_attribute_to`\
|
|
\ → The digital presence being characterized\n- `P141_assigned` → The boolean value (true/false for is_primary)\n- `P4_has_time-span`\
|
|
\ → When this assertion is valid\n- `P17_was_motivated_by` → The WebObservation(s) supporting this assertion\n\n**PROVENANCE\
|
|
\ CHAIN**:\n\n```\nWebObservation (prov:Activity)\n │\n ├── observed website/social media → SourceDocument\n\
|
|
\ │\n └── prov:generated → PrimaryDigitalPresenceAssertion\n │\n \
|
|
\ ├── assertion_value: true/false\n ├── temporal_extent: TimeSpan\n\
|
|
\ └── about_digital_presence: SocialMediaProfile\n```\n\n**RELATIONSHIP TO SOCIALMEDIACLAIMS**:\n\
|
|
\nThis is similar to how WebClaim works for extracting specific facts:\n- WebClaim: \"The organization name is X\" (extracted\
|
|
\ from HTML at XPath)\n- PrimaryDigitalPresenceAssertion: \"This is the primary presence\" (inferred from observations)\n\
|
|
\nThe key difference is that primary presence status is INFERRED, not directly stated:\n- Check if custodian has a website\
|
|
\ (DigitalPlatform)\n- Compare follower counts, engagement, update frequency\n- Observe which URLs are promoted in communications\n\
|
|
\n**TEMPORAL VALIDITY**:\n\nUses TimeSpan (crm:E52_Time-Span) for fuzzy temporal boundaries:\n\n- `begin_of_the_begin`:\
|
|
\ Earliest possible start of primary status\n- `end_of_the_begin`: Latest possible start of primary status\n- `begin_of_the_end`:\
|
|
\ Earliest possible end of primary status\n- `end_of_the_end`: Latest possible end of primary status\n\nFor ongoing\
|
|
\ assertions, leave end bounds as null.\n\n**EXAMPLES**:\n\n1. **Facebook as Only Presence (Clear Primary)**:\n ```yaml\n\
|
|
\ PrimaryDigitalPresenceAssertion:\n assertion_id: \".../assertion/hvn-facebook-primary-2020\"\n about_digital_presence:\
|
|
\ \".../social-media/hvn-facebook\"\n assertion_value: true\n assertion_rationale: \"No website exists; Facebook\
|
|
\ is only digital presence\"\n temporal_extent:\n begin_of_the_begin: \"2015-03-01\" # Facebook page created\n\
|
|
\ # No end bounds - still primary\n based_on_observations:\n - \".../observation/hvn-website-check-2025-11\"\
|
|
\ # Confirms no website\n - \".../observation/hvn-facebook-scrape-2025-11\"\n ```\n\n2. **Instagram Supporting\
|
|
\ Website (Secondary)**:\n ```yaml\n PrimaryDigitalPresenceAssertion:\n assertion_id: \".../assertion/rijksmuseum-instagram-secondary\"\
|
|
\n about_digital_presence: \".../social-media/rijksmuseum-instagram\"\n assertion_value: false\n assertion_rationale:\
|
|
\ >-\n Website (rijksmuseum.nl) is primary. Instagram supports and promotes\n website content. Instagram\
|
|
\ bio links to website.\n temporal_extent:\n begin_of_the_begin: \"2012-03-15\" # Instagram account created\n\
|
|
\ based_on_observations:\n - \".../observation/rijksmuseum-website-2025-11\"\n - \".../observation/rijksmuseum-instagram-2025-11\"\
|
|
\n ```\n\n3. **Status Change (Website Abandoned)**:\n ```yaml\n # Previous assertion (now superseded)\n PrimaryDigitalPresenceAssertion:\n\
|
|
\ assertion_id: \".../assertion/club-facebook-secondary-2020\"\n about_digital_presence: \".../social-media/club-facebook\"\
|
|
\n assertion_value: false\n temporal_extent:\n begin_of_the_begin: \"2018-01-01\"\n end_of_the_end:\
|
|
\ \"2023-06-30\" # Website abandoned\n superseded_by: \".../assertion/club-facebook-primary-2023\"\n \n # Current\
|
|
\ assertion\n PrimaryDigitalPresenceAssertion:\n assertion_id: \".../assertion/club-facebook-primary-2023\"\n\
|
|
\ about_digital_presence: \".../social-media/club-facebook\"\n assertion_value: true\n assertion_rationale:\
|
|
\ \"Website no longer maintained; Facebook now primary\"\n temporal_extent:\n begin_of_the_begin: \"2023-07-01\"\
|
|
\n based_on_observations:\n - \".../observation/club-website-404-2023-07\"\n - \".../observation/club-facebook-active-2023-07\"\
|
|
\n ```\n"
|
|
exact_mappings:
|
|
- crm:E13_Attribute_Assignment
|
|
close_mappings:
|
|
- prov:Activity
|
|
- schema:AssessAction
|
|
related_mappings:
|
|
- crm:P140_assigned_attribute_to
|
|
- crm:P141_assigned
|
|
- prov:wasGeneratedBy
|
|
slots:
|
|
- is_or_was_about_digital_presence
|
|
# REMOVED - migrated to is_or_was_asserted_by (Rule 53)
|
|
# - asserted_by
|
|
- is_or_was_asserted_by
|
|
- has_assertion_date
|
|
- has_or_had_identifier
|
|
- has_assertion_rationale
|
|
- has_assertion_value
|
|
- has_or_had_based_on_observation
|
|
# REMOVED 2026-01-19: confidence_score - migrated to is_or_was_generated_by (Rule 53)
|
|
- is_or_was_generated_by
|
|
# MIGRATED 2026-01-25: digital_presence_type → asserts_or_asserted (Rule 53)
|
|
- asserts_or_asserted
|
|
- specificity_annotation
|
|
- is_or_was_superseded_by # was: superseded_by - migrated per Rule 53/56 (2026-01-16)
|
|
- supersedes_or_superseded # was: supersede - migrated per Rule 53/56 (2026-01-17)
|
|
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
- temporal_extent
|
|
slot_usage:
|
|
has_or_had_identifier:
|
|
range: uriorcurie
|
|
required: true
|
|
identifier: true
|
|
examples:
|
|
- value: https://nde.nl/ontology/hc/assertion/primary-presence/hvn-facebook-2025
|
|
is_or_was_about_digital_presence:
|
|
range: uriorcurie
|
|
required: true
|
|
examples:
|
|
- value: https://nde.nl/ontology/hc/social-media/hvn-facebook
|
|
- value: https://nde.nl/ontology/hc/platform/rijksmuseum-website
|
|
- value: https://nde.nl/ontology/hc/iot/museum-beacon-network
|
|
# MIGRATED 2026-01-25: digital_presence_type → asserts_or_asserted (Rule 53)
|
|
asserts_or_asserted:
|
|
range: DigitalPresence
|
|
required: false
|
|
inlined: true
|
|
description: |
|
|
The digital presence classification being asserted.
|
|
MIGRATED from digital_presence_type per slot_fixes.yaml (Rule 53, 2026-01-25).
|
|
Uses DigitalPresence wrapper with typed classification (WebsitePresenceType, SocialMediaPresenceType, etc.).
|
|
examples:
|
|
- value:
|
|
has_or_had_type:
|
|
has_or_had_label: "Social Media Profile"
|
|
has_or_had_identifier: "https://nde.nl/ontology/hc/type/social-media"
|
|
description: Characterizing a social media profile
|
|
- value:
|
|
has_or_had_type:
|
|
has_or_had_label: "Website"
|
|
has_or_had_identifier: "https://nde.nl/ontology/hc/type/website"
|
|
description: Characterizing main website
|
|
has_assertion_value:
|
|
range: boolean
|
|
required: true
|
|
examples:
|
|
- value: true
|
|
description: Facebook IS the primary digital presence
|
|
- value: false
|
|
description: Instagram is secondary to main website
|
|
has_assertion_rationale:
|
|
range: string
|
|
required: false
|
|
examples:
|
|
- value: No formal website exists for this heritage society. Facebook page is the only discoverable online presence
|
|
with 450 followers and regular updates about local history events.
|
|
temporal_extent:
|
|
range: TimeSpan
|
|
required: false
|
|
inlined: true
|
|
examples:
|
|
- value:
|
|
begin_of_the_begin: '2015-03-01T00:00:00Z'
|
|
end_of_the_begin: '2015-03-01T00:00:00Z'
|
|
description: Primary status began precisely on March 1, 2015
|
|
has_or_had_based_on_observation:
|
|
range: WebObservation
|
|
multivalued: true
|
|
inlined_as_list: true
|
|
required: false
|
|
examples:
|
|
- value:
|
|
- observation_id: '.../observation/hvn-website-check-2025-11'
|
|
- observation_id: '.../observation/hvn-facebook-scrape-2025-11'
|
|
has_assertion_date:
|
|
range: datetime
|
|
required: false
|
|
examples:
|
|
- value: '2025-11-29T14:30:00Z'
|
|
is_or_was_asserted_by:
|
|
range: Asserter
|
|
inlined: true
|
|
required: false
|
|
description: >-
|
|
The agent responsible for making this assertion.
|
|
MIGRATED from asserted_by (Rule 53) - changed from string to Asserter
|
|
class for richer provenance tracking.
|
|
examples:
|
|
- value:
|
|
has_or_had_identifier: https://nde.nl/ontology/hc/asserter/primary-presence-analyzer
|
|
has_or_had_label: primary-presence-analyzer
|
|
asserter_type: AUTOMATED_SYSTEM
|
|
asserter_version: "1.0"
|
|
description: Automated system asserter
|
|
- value:
|
|
has_or_had_identifier: https://nde.nl/ontology/hc/asserter/jane-doe
|
|
has_or_had_label: Jane Doe
|
|
asserter_type: HUMAN_ANALYST
|
|
asserter_contact: jane.doe@heritage-org.nl
|
|
description: Human analyst asserter
|
|
# was_asserted_by REMOVED - fully migrated to is_or_was_asserted_by (Rule 53, 2026-01-15)
|
|
# REMOVED 2026-01-19: confidence_score - migrated to is_or_was_generated_by (Rule 53)
|
|
is_or_was_generated_by:
|
|
range: GenerationEvent
|
|
required: false
|
|
inlined: true
|
|
description: >-
|
|
Generation event containing confidence score for this assertion.
|
|
MIGRATED 2026-01-19: Replaces confidence_score slot with structured pattern.
|
|
examples:
|
|
- value:
|
|
has_or_had_score:
|
|
has_or_had_score: 0.95
|
|
has_or_had_method: "evidence_analysis"
|
|
description: High confidence - no website exists, Facebook only presence
|
|
- value:
|
|
has_or_had_score:
|
|
has_or_had_score: 0.65
|
|
has_or_had_method: "comparative_analysis"
|
|
description: Medium confidence - both presences active, unclear primary
|
|
is_or_was_superseded_by: # was: superseded_by - migrated per Rule 53/56 (2026-01-16)
|
|
range: uriorcurie
|
|
required: false
|
|
examples:
|
|
- value: https://nde.nl/ontology/hc/assertion/club-facebook-primary-2023
|
|
supersedes_or_superseded: # was: supersede - migrated per Rule 53/56 (2026-01-17)
|
|
range: uriorcurie
|
|
required: false
|
|
examples:
|
|
- value: https://nde.nl/ontology/hc/assertion/club-facebook-secondary-2020
|
|
comments:
|
|
- 'MIGRATED 2026-01-19: confidence_score → is_or_was_generated_by + GenerationEvent + ConfidenceScore (Rule 53)'
|
|
- Models primary presence status as temporal assertion, not static boolean
|
|
- Based on CIDOC-CRM E13_Attribute_Assignment pattern
|
|
- Supports change tracking via supersedes_or_superseded/is_or_was_superseded_by links
|
|
- Provenance via WebObservation references
|
|
- TimeSpan allows fuzzy temporal boundaries
|
|
- Confidence scores reflect evidence quality
|
|
- 'Supports ALL digital presence types: DigitalPlatform, AuxiliaryDigitalPlatform, SocialMediaProfile, InternetOfThings'
|
|
see_also:
|
|
- https://cidoc-crm.org/html/cidoc_crm_v7.1.3.html#E13
|
|
- https://www.w3.org/TR/prov-o/
|