- 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`.
173 lines
5 KiB
YAML
173 lines
5 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
|
|
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
|
|
- 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: "['*']"
|