- 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.
3.4 KiB
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:PublicOrganisationhad 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.yaml→modules/classes/ReconstructionAgent.yaml - Updated class name:
Agent→ReconstructionAgent - Updated metadata:
id:https://nde.nl/ontology/hc/class/ReconstructionAgentname:reconstruction-agent-classtitle: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:
Agent→ReconstructionAgent - 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:
Agent→ReconstructionAgent responsible_agentslot range:Agent→ReconstructionAgent- Description: Updated to reference
ReconstructionAgent
4. Main Schema File
01_custodian_name_modular.yaml:
- Import:
modules/classes/Agent→modules/classes/ReconstructionAgent
Verification
All references updated successfully:
- ✅ No remaining
range: Agent(except validAgentTypeEnum) - ✅ No remaining
classes/Agentimports - ✅ 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 modelcpov:PublicOrganisation- For public sector research institutions (comment fixed)org:Organization,rico:CorporateBody- Organizational agentsschema:Person,schema:Organization,schema:SoftwareApplication- Type-specific mappingspico:Agent,tooi:Overheidsorganisatie- Related models
Next Steps
- Regenerate RDF/OWL from updated LinkML schema
- Update any documentation referencing the Agent class
- Update any example data using Agent class
- Consider if similar clarity improvements needed for other class names
Notes
- This is a breaking change for existing data using the
Agentclass - Migration path: Global find/replace
Agent:→ReconstructionAgent:in instance data - The semantic meaning of the class has NOT changed, only the name for clarity