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