- Created new YAML files for audience size and audience type slots, defining their properties and annotations. - Added archived capacity slots including cubic meters, linear meters, item count, and descriptions, with appropriate URIs and ranges. - Introduced a template specificity slot for context-aware RAG filtering. - Consolidated capacity-related slots into a unified structure, including has_or_had_capacity, capacity_type, and capacity_value, with detailed descriptions and examples.
159 lines
5.5 KiB
YAML
159 lines
5.5 KiB
YAML
id: https://nde.nl/ontology/hc/class/ConnectionSourceMetadata
|
|
name: connection_source_metadata_class
|
|
title: Connection Source Metadata Class
|
|
version: 1.0.0
|
|
prefixes:
|
|
linkml: https://w3id.org/linkml/
|
|
hc: https://nde.nl/ontology/hc/
|
|
schema: http://schema.org/
|
|
prov: http://www.w3.org/ns/prov#
|
|
dct: http://purl.org/dc/terms/
|
|
imports:
|
|
- linkml:types
|
|
- ./SpecificityAnnotation
|
|
- ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17)
|
|
|
|
- ./TemplateSpecificityType
|
|
|
|
- ./TemplateSpecificityTypes
|
|
- ../enums/ScrapeMethodEnum
|
|
- ../slots/connections_extracted
|
|
- ../slots/note
|
|
- ../slots/scrape_method
|
|
- ../slots/scraped_timestamp
|
|
- ../slots/source_url
|
|
- ../slots/specificity_annotation
|
|
# REMOVED 2026-01-14: ../slots/target_name - migrated to has_or_had_label with Label
|
|
- ../slots/has_or_had_label
|
|
- ./Label
|
|
# REMOVED 2026-01-16: ../slots/target_profile - migrated to has_or_had_profile with SocialMediaProfile
|
|
- ../slots/has_or_had_profile
|
|
- ./SocialMediaProfile
|
|
- ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
default_prefix: hc
|
|
classes:
|
|
ConnectionSourceMetadata:
|
|
class_uri: prov:Activity
|
|
description: 'Provenance metadata about how the connections were extracted.
|
|
|
|
|
|
Records the extraction context including:
|
|
|
|
- Source URL (LinkedIn search or profile page)
|
|
|
|
- When the extraction occurred
|
|
|
|
- Which method was used (manual browse, automated scrape)
|
|
|
|
- Target profile being analyzed
|
|
|
|
- Count of connections extracted
|
|
|
|
|
|
**Scrape Methods**:
|
|
|
|
- manual_linkedin_browse: Manual copy-paste while logged in
|
|
|
|
- linkedin_html_parser: Parsed from saved HTML file
|
|
|
|
- exa_search: Extracted via Exa API
|
|
|
|
'
|
|
exact_mappings:
|
|
- prov:Activity
|
|
slots:
|
|
- connections_extracted
|
|
- note
|
|
- scrape_method
|
|
- scraped_timestamp
|
|
- source_url
|
|
- specificity_annotation
|
|
# REMOVED 2026-01-14: target_name - migrated to has_or_had_label with Label
|
|
- has_or_had_label
|
|
# REMOVED 2026-01-16: target_profile - migrated to has_or_had_profile with SocialMediaProfile
|
|
- has_or_had_profile
|
|
- has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17)
|
|
slot_usage:
|
|
source_url:
|
|
range: uri
|
|
required: true
|
|
examples:
|
|
- value: https://www.linkedin.com/search/results/people/?network=%5B%22F%22%2C%22S%22%2C%22O%22%5D
|
|
description: LinkedIn connection search URL
|
|
scraped_timestamp:
|
|
range: datetime
|
|
required: true
|
|
examples:
|
|
- value: '2025-12-09T22:00:00Z'
|
|
scrape_method:
|
|
range: ScrapeMethodEnum
|
|
required: true
|
|
examples:
|
|
- value: alexandr-belov-bb547b46
|
|
# REMOVED 2026-01-14: target_name - migrated to has_or_had_label with Label
|
|
# target_name:
|
|
# range: string
|
|
# required: true
|
|
# examples:
|
|
# - value: Giovanna Fossati
|
|
# - value: Alexandr Belov
|
|
has_or_had_label:
|
|
range: Label
|
|
inlined: true
|
|
description: |
|
|
Target name of the connection source (person name).
|
|
MIGRATED 2026-01-14: Replaces target_name slot.
|
|
required: true
|
|
examples:
|
|
- value: |
|
|
Label:
|
|
label_value: "Giovanna Fossati"
|
|
label_type: "person_name"
|
|
description: Person name for connection source
|
|
# REMOVED 2026-01-16: target_profile - migrated to has_or_had_profile with SocialMediaProfile
|
|
# target_profile:
|
|
# range: string
|
|
# pattern: ^[a-z0-9-]+$
|
|
# required: true
|
|
# examples:
|
|
# - value: giovanna-fossati-12345
|
|
has_or_had_profile:
|
|
description: |
|
|
LinkedIn profile of the person whose connections were extracted.
|
|
MIGRATED 2026-01-16: Replaces target_profile slot per Rule 53/56.
|
|
|
|
The SocialMediaProfile class provides structured representation
|
|
including platform type, account name, and profile URL rather than
|
|
just a string slug.
|
|
range: SocialMediaProfile
|
|
inlined: true
|
|
required: true
|
|
examples:
|
|
- value:
|
|
social_media_profile_id: https://nde.nl/ontology/hc/social-media/giovanna-fossati-linkedin
|
|
platform_type: LINKEDIN
|
|
has_or_had_account_name: giovanna-fossati-12345
|
|
profile_url: https://www.linkedin.com/in/giovanna-fossati-12345/
|
|
refers_to_custodian: https://nde.nl/ontology/hc/nl-nh-ams-m-efm
|
|
description: LinkedIn profile for connection extraction source
|
|
- value:
|
|
social_media_profile_id: https://nde.nl/ontology/hc/social-media/alexandr-belov-linkedin
|
|
platform_type: LINKEDIN
|
|
has_or_had_account_name: alexandr-belov-bb547b46
|
|
profile_url: https://www.linkedin.com/in/alexandr-belov-bb547b46/
|
|
description: LinkedIn profile with minimal required fields
|
|
connections_extracted:
|
|
range: integer
|
|
required: true
|
|
minimum_value: 0
|
|
examples:
|
|
- value: 776
|
|
note:
|
|
range: string
|
|
examples:
|
|
- value: Raw scrape in giovannafossati_connections_20251209T220000Z_note-max100p-1st2nd3th.md
|
|
comments:
|
|
- Aligns with PROV-O Activity pattern
|
|
- scraped_timestamp maps to prov:endedAtTime
|
|
# UPDATED 2026-01-16: target_profile migrated to has_or_had_profile with SocialMediaProfile
|
|
- has_or_had_profile links to SocialMediaProfile representing the LinkedIn profile analyzed
|