glam/schemas/20251121/linkml/modules/classes/PersonConnection.yaml
kempersc ca4a54181e Refactor schema files to improve clarity and maintainability
- Updated WorldCatIdentifier.yaml to remove unnecessary description and ensure consistent formatting.
- Enhanced WorldHeritageSite.yaml by breaking long description into multiple lines for better readability and removed unused attributes.
- Simplified WritingSystem.yaml by removing redundant attributes and ensuring consistent formatting.
- Cleaned up XPathScore.yaml by removing unnecessary attributes and ensuring consistent formatting.
- Improved YoutubeChannel.yaml by breaking long description into multiple lines for better readability.
- Enhanced YoutubeEnrichment.yaml by breaking long description into multiple lines for better readability.
- Updated YoutubeVideo.yaml to break long description into multiple lines and removed legacy field name.
- Refined has_or_had_affiliation.yaml by removing unnecessary comments and ensuring clarity.
- Cleaned up is_or_was_retrieved_at.yaml by removing unnecessary comments and ensuring clarity.
- Added rules for generic slots and avoiding rough edits in schema files to maintain structural integrity.
- Introduced changes_or_changed_through.yaml to define a new slot for linking entities to change events.
2026-01-31 00:46:23 +01:00

184 lines
5.2 KiB
YAML

id: https://nde.nl/ontology/hc/class/PersonConnection
name: person_connection_class
title: Person Connection Class
version: 1.0.0
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
schema: http://schema.org/
foaf: http://xmlns.com/foaf/0.1/
dct: http://purl.org/dc/terms/
imports:
- linkml:types
- ../enums/HeritageTypeEnum
- ../enums/NameTypeEnum
- ../metadata
- ../slots/connection_heritage_relevant
- ../slots/connection_heritage_type
- ../slots/connection_id
- ../slots/connection_linkedin_url
- ../slots/connection_location
- ../slots/connection_name
- ../slots/connection_organization
- ../slots/has_or_had_degree
- ../slots/has_or_had_description
- ../slots/has_or_had_score
- ../slots/mutual_connections_text
- ../slots/name_type
- ../slots/specificity_annotation
- ./ConnectionDegree
- ./ConnectionDegreeType
- ./ConnectionDegreeTypes
- ./Description
- ./SocialNetworkMember
- ./SpecificityAnnotation
- ./TemplateSpecificityScore
- ./TemplateSpecificityType
- ./TemplateSpecificityTypes
default_range: string
classes:
PersonConnection:
is_a: SocialNetworkMember
class_uri: schema:Person
description: 'A single connection entry from a person''s LinkedIn network.
Represents one person in another person''s connection list, including
their relationship degree, professional has_or_had_title, and heritage sector
classification.
**Relationship to ConnectionNetwork**:
- ConnectionNetwork contains an array of PersonConnection entries
- Each PersonConnection represents one network connection
- connection_id links back to the target profile
**Connection Degrees**:
- 1st: Direct connection (mutual connection)
- 2nd: Connected through one mutual connection
- 3rd+: Connected through two or more people
**Name Types** (per AGENTS.md Rule 17):
- full: Complete first and last name visible
- abbreviated: Contains single initial (e.g., "Amy B.", "S. Buse")
- anonymous: Privacy-hidden profile ("LinkedIn Member")
'
exact_mappings:
- schema:Person
close_mappings:
- foaf:Person
related_mappings:
- schema:knows
slots:
- has_or_had_degree
- has_or_had_description
- connection_heritage_relevant
- connection_heritage_type
- connection_id
- connection_linkedin_url
- connection_location
- connection_name
- connection_organization
- mutual_connections_text
- name_type
- specificity_annotation
- has_or_had_score
slot_usage:
connection_id:
range: string
required: true
pattern: ^[a-z0-9-]+_conn_[0-9]{4}_[a-z0-9_]+$
examples:
- value: giovannafossati_conn_0042_amy_b
- value: rijksmuseum_staff_0001_jan_van_berg
connection_name:
range: string
required: true
examples:
- value: Maddalena Ghiotto
- value: Amy B.
- value: LinkedIn Member
name_type:
range: NameTypeEnum
required: true
examples:
- value: full
- value: abbreviated
has_or_had_degree:
range: ConnectionDegree
required: true
inlined: true
examples:
- value:
has_or_had_type: SecondDegreeConnection
- value:
has_or_had_type: FirstDegreeConnection
has_or_had_description:
range: string
inlined: true
examples:
- value:
description_text: Archiving nerd in the digital era.
- value:
description_text: Senior Curator at Rijksmuseum
- value:
description_text: PhD candidate Critical audiovisual heritage
connection_location:
range: string
examples:
- value: Utrecht, Utrecht, Netherlands
- value: Netherlands
- value: Amsterdam, North Holland, Netherlands
connection_organization:
range: string
examples:
- value: Vrije Universiteit Amsterdam
- value: Digital Infrastructure department of the KNAW Humanities Cluster
connection_heritage_relevant:
range: boolean
required: true
examples:
- value: true
- value: false
connection_heritage_type:
range: HeritageTypeEnum
examples:
- value: A
- value: M
- value: D
connection_linkedin_url:
range: uri
pattern: ^https://www\.linkedin\.com/in/[a-z0-9-]+/?$
examples:
- value: https://www.linkedin.com/in/maddalena-ghiotto-12345
mutual_connections_text:
range: string
examples:
- value: Thomas van Maaren, Bob Coret, and 4 other mutual connections
- value: 12 mutual connections
comments:
- Inlined in ConnectionNetwork.connections[] as multivalued list
- connection_id enables deduplication across multiple connection lists
- name_type classification per AGENTS.md Rule 17
- has_or_had_degree (was connection_degree) is relative to VIEWER, not target profile
see_also:
- https://schema.org/Person
- https://schema.org/knows
annotations:
specificity_score: 0.1
specificity_rationale: Generic utility class/slot created during migration
custodian_types: "['*']"