def get_triples(client, subject = None, predicate = None, object = None): time.sleep(1) params = { 'subject': fmt_triple_value(subject), 'predicate': fmt_triple_value(predicate), 'object': fmt_triple_value(object), 'page': 1, } headers = {'accept': 'application/ld+json'} result = requests.get('https://query.wikidata.org/bigdata/ldf', params = params, headers = headers, ) triples = [] if result.status_code != 200: logging.error('Got %s error message: %s', result.status_code, repr((subject, predicate, object))) return [] for item in result.json()['@graph']: if item['@id'].startswith('wd:') and predicate.id in item: s = item['@id'][3:] triples.append((client.get(s, load = False), predicate, object)) return triples