def identify_seed_entities(query_text: str, session) -> list[str]: entities = extract_entities(query_text) results = [] for entity_mention in entities: candidates = session.run(""" MATCH (e:Entity) WHERE e.name_normalized CONTAINS $mention_normalized OR any(alias IN e.aliases WHERE alias CONTAINS $mention_normalized) RETURN e.id, e.name, e.canonical_type ORDER BY e.mention_count DESC LIMIT 3 """, mention_normalized=normalize(entity_mention)).data() if candidates: results.append(candidates[0]["e.id"]) return results