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