glam/schemas/20251121/RENAME_AGENT_TO_RECONSTRUCTION_AGENT.md
kempersc fa5680f0dd Add initial versions of custodian hub UML diagrams in Mermaid and PlantUML formats
- Introduced custodian_hub_v3.mmd, custodian_hub_v4_final.mmd, and custodian_hub_v5_FINAL.mmd for Mermaid representation.
- Created custodian_hub_FINAL.puml and custodian_hub_v3.puml for PlantUML representation.
- Defined entities such as CustodianReconstruction, Identifier, TimeSpan, Agent, CustodianName, CustodianObservation, ReconstructionActivity, Appellation, ConfidenceMeasure, Custodian, LanguageCode, and SourceDocument.
- Established relationships and associations between entities, including temporal extents, observations, and reconstruction activities.
- Incorporated enumerations for various types, statuses, and classifications relevant to custodians and their activities.
2025-11-22 14:33:51 +01:00

3.4 KiB

Agent → ReconstructionAgent Rename Summary

Date

2025-11-22

Rationale

The class name Agent was ambiguous and confusing:

  • The class represents researchers, curators, data scientists who create CustodianReconstructions
  • It does NOT represent heritage custodian institutions (museums, archives, libraries)
  • The close_mapping to cpov:PublicOrganisation had a misleading comment "For public sector heritage custodians"

Renamed to ReconstructionAgent for clarity: agents who perform reconstruction activities.

Files Changed

1. Class Definition File

  • Renamed: modules/classes/Agent.yamlmodules/classes/ReconstructionAgent.yaml
  • Updated class name: AgentReconstructionAgent
  • Updated metadata:
    • id: https://nde.nl/ontology/hc/class/ReconstructionAgent
    • name: reconstruction-agent-class
    • title: ReconstructionAgent Class
  • Clarified description: Added "(i.e., researchers, curators, data scientists who perform entity resolution and reconstruction activities)"
  • Fixed misleading comment: Changed "For public sector heritage custodians" → "For public sector research institutions"

2. Slot Files Updated

modules/slots/responsible_agent.yaml:

  • Import path: ../classes/Agent../classes/ReconstructionAgent
  • Range: AgentReconstructionAgent
  • Description: Updated to reference ReconstructionAgent
  • Header comment: Updated

modules/slots/agent_name.yaml:

  • Header comment: # Agent Slot# ReconstructionAgent Slot

modules/slots/agent_type.yaml:

  • Header comment: # Agent Slot# ReconstructionAgent Slot

modules/slots/affiliation.yaml:

  • Header comment: # Agent Slot# ReconstructionAgent Slot

modules/slots/contact.yaml:

  • Header comment: # Agent Slot# ReconstructionAgent Slot

3. Class Files Referencing Agent

modules/classes/ReconstructionActivity.yaml:

  • Import: AgentReconstructionAgent
  • responsible_agent slot range: AgentReconstructionAgent
  • Description: Updated to reference ReconstructionAgent

4. Main Schema File

01_custodian_name_modular.yaml:

  • Import: modules/classes/Agentmodules/classes/ReconstructionAgent

Verification

All references updated successfully:

  • No remaining range: Agent (except valid AgentTypeEnum)
  • No remaining classes/Agent imports
  • File renamed and exists at new location
  • All slot files updated
  • Main schema import updated

Ontology Mappings (Preserved)

The ontology mappings remain semantically valid:

  • prov:Agent, foaf:Agent, rico:Agent - Core agent model
  • cpov:PublicOrganisation - For public sector research institutions (comment fixed)
  • org:Organization, rico:CorporateBody - Organizational agents
  • schema:Person, schema:Organization, schema:SoftwareApplication - Type-specific mappings
  • pico:Agent, tooi:Overheidsorganisatie - Related models

Next Steps

  1. Regenerate RDF/OWL from updated LinkML schema
  2. Update any documentation referencing the Agent class
  3. Update any example data using Agent class
  4. Consider if similar clarity improvements needed for other class names

Notes

  • This is a breaking change for existing data using the Agent class
  • Migration path: Global find/replace Agent:ReconstructionAgent: in instance data
  • The semantic meaning of the class has NOT changed, only the name for clarity