File size: 548 Bytes
6f8f74a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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"]]