From a mapping quality point of view the null/0 distinction is important. For non-required concept_ids like
value_as_concept_id, a null represents that there was no attempt made to map a source concept to a standard target concept. A 0 means that no suitable mapping has been found. When generating mapping statistics, we neglect the nulls and only look at the concept_ids >= 0.
So in that perspective I would argue to allow null in those fields.