27 lines
897 B
Python
27 lines
897 B
Python
|
|
||
|
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
|
||
|
|