From ef4a0fa67ca6e2b695f8a09a1f6d1d810ee5dff0 Mon Sep 17 00:00:00 2001 From: lltommy Date: Fri, 15 May 2020 18:14:48 +0200 Subject: Adding labels to getDetails endpoint --- bh20simplewebuploader/main.py | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'bh20simplewebuploader/main.py') diff --git a/bh20simplewebuploader/main.py b/bh20simplewebuploader/main.py index 865af97..1dff207 100644 --- a/bh20simplewebuploader/main.py +++ b/bh20simplewebuploader/main.py @@ -439,12 +439,15 @@ def getAllaccessions(): @app.route('/api/getDetailsForSeq', methods=['GET']) def getDetailsForSeq(): seq_id = request.args.get('seq') - query="""SELECT DISTINCT ?key ?value WHERE { ?x [?key ?value]}""" + query="""SELECT DISTINCT ?key ?key_label ?value WHERE { + ?x [?key ?value] . + OPTIONAL {?key ?key_tmp_label } . + BIND(IF(BOUND(?key_tmp_label),?key_tmp_label, ?key) as ?key_label)}""" query=query.replace("placeholder", seq_id) payload = {'query': query, 'format': 'json'} r = requests.get(baseURL, params=payload) result = r.json()['results']['bindings'] - return jsonify([{'uri': x['key']['value'], + return jsonify([{'uri': x['key']['value'], 'key_label': x['key_label']['value'], 'value': x['value']['value']} for x in result]) @@ -463,18 +466,6 @@ def getSEQCountbytech(): 'tech': x['tech']['value'], 'Label': x['tech_label']['value']} for x in result]) -## Is this one really necessary or should we just use getSEQCountbytech instead? -@app.route('/api/getAvailableTech', methods=['GET']) -def getAvailableTech(): - query="""SELECT distinct ?tech ?tech_label WHERE - {?fasta ?x [ ?tech] - BIND (concat(?tech,"_label") as ?tech_label) - } """ - payload = {'query': query, 'format': 'json'} - r = requests.get(baseURL, params=payload) - result = r.json()['results']['bindings'] - return str(result) - ## List all Sequences/submissions by a given tech, as example e.g. http://purl.obolibrary.org/obo/OBI_0000759 ## Has to be encoded again so should be --> http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FOBI_0000759 @app.route('/api/getSEQbytech', methods=['GET']) -- cgit v1.2.3