glam/schemas/20251121/linkml/modules/classes/PrimaryDigitalPresenceAssertion.yaml
kempersc 69a22e2b5a Refactor and expand LinkML slot definitions
- Deleted the `rights_statement_url` slot definition as it is no longer needed.
- Added multiple new slots including `has_legal_basis`, `has_statement`, `impose`, `pose_condition`, and `reviewed_through` with detailed descriptions and ontology alignments.
- Updated existing slots to improve clarity and consistency, including renaming `close_mappings` to `related_mappings` in several definitions.
- Enhanced the `require` slot with additional aliases for better usability.
- Improved documentation and comments across all slot definitions to clarify their purpose and usage.
2026-02-08 23:37:44 +01:00

168 lines
11 KiB
YAML

id: https://nde.nl/ontology/hc/class/PrimaryDigitalPresenceAssertion
name: primary_digital_presence_assertion
title: PrimaryDigitalPresenceAssertion Class
imports:
- linkml:types
- ../slots/20260202_matang/assert
- ../slots/20260202_matang/identified_by
- ../slots/20260202_matang/has_rationale
- ../slots/20260202_matang/has_score
- ../slots/20260202_matang/has_value
- ../slots/20260202_matang/has_digital_presence
- ../slots/20260202_matang/asserted_by
- ../slots/20260202_matang/asserted_on
- ../slots/20260202_matang/generated_by
- ../slots/20260202_matang/superseded_by
- ../slots/20260202_matang/supersede
- ../slots/20260202_matang/temporal_extent
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)\n4. **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 \u2192 Facebook is primary (true)\n- 2022: Society launches website \u2192 Facebook becomes secondary (false)\n- 2024: Website abandoned, back to Facebook\
\ \u2192 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` \u2192 The digital presence being characterized\n- `P141_assigned` \u2192 The boolean value (true/false for is_primary)\n- `P4_has_time-span` \u2192 When this assertion is valid\n- `P17_was_motivated_by` \u2192 The WebObservation(s) supporting this assertion\n\n**PROVENANCE CHAIN**:\n\n```\nWebObservation (prov:Activity)\n \u2502\n \u251C\u2500\u2500 observed website/social media \u2192 SourceDocument\n \u2502\n \u2514\u2500\u2500 prov:generated \u2192 PrimaryDigitalPresenceAssertion\n \
\ \u2502\n \u251C\u2500\u2500 assertion_value: true/false\n \u251C\u2500\u2500 temporal_extent: TimeSpan\n \u2514\u2500\u2500 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:
- has_digital_presence
- asserted_by
- asserted_on
- identified_by
- has_rationale
- has_value
- generated_by
- assert
- superseded_by
- supersedes_or_superseded
- has_score
- temporal_extent
slot_usage:
identified_by:
# range: string # uriorcurie
required: true
identifier: true
examples:
- value: https://nde.nl/ontology/hc/assertion/primary-presence/hvn-facebook-2025
has_digital_presence:
# range: string # 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
assert:
range: DigitalPresence
required: false
inlined: true
examples:
- value:
has_type:
has_label: Social Media Profile
identified_by: https://nde.nl/ontology/hc/type/social-media
- value:
has_type:
has_label: Website
identified_by: https://nde.nl/ontology/hc/type/website
has_value:
# range: string
required: true
inlined: false # Fixed invalid inline for primitive type
examples:
- value:
- value:
has_rationale:
range: Rationale
required: false
inlined: true
examples:
- value:
has_rationale: No formal website exists for this heritage society. Facebook page is the only discoverable online presence.
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'
asserted_on:
range: TimeSpan
required: false
inlined: true
examples:
- value:
start_of_the_start: '2025-11-29T14:30:00Z'
asserted_by:
range: Asserter
inlined: true
required: false
examples:
- value:
identified_by: https://nde.nl/ontology/hc/asserter/primary-presence-analyzer
has_label: primary-presence-analyzer
asserter_type: AUTOMATED_SYSTEM
asserter_version: '1.0'
- value:
identified_by: https://nde.nl/ontology/hc/asserter/jane-doe
has_label: Jane Doe
asserter_type: HUMAN_ANALYST
asserter_contact: jane.doe@heritage-org.nl
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_score:
has_score: 0.95
has_method: evidence_analysis
- value:
has_score:
has_score: 0.65
has_method: comparative_analysis
superseded_by:
# range: string # uriorcurie
required: false
examples:
- value: https://nde.nl/ontology/hc/assertion/club-facebook-primary-2023
supersedes_or_superseded:
# range: string # uriorcurie
required: false
examples:
- value: https://nde.nl/ontology/hc/assertion/club-facebook-secondary-2020
comments:
- "MIGRATED 2026-01-19: confidence_score \u2192 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/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/
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types: "['*']"