glam/schemas/20251121/linkml/modules/classes/ConnectionNetwork.yaml
kempersc 0393b321c9 refactor(schema): unify custodian_type slots into has_or_had_custodian_type (Rule 39, 43)
- Migrate 236+ class files from custodian_types to has_or_had_custodian_type
- Archive deprecated slots: custodian_type, custodian_types, custodian_type_broader/narrower/related
- Update main schema and manifest imports
- Fix Custodian.yaml class to use new slot
- Fix annotation format (list→scalar) in has_or_had_custodian_type.yaml

Rules applied:
- Rule 39: RiC-O naming convention (hasOrHad pattern)
- Rule 43: Slot nouns must be singular (multivalued:true for cardinality)
- Rule 38: Slot centralization with semantic URI
2026-01-09 10:55:21 +01:00

92 lines
2.9 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
- ./PersonConnection
- ./ConnectionSourceMetadata
- ./NetworkAnalysis
- ./HeritageTypeCount
- ./SpecificityAnnotation
- ./TemplateSpecificityScores
- ../slots/connections
- ../slots/network_analysis
- ../slots/notes
- ../slots/source_metadata
- ../slots/specificity_annotation
- ../slots/template_specificity
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:
- connections
- network_analysis
- source_metadata
- specificity_annotation
- template_specificity
slot_usage:
source_metadata:
description: Provenance metadata about the connection extraction
range: ConnectionSourceMetadata
required: true
inlined: true
connections:
description: Array of connection entries from the LinkedIn network
range: PersonConnection
required: true
multivalued: true
inlined: true
inlined_as_list: true
network_analysis:
description: Aggregated statistics about the connection network
range: NetworkAnalysis
inlined: true
specificity_annotation:
range: SpecificityAnnotation
inlined: true
template_specificity:
range: TemplateSpecificityScores
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