def get(self, request): query = request.REQUEST.get('query') form = SparqlQueryForm(request.REQUEST if query else None, formats=self.get_format_choices()) context = self.context context.update({ 'namespaces': sorted(NS.items()), 'form': form, 'store': self.store }) if form.is_valid(): try: results = self.perform_query( request, query, form.cleaned_data['common_prefixes']) except QueryError, e: context['error'] = e.message context['status_code'] = e.status_code else: context['additional_headers'][ 'X-Humfrey-SPARQL-Duration'] = results.duration context['queries'] = [results.query] context['duration'] = results.duration context['results'] = results if results.format_type == 'sparql-results': return self._sparql_results_view(request, context) elif results.format_type == 'graph': return self._graph_view(request, context) raise AssertionError("Unexpected format type: {0}".format( results.format_type))