Use PREFIX in sparql when looking up questions
The prefix "disco" is by default not known by Virtuoso. This causes errors when looking up questions.
Current workaround: Introduce sora:<..> to virtuoso via Conductor.
Log example:
sora_resources | INFO:root:None sora_resources | INFO:root: sora_resources | CONSTRUCT sora_resources | { sora_resources | ?variable disco:question <https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> . sora_resources | <https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> ?p ?o . sora_resources | <https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> disco:responseDomain ?rd . sora_resources | ?tc skos:prefLabel ?pl . sora_resources | ?tc skos:notation ?not . sora_resources | } sora_resources | WHERE sora_resources | { sora_resources | ?variable disco:question <https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> . sora_resources | <https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> ?p ?o . sora_resources | <https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> disco:responseDomain ?rd . sora_resources | ?rd skos:hasTopConcept ?tc . sora_resources | ?tc skos:notation ?not . sora_resources | ?tc skos:prefLabel ?pl . sora_resources | FILTER (lang(?pl) = 'en') sora_resources | } sora_resources | sora_resources | ERROR:root:QueryBadFormed: a bad request has been sent to the endpoint, probably the sparql query is bad formed. sora_resources | sora_resources | Response: sora_resources | b"Virtuoso 37000 Error SP030: SPARQL compiler, line 6: Undefined namespace prefix at 'disco' before '<https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517>$\n\nSPARQL query:\ndefine sql:big-data-const 0 \n#output-format:application/sparql-results+xml\n\nCONSTRUCT \n{\n?variable disco:question <https://w3id.org/sora/resource/gesispanel/question/017f04a42003e$d15ab62dee909b3517> .\n<https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> ?p ?o .\n<https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> disco:responseDomain ?rd .\n?tc skos:prefLabel ?pl .\n?tc skos:notation ?not .\n}\nWHERE\n{ \n?variable disco:question <https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517$ .\n<https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> ?p ?o .\n<https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> disco:responseDoma$n ?rd .\n?rd skos:hasTopConcept ?tc .\n?tc skos:notation ?not .\n?tc skos:prefLabel ?pl .\nFILTER (lang(?pl) = 'en')\n}\n" sora_resources | Traceback (most recent call last): sora_resources | File "/usr/local/lib/python3.6/site-packages/SPARQLWrapper/Wrapper.py", line 657, in _query sora_resources | response = urlopener(request) sora_resources | File "/usr/local/lib/python3.6/urllib/request.py", line 223, in urlopen sora_resources | return opener.open(url, data, timeout) sora_resources | File "/usr/local/lib/python3.6/urllib/request.py", line 532, in open sora_resources | response = meth(req, response) sora_resources | File "/usr/local/lib/python3.6/urllib/request.py", line 642, in http_response sora_resources | 'http', request, response, code, msg, hdrs) sora_resources | File "/usr/local/lib/python3.6/urllib/request.py", line 570, in error sora_resources | return self._call_chain(*args) sora_resources | File "/usr/local/lib/python3.6/urllib/request.py", line 504, in _call_chain sora_resources | result = func(*args) sora_resources | File "/usr/local/lib/python3.6/urllib/request.py", line 650, in http_error_default sora_resources | raise HTTPError(req.full_url, code, msg, hdrs, fp) sora_resources | urllib.error.HTTPError: HTTP Error 400: Bad Request sora_resources | sora_resources | During handling of the above exception, another exception occurred: sora_resources | sora_resources | Traceback (most recent call last): sora_resources | File "/usr/src/app/project/resources/gesispanel_browser.py", line 104, in gesispanel_sparql sora_resources | results = SPARQL.query().convert() sora_resources | File "/usr/local/lib/python3.6/site-packages/SPARQLWrapper/Wrapper.py", line 687, in query sora_resources | return QueryResult(self._query()) sora_resources | File "/usr/local/lib/python3.6/site-packages/SPARQLWrapper/Wrapper.py", line 661, in _query sora_resources | raise QueryBadFormed(e.read()) sora_resources | SPARQLWrapper.SPARQLExceptions.QueryBadFormed: QueryBadFormed: a bad request has been sent to the endpoint, probably the sparql query is bad formed. sora_resources | sora_resources | Response: sora_resources | b"Virtuoso 37000 Error SP030: SPARQL compiler, line 6: Undefined namespace prefix at 'disco' before '<https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517>' \n\nSPARQL query:\ndefine sql:big-data-const 0 \n#output-format:application/sparql-results+xml\n\nCONSTRUCT \n{\n?variable disco:question <https://w3id.org/sora/resource/gesispanel/question/017f04a42003ee d15ab62dee909b3517> .\n<https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> ?p ?o .\n<https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> disco:responseDomain ?rd .\n?tc skos:prefLabel ?pl .\n?tc skos:notation ?not .\n}\nWHERE\n{ \n?variable disco:question <https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> .\n<https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> ?p ?o .\n<https://w3id.org/sora/resource/gesispanel/question/017f04a42003eed15ab62dee909b3517> disco:responseDomai n ?rd .\n?rd skos:hasTopConcept ?tc .\n?tc skos:notation ?not .\n?tc skos:prefLabel ?pl .\nFILTER (lang(?pl) = 'en')\n}\n" sora_resources | INFO:werkzeug:172.19.0.1 - - [30/Oct/2019 17:05:41] "GET /gesispanel/question/017f04a42003eed15ab62dee909b3517 HTTP/1.1" 500 -