glam/schemas/20251121/linkml/modules/classes/ConnectionNetwork.yaml
kempersc fc405445c6 Refactor and update schema definitions
- Removed obsolete slots: `has_or_had_custodian_observation`, `provider`, and `specificity_annotation`.
- Updated `has_or_had_score` slot to use `SpecificityScore` class and modified its description and examples.
- Added new slots: `end_seconds`, `end_time`, `has_archive_path`, `has_or_had_custodian_name`, `protocol_name`, and `protocol_version`.
- Introduced a script `check_annotation_types.py` to validate the presence and structure of `custodian_types` in YAML files.
- Added a script `update_specificity.py` to automate updates related to `SpecificityAnnotation` to `SpecificityScore`.
2026-02-01 19:55:38 +01:00

93 lines
2.5 KiB
YAML

id: https://nde.nl/ontology/hc/class/ConnectionNetwork
name: connection_network_class
title: Connection Network 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/
xsd: http://www.w3.org/2001/XMLSchema#
imports:
- linkml:types
- ../metadata
- ../slots/has_or_had_member
- ../slots/has_or_had_score
- ../slots/network_analysis
- ../slots/note
- ../slots/source_metadata
default_range: string
classes:
ConnectionNetwork:
class_uri: schema:ItemList
description: 'Collection of LinkedIn network connections with source metadata.
This is the root class for connection JSON files stored at:
`data/custodian/person/connection/bu/{linkedin_slug}_connections_{timestamp}.json`
Each file contains:
- **source_metadata**: Provenance about the extraction (who, when, how)
- **connections**: Array of PersonConnection entries (the actual network data)
- **network_analysis**: Optional aggregated statistics
**Use Cases**:
- Heritage sector network analysis
- Cross-custodian relationship discovery
- Staff member connection patterns
- Professional community mapping
**File Naming Convention**:
`{linkedin-slug}_connections_{ISO-timestamp}.json`
Example: `giovannafossati_connections_20251209T220000Z.json`
'
exact_mappings:
- schema:ItemList
close_mappings:
- prov:Collection
slots:
- has_or_had_member
- network_analysis
- source_metadata
- has_or_had_score
slot_usage:
source_metadata:
range: ConnectionSourceMetadata
required: true
inlined: true
has_or_had_member:
range: PersonConnection
required: true
multivalued: true
inlined: true
inlined_as_list: true
network_analysis:
range: NetworkAnalysis
inlined: true
comments:
- Root class for connection network JSON files (validated with -C ConnectionNetwork)
- 'Per AGENTS.md Rule 15: ALL connections must be fully registered'
- Enables heritage sector network analysis
- 'File naming: {linkedin-slug}_connections_{timestamp}.json'
see_also:
- https://schema.org/ItemList
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types: "['*']"