Transform and clean is the stage where the raw export becomes import-ready data that matches the Heratio model and your quality standard. This is the heart of the migration: the crosswalk from the mapping lesson is now executed as concrete transformations, and the data-quality backlog from the audit is worked off record by record.

Work on copies, script everything, and keep every rule reversible. A transform you cannot re-run is a transform you cannot trust.

Apply the crosswalk as repeatable rules

  • Rename and re-order fields to the target schema; split or concatenate values where one AtoM field maps to several Heratio fields or vice versa.
  • Normalise controlled vocabularies so access points, subjects and places resolve to single canonical terms.
  • Convert dates to ISO 8601 and, where you hold structured dates, EDTF for uncertain or approximate ranges.
  • Deduplicate authority records, merging variant forms while preserving alternate names as "other forms of name".

Clean to a defined standard

Cleaning is not cosmetic. Strip or sanitise stray HTML in scope-and-content notes, fix encoding artefacts, trim whitespace, and enforce slug uniqueness. Validate against the description standard you are targeting - ISAD(G) mandatory elements, or the fuller obligations of RiC-O and Dublin Core - so records arrive complete rather than needing rework inside Heratio.

In practice. Version-control your transform scripts and keep the original export untouched as a golden source. Run the pipeline against a representative sample first - deepest hierarchy, records with many digital objects, the messiest notes - and diff the output against the expected result before you ever process the full set.

Preserve provenance of the transform

Every change you make to a value is itself a piece of provenance. Log which rule touched which record, so that if a reviewer questions a date or a merged actor after cutover, you can show exactly how the source value was derived. This aligns with PREMIS thinking - migration is a preservation event and should be documented as one.

Validate the transformed set

Before import, run automated checks: schema validation, mandatory-field presence, referential integrity (every child has a resolvable parent, every digital-object row has a matching file in the manifest), and vocabulary conformance. Fix at the script level, never by hand-editing the output, so the fix survives the next re-run.

Key takeaways

  • Execute the crosswalk as versioned, re-runnable scripts against an untouched golden export.
  • Clean to a named standard - ISO 8601/EDTF dates, canonical vocabularies, valid mandatory elements.
  • Log every transformation as provenance and validate referential integrity before import.

Check your understanding

Last modified: Saturday, 1 August 2026, 11:10 AM