glam/schemas/20251121/linkml/modules/classes/ConnectionNetwork.yaml
kempersc 0d5d48568d refactor(schema): centralize slot definitions per Rule 38
- Remove slot_uri, description, mappings from slot_usage sections
- Move these properties to centralized slot files in modules/slots/
- Keep only class-specific overrides in slot_usage (required, inlined, examples)
- Update 1,499 centralized slot files with enriched definitions
- Clean 188 class files

Violations fixed:
- slot_uri in slot_usage: 1,676 → 0
- description in slot_usage: 2,287 → 0 (moved to centralized)

Schema still validates: 816 classes, 2028 slots, 127 enums
2026-01-11 23:27:17 +01:00

103 lines
2.7 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/connection
- ../slots/network_analysis
- ../slots/note
- ../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:
- connection
- network_analysis
- source_metadata
- specificity_annotation
- template_specificity
slot_usage:
source_metadata:
range: ConnectionSourceMetadata
required: true
inlined: true
connection:
range: PersonConnection
required: true
multivalued: true
inlined: true
inlined_as_list: true
network_analysis:
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