From f9c64353ac87b1fe05e0cad68e358a7f69b3bcdc Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sat, 7 Nov 2020 10:31:27 +0000 Subject: Tests: added SPARQL test --- test/test_sparql.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'test/test_sparql.py') diff --git a/test/test_sparql.py b/test/test_sparql.py index 00bb3ed..41cf717 100644 --- a/test/test_sparql.py +++ b/test/test_sparql.py @@ -1,11 +1,39 @@ # Run with python3 test/test_sparql.py import unittest +import requests +import logging + + class TestSPARQL(unittest.TestCase): def test_sparql(self): - pass + sparqlURL='http://sparql.genenetwork.org/sparql/' + id = "http://collections.lugli.arvadosapi.com/c=0002e93b86ad77824620bf938b97e134+126/sequence.fasta" + id = "MT800005.1" + query=f""" +PREFIX pubseq: +PREFIX sio: +select distinct ?sample ?geoname ?date ?source ?geo ?sampletype ?institute ?sequenceuri +{{ + ?sample sio:SIO_000115 "{id}" . + ?sequenceuri pubseq:sample ?sample . + ?sample ?geo . + ?geo rdfs:label ?geoname . + ?sample ?date . + OPTIONAL {{ ?sample ?source }} + OPTIONAL {{ ?sample ?sampletype }} + OPTIONAL {{ ?sample ?institute }} +}} + """ + print(query) + payload = {'query': query, 'format': 'json'} + r = requests.get(sparqlURL, params=payload) + result = r.json()['results']['bindings'] + # for now we just take the first one + print(result) + self.assertEqual(result[0]['geoname']['value'],'Mahuva') if __name__ == '__main__': unittest.main() -- cgit v1.2.3