From 2c4f2f9db3a570c25fe5b7aff7feca07de27d8e1 Mon Sep 17 00:00:00 2001 From: Gijs Date: Thu, 10 Nov 2022 16:06:36 +0100 Subject: [PATCH] Allow import of query_materials --- auto_tree.py | 27 +++++++++++++++++++++++++++ query_materials.py | 38 +++++++++++++++++++------------------- 2 files changed, 46 insertions(+), 19 deletions(-) create mode 100644 auto_tree.py diff --git a/auto_tree.py b/auto_tree.py new file mode 100644 index 0000000..67cac59 --- /dev/null +++ b/auto_tree.py @@ -0,0 +1,27 @@ +from query_materials import get_info, query +from time import sleep + +q1 = """ +PREFIX p: +PREFIX ps: + +SELECT DISTINCT ?item ?itemLabel WHERE { + SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". } + { + SELECT DISTINCT ?item WHERE { + ?item p:P1343 ?statement0. + ?statement0 (ps:P1343/(wdt:P279*)) wd:Q19219752. + ?item p:P31 ?statement1. + ?statement1 (ps:P31/(wdt:P279*)) wd:Q16521. + ?item p:P4000 ?statement2. + ?statement2 (ps:P4000/(wdt:P279*)) wd:Q5118786. + } + LIMIT 100 + } +} +""" +for result in query(q1): + info = get_info(result['item']['value']) + print('A ' + info['labels']['en']['value'] + ' IS KNOWN IN DUTCH AS ' + info['labels']['nl']['value']) + print('A ' + info['labels']['en']['value'] + ' TREE') + sleep(1) \ No newline at end of file diff --git a/query_materials.py b/query_materials.py index 2639fc4..d15048d 100644 --- a/query_materials.py +++ b/query_materials.py @@ -38,22 +38,22 @@ SELECT DISTINCT ?item ?statement0 ?material WHERE LIMIT 10 """ - -print (q1) -print () -from time import sleep - -for result in query(q1): - statement = result['statement0']['value'] - value, item = result['material']['value'], result['item']['value'] - value = get_info(value) - item = get_info(item) - # print ("value", value) - # print ("item", item) - try: - material_label, item_label = value['labels']['en']['value'], item['labels']['en']['value'] - print (f"A {item_label} made of {material_label}. See {statement}") - print () - sleep(3) - except KeyError: - print ("no english label?") \ No newline at end of file +if __name__ == '__main__': + print (q1) + print () + from time import sleep + + for result in query(q1): + statement = result['statement0']['value'] + value, item = result['material']['value'], result['item']['value'] + value = get_info(value) + item = get_info(item) + # print ("value", value) + # print ("item", item) + try: + material_label, item_label = value['labels']['en']['value'], item['labels']['en']['value'] + print (f"A {item_label} made of {material_label}. See {statement}") + print () + sleep(3) + except KeyError: + print ("no english label?") \ No newline at end of file