def build_parent_mapping()

in dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import/bg_import/business_glossary_export_v2.py [0:0]


def build_parent_mapping(entries: List[Dict[str, Any]], relationships_data: Dict[str, List[Dict[str, Any]]]) -> Dict[str, str]:
    """
    Build a mapping: child_entry_id -> parent's entry_id, based on the "belongs_to" relationship.
    
    Args: 
        entries (List[Dict[str, Any]]): The list of entries.
        relationships_data (Dict[str, List[Dict[str, Any]]): The relationships data.
    Returns: Dict[str, str]: The parent mapping.
    """
    parent_mapping = {}
    for entry in entries:
        child_id = get_entry_id(entry["name"])
        rels = relationships_data.get(entry["name"], [])
        for rel in rels:
            if rel["relationshipType"] == "belongs_to":
                dest = rel.get("destinationEntry", {})
                parent_full = dest.get("name", "")
                parent_id = get_entry_id(parent_full)
                if parent_id:
                    parent_mapping[child_id] = parent_id
                    break # There exists only one valid belongs_to, needn't traverse furthur 
    return parent_mapping