Exemple #1
0
class SPARQLQueryProcessorTest(unittest.TestCase):
    def setUp(self):
        self.processor = SPARQLQueryProcessor()
        self.rpp = debian.services.RESULTS_PER_PAGE
        self.fg = debian.services.FROM_GRAPH
        debian.services.RESULTS_PER_PAGE = None
        debian.services.FROM_GRAPH = None

    def tearDown(self):
        debian.services.RESULTS_PER_PAGE = self.rpp
        debian.services.FROM_GRAPH = self.fg

    def test__clean_query_limit(self):
        debian.services.RESULTS_PER_PAGE = 5
        input = "SELECT * WHERE { ?s ?p ?o } LIMIT 150"
        expected = "SELECT * WHERE { ?s ?p ?o }  LIMIT 5"
        self.assertEqual(expected, self.processor._clean_query(input))

    def test__clean_query_offset(self):
        debian.services.RESULTS_PER_PAGE = 5
        input = "SELECT * WHERE { ?s ?p ?o } OFFSET 5"
        expected = "SELECT * WHERE { ?s ?p ?o }  LIMIT 5"
        self.assertEqual(expected, self.processor._clean_query(input))

    def test__clean_query_offset_limit(self):
        debian.services.RESULTS_PER_PAGE = 5
        input = "SELECT * WHERE { ?s ?p ?o } OFFSET 5 LIMIT 6"
        expected = "SELECT * WHERE { ?s ?p ?o }   LIMIT 5"
        self.assertEqual(expected, self.processor._clean_query(input))

        input = "SELECT * WHERE { ?s ?p ?o } LIMIT 7 OFFSET 5"
        expected = "SELECT * WHERE { ?s ?p ?o }   LIMIT 5"
        self.assertEqual(expected, self.processor._clean_query(input))

    def test__clean_query_from(self):
        debian.services.RESULTS_PER_PAGE = 5
        input = "SELECT * FROM <uriref> WHERE { ?s ?p ?o }"
        expected = "SELECT *  WHERE { ?s ?p ?o } LIMIT 5"
        self.assertEqual(expected, self.processor._clean_query(input))

        input = "SELECT * FROM<uriref> WHERE { ?s ?p ?o }"
        expected = "SELECT *  WHERE { ?s ?p ?o } LIMIT 5"
        self.assertEqual(expected, self.processor._clean_query(input))

        input = "SELECT * FROM NAMED <uriref> WHERE { ?s ?p ?o }"
        expected = "SELECT *  WHERE { ?s ?p ?o } LIMIT 5"
        self.assertEqual(expected, self.processor._clean_query(input))

    def test__clean_query_reassisgn(self):
        debian.services.FROM_GRAPH = "http://example.org"
        input = "SELECT * FROM <uriref> WHERE { ?s ?p ?o }"
        expected = "SELECT *  FROM <http://example.org> WHERE { ?s ?p ?o }"
        self.assertEqual(expected, self.processor._clean_query(input))

        debian.services.FROM_GRAPH = "http://example.org"
        input = "SELECT * FROM NAMED <uriref> WHERE { ?s ?p ?o }"
        expected = "SELECT *  FROM <http://example.org> WHERE { ?s ?p ?o }"
        self.assertEqual(expected, self.processor._clean_query(input))
Exemple #2
0
class SPARQLQueryProcessorTest(unittest.TestCase):
    def setUp(self):
        self.processor = SPARQLQueryProcessor()
        self.rpp = debian.services.RESULTS_PER_PAGE
        self.fg = debian.services.FROM_GRAPH
        debian.services.RESULTS_PER_PAGE = None
        debian.services.FROM_GRAPH = None

    def tearDown(self):
        debian.services.RESULTS_PER_PAGE = self.rpp
        debian.services.FROM_GRAPH = self.fg

    def test__clean_query_limit(self):
        debian.services.RESULTS_PER_PAGE = 5 
        input = "SELECT * WHERE { ?s ?p ?o } LIMIT 150"
        expected = "SELECT * WHERE { ?s ?p ?o }  LIMIT 5"
        self.assertEqual(expected, self.processor._clean_query(input))

    def test__clean_query_offset(self):
        debian.services.RESULTS_PER_PAGE = 5 
        input = "SELECT * WHERE { ?s ?p ?o } OFFSET 5"
        expected = "SELECT * WHERE { ?s ?p ?o }  LIMIT 5"
        self.assertEqual(expected, self.processor._clean_query(input))

    def test__clean_query_offset_limit(self):
        debian.services.RESULTS_PER_PAGE = 5 
        input = "SELECT * WHERE { ?s ?p ?o } OFFSET 5 LIMIT 6"
        expected = "SELECT * WHERE { ?s ?p ?o }   LIMIT 5"
        self.assertEqual(expected, self.processor._clean_query(input))

        input = "SELECT * WHERE { ?s ?p ?o } LIMIT 7 OFFSET 5"
        expected = "SELECT * WHERE { ?s ?p ?o }   LIMIT 5"
        self.assertEqual(expected, self.processor._clean_query(input))

    def test__clean_query_from(self):
        debian.services.RESULTS_PER_PAGE = 5 
        input = "SELECT * FROM <uriref> WHERE { ?s ?p ?o }"
        expected = "SELECT *  WHERE { ?s ?p ?o } LIMIT 5"
        self.assertEqual(expected, self.processor._clean_query(input))

        input = "SELECT * FROM<uriref> WHERE { ?s ?p ?o }"
        expected = "SELECT *  WHERE { ?s ?p ?o } LIMIT 5"
        self.assertEqual(expected, self.processor._clean_query(input))

        input = "SELECT * FROM NAMED <uriref> WHERE { ?s ?p ?o }"
        expected = "SELECT *  WHERE { ?s ?p ?o } LIMIT 5"
        self.assertEqual(expected, self.processor._clean_query(input))

    def test__clean_query_reassisgn(self):
        debian.services.FROM_GRAPH = "http://example.org"
        input = "SELECT * FROM <uriref> WHERE { ?s ?p ?o }"
        expected = "SELECT *  FROM <http://example.org> WHERE { ?s ?p ?o }"
        self.assertEqual(expected, self.processor._clean_query(input))

        debian.services.FROM_GRAPH = "http://example.org"
        input = "SELECT * FROM NAMED <uriref> WHERE { ?s ?p ?o }"
        expected = "SELECT *  FROM <http://example.org> WHERE { ?s ?p ?o }"
        self.assertEqual(expected, self.processor._clean_query(input))
Exemple #3
0
def source_detail(request, source, version):
    if request.method == 'GET':
        builder = SPARQLQueryBuilder()
        try:
            query = builder.create_binaries_query(source, version)
        except SPARQLQueryBuilderError, e:
            return render_to_response('debian/error.html', {'reason': e})

        processor = SPARQLQueryProcessor()
        try:
            processor.execute_query(query)
        except SPARQLQueryProcessorError, e:
            return render_to_response('debian/error.html', {'reason': e})
Exemple #4
0
def source_detail(request, source, version):
    if request.method == 'GET':
        builder = SPARQLQueryBuilder()
        try:
            query = builder.create_binaries_query(source, version)
        except SPARQLQueryBuilderError, e:
            return render_to_response('debian/error.html', {'reason': e})

        processor = SPARQLQueryProcessor()
        try:
            processor.execute_query(query)
        except SPARQLQueryProcessorError, e:
            return render_to_response('debian/error.html', {'reason': e})
Exemple #5
0
def allnews(request):
    if request.method == 'POST':
        searchform = SearchForm(request.POST)

        if searchform.is_valid() is False:
            return HttpResponse("400 - Bad request", status=400)

        data = searchform.cleaned_data
        builder = SPARQLQueryBuilder()
        try:
            query = builder.create_query_from_form(data)
        except SPARQLQueryBuilderError, e:
            return render_to_response('debian/error.html', {'reason': e})

        processor = SPARQLQueryProcessor()
        try:
            processor.execute_sanitized_query(query)
        except SPARQLQueryProcessorError, e:
            return render_to_response('debian/error.html', {'reason': e})
Exemple #6
0
def allnews(request):
    if request.method == 'POST':
        searchform = SearchForm(request.POST)
        
        if searchform.is_valid() is False:
            return HttpResponse("400 - Bad request", status=400)

        data = searchform.cleaned_data
        builder = SPARQLQueryBuilder()
        try:
            query = builder.create_query_from_form(data)
        except SPARQLQueryBuilderError, e:
            return render_to_response('debian/error.html', {'reason': e})

        processor = SPARQLQueryProcessor()
        try:
            processor.execute_sanitized_query(query)
        except SPARQLQueryProcessorError, e:
            return render_to_response('debian/error.html', {'reason': e})
Exemple #7
0
def results(request):
    if request.method == 'POST':
        searchform = SearchForm(request.POST)

        if searchform.is_valid() is False:
            sparqlform = SPARQLForm()
            dict = {'search': searchform, 'sparql': sparqlform}
            return render_to_response('debian/search.html', dict)

        data = searchform.cleaned_data
        builder = SPARQLQueryBuilder()
        try:
            query = builder.create_query_from_form(data)
        except SPARQLQueryBuilderError, e:
            return render_to_response('debian/error.html', {'reason': e})

        processor = SPARQLQueryProcessor()
        try:
            processor.execute_sanitized_query(query)
        except SPARQLQueryProcessorError, e:
            return render_to_response('debian/error.html', {'reason': e})
Exemple #8
0
def results(request):
    if request.method == 'POST':
        searchform = SearchForm(request.POST)

        if searchform.is_valid() is False:
            sparqlform = SPARQLForm()
            dict = {'search': searchform, 'sparql': sparqlform}
            return render_to_response('debian/search.html', dict)
        
        data = searchform.cleaned_data
        builder = SPARQLQueryBuilder()
        try:
            query = builder.create_query_from_form(data)
        except SPARQLQueryBuilderError, e:
            return render_to_response('debian/error.html', {'reason': e})

        processor = SPARQLQueryProcessor()
        try:
            processor.execute_sanitized_query(query)
        except SPARQLQueryProcessorError, e:
            return render_to_response('debian/error.html', {'reason': e})
Exemple #9
0
def sparql(request):
    if request.method == 'POST':
        sparqlform = SPARQLForm(request.POST)

        if sparqlform.is_valid() is False:
            searchform = SearchForm()
            dict = {'search': searchform, 'sparql': sparqlform}
            return render_to_response('debian/search.html', dict)

        query = sparqlform.cleaned_data['ns'] + sparqlform.cleaned_data['query']
        processor = SPARQLQueryProcessor()
        try:
            processor.execute_query(smart_str(query))
        except SPARQLQueryProcessorError, e:
            return render_to_response('debian/error.html', {'reason': e})

        if sparqlform.cleaned_data['tojson_sparql'] is True:
            return HttpResponse(simplejson.dumps(processor.results), \
                mimetype="application/json")
        else:
            (variables, results) = processor.format_sparql_results()
            dict = {'variables': variables, 'results': results}
            return render_to_response('debian/results.html', dict)
Exemple #10
0
def sparql(request):
    if request.method == 'POST':
        sparqlform = SPARQLForm(request.POST)
        
        if sparqlform.is_valid() is False:
            searchform = SearchForm()
            dict = {'search': searchform, 'sparql': sparqlform}
            return render_to_response('debian/search.html', dict)

        query = sparqlform.cleaned_data['ns'] + sparqlform.cleaned_data['query']
        processor = SPARQLQueryProcessor()
        try:
            processor.execute_query(smart_str(query))
        except SPARQLQueryProcessorError, e:
            return render_to_response('debian/error.html', {'reason': e})

        if sparqlform.cleaned_data['tojson_sparql'] is True:
            return HttpResponse(simplejson.dumps(processor.results), \
                mimetype="application/json")
        else:
            (variables, results) = processor.format_sparql_results()
            dict = {'variables': variables, 'results': results}
            return render_to_response('debian/results.html', dict)
Exemple #11
0
 def setUp(self):
     self.processor = SPARQLQueryProcessor()
     self.rpp = debian.services.RESULTS_PER_PAGE
     self.fg = debian.services.FROM_GRAPH
     debian.services.RESULTS_PER_PAGE = None
     debian.services.FROM_GRAPH = None
Exemple #12
0
 def setUp(self):
     self.processor = SPARQLQueryProcessor()
     self.rpp = debian.services.RESULTS_PER_PAGE
     self.fg = debian.services.FROM_GRAPH
     debian.services.RESULTS_PER_PAGE = None
     debian.services.FROM_GRAPH = None