The mapping should not be expected as being symmetric, due to the difference in terminologies. Here, the concept J98.4 "Other disorders of lung" does not exist in SNOMED CT (NB in that concept, "other" means "not associated with any other ICD10 code", so this concept exists only in ICD10).
Thus there is no direct mapping for J98.4. In such cases, Owlready tries to map the parent concept, leading to the more general concept of Disorder of the respiratory system in SNOMED CT.
Ah I see, I did not know that Owlready tries to match the parent concept in such a case. Then I understand why it is not acting symmetrically when mapping concepts from ICD to SNOMED-CT and vice versa.
Does Owlready only check in such cases if a mapping of the parents exist, or does it continue to iterate through the ancestors to find a mapping (e.g. if the parents also don't have a mapping)?