def create_answer(question: Concept, mapping: Mapping[Concept, Concept]) -> Concept: if mapping is None: return None # simple if question.is_simple(): if question in mapping: return mapping[question] return question # compound ap = [] # type: list[Concept] for p in question.parents: ap.append(NLU.create_answer(p, mapping)) return Concept(question.name, question.relation, ap)