| import requests | |
| def get_wikidata_labels(topic, limit=10): | |
| """Fetch related labels from Wikidata""" | |
| query = f""" | |
| SELECT DISTINCT ?label WHERE {{ | |
| ?item rdfs:label ?label . | |
| FILTER(CONTAINS(LCASE(?label), "{topic.lower()}")) | |
| FILTER(LANG(?label) = "en") | |
| }} LIMIT {limit} | |
| """ | |
| url = "https://query.wikidata.org/sparql" | |
| response = requests.get(url, params={"query": query, "format": "json"}) | |
| return [result["label"]["value"] | |
| for result in response.json()["results"]["bindings"]] |