Closed jacobthill closed 3 years ago
@jacobthill I'm going to close this one simply to reopen an edited ticket. I don't want to lose your text here in case I miss something (or misunderstand something) but essentially, I'm just rewriting as an epic.
As the DLME data manager I need to ensure that all normalized values are found in all translation maps. For example, when normalizing types, raw values from the data contributor are passed to the
normalize_has_type
macro which looks for these values in multiplehas_type_from_*
translation maps. If found, a normalized value is returned in place of the raw value. That normalized value is then passed to thenormalize_edm_type
macro which looks for a broader category value in theedm_type_from_has_type
translation map. Finally, both normalized values are translated to Arabic using thehas_type_ar_from_en
and theedm_type_ar_from_en
translation maps. It is okay if a raw value from a data contributor is not found in one of thehas_type_from_*
translation maps; we can't map every string a data contributor might give us. However, once we have a normalizecho_has_type
value, we should always be able to translate it into Arabic, map it to a broadercho_edm_type
value, and translate thatcho_edm_type
value. A similar pattern exists with thecho_language
,cho_aat_material
,cho_spatial_norm
, andcho_temporal_norm
has_type_from_*
translation maps and check that these values are present as keys in thehas_type_ar_from_en
andedm_type_from_has_type
translation maps. If not, the transform process should stop and print to terminal the values that are missing from each translation map with the name of the translation map so they can be added.edm_type_from_has_type
and check that these values are present as keys in theedm_type_ar_from_en
translation map. If not, the transform process should stop and print to terminal the values that are missing from each translation map with the name of the translation map so they can be added.cho_language
,cho_aat_material
,cho_spatial_norm
, andcho_temporal_norm
and check that these values are present as keys in their Arabic equivalents.