glam/schemas/20251121/linkml/modules/classes/Agent.yaml

103 lines
3.9 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_name
- ../slots/has_or_had_type
- ../slots/has_or_had_identifier
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` \u2192 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
attributes:
agent_name:
range: string
description: Name of the agent (person or organization name)
required: true
agent_type:
range: string
description: 'Type of agent: person, organization, software, group
'
required: false
examples:
- value: person
- value: organization
- value: software
- value: group
agent_role:
range: string
description: 'Role of the agent in the action (collector, donor, creator, etc.)
'
required: false
slot_usage:
has_or_had_name:
description: 'Structured name for the agent.
'
range: uriorcurie
required: false
has_or_had_type:
description: 'Classification of the agent type.
'
range: uriorcurie
required: false
has_or_had_identifier:
description: 'Identifiers for the agent (ORCID, ISNI, etc.).
'
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: "['*']"
custodian_types_rationale: Universal utility concept
examples:
- value:
agent_name: Dr. Jane Smith
agent_type: person
agent_role: collector
description: Field biologist who collected specimens
- value:
agent_name: Rijksmuseum Foundation
agent_type: organization
agent_role: donor
description: Organization that donated artwork
- value:
agent_name: National Archives of the Netherlands
agent_type: organization
agent_role: transferring_agency
has_or_had_identifier:
- identifier_scheme: ISIL
identifier_value: NL-HaNA
description: Archive transferring records
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