glam/schemas/20251121/linkml/modules/classes/Agent.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

72 lines
2.7 KiB
YAML

id: https://nde.nl/ontology/hc/class/Agent
name: Agent
title: Agent
prefixes:
linkml: https://w3id.org/linkml/
hc: https://nde.nl/ontology/hc/
prov: http://www.w3.org/ns/prov#
foaf: http://xmlns.com/foaf/0.1/
schema: http://schema.org/
dcterms: http://purl.org/dc/terms/
default_prefix: hc
imports:
- linkml:types
- ../slots/has_or_had_identifier
- ../slots/has_or_had_name
- ../slots/has_or_had_type
classes:
Agent:
class_uri: prov:Agent
description: "An agent (person, organization, or software) that performs actions.\n\
\n**RULE 53 MIGRATION**:\nReplaces simple string slots with a structured agent\
\ model:\n- `is_or_was_acquired_by` → Agent (this class)\n- Supports typed agents\
\ (person, organization, software)\n\n**USAGE**:\n```yaml\nis_or_was_acquired_by:\n\
\ - agent_name: \"Dr. Jane Smith\"\n agent_type: person\n has_or_had_identifier:\n\
\ - identifier_scheme: ORCID\n identifier_value: \"0000-0001-2345-6789\"\
\n```\n\n**Ontological Alignment**:\n- **Primary** (`class_uri`): `prov:Agent`\
\ - PROV-O agent\n- **Close**: `foaf:Agent` - FOAF agent\n- **Close**: `schema:Person`\
\ / `schema:Organization` - Schema.org agents\n- **Close**: `dcterms:Agent`\
\ - Dublin Core agent\n\n**Use Cases**:\n- Specimen collectors (field biologists)\n\
- Artwork donors/sellers\n- Archive depositors\n- Record creators\n"
exact_mappings:
- prov:Agent
close_mappings:
- foaf:Agent
- dcterms:Agent
related_mappings:
- schema:Person
- schema:Organization
slots:
- has_or_had_name
- has_or_had_type
- has_or_had_identifier
slot_usage:
has_or_had_name:
range: uriorcurie
required: false
has_or_had_type:
range: uriorcurie
required: false
has_or_had_identifier:
range: uriorcurie
multivalued: true
required: false
annotations:
specificity_score: '0.25'
specificity_rationale: Broadly applicable - agents appear across all heritage
contexts.
template_specificity: '{"archive_search": 0.30, "museum_search": 0.30, "library_search":
0.30, "collection_discovery": 0.40, "person_research": 0.60, "location_browse":
0.15, "identifier_lookup": 0.35, "organizational_change": 0.25, "digital_platform":
0.20, "general_heritage": 0.25}'
custodian_types: '[''*'']'
examples:
- value: null
- value: null
- value:
has_or_had_identifier:
- identifier_scheme: ISIL
comments:
- Created per slot_fixes.yaml migration (2026-01-22)
- 'RULE 53: Replaces collector string slot with structured model'
- Generic agent class for persons, organizations, and software