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 - ./TemplateSpecificityScores - ../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 - ../slots/target_profile - ../slots/template_specificity 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 - target_profile - template_specificity 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 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 - target_profile is the LinkedIn slug being analyzed