def test_map_and_execute(self): self.query.query = mock_db.GET_LANG_BY_NAME self.query.arg_spec = u"lang_name:n3term" result = self.query.map_and_execute(lang_name='"Danish"') danish_iri = sparql.IRI(EIONET_RDF + '/languages/da') self.assertEqual(list(result), [(danish_iri, )])
def test_parse_IRI(self): value = 'http://example.com/some_iri' result = sparql.parse_n3_term('<%s>' % value) self.assertTrue(type(result) is sparql.IRI) self.assertEqual(result.value, value) i = sparql.IRI(value) self.assertEqual(sparql.parse_n3_term(i.n3()), i)
def objinfo(): subject = sparql.IRI(flask.request.args['s']) query = flask.render_template('objinfo.sparql', **{'subject': subject}) return flask.render_template( 'objinfo.html', **{ 'subject': subject, 'rows': sparql.query(ENDPOINT, query), })
def test_map_two_values(self): en = EIONET_RDF + '/languages/en' self._test(u'name:string lang_url:n3term', { 'name': u"Joe", 'lang_url': '<%s>' % en }, { 'name': sparql.Literal(u"Joe"), 'lang_url': sparql.IRI(en) })
def test_compare_with_non_iri(self): i1 = sparql.IRI("http://example.com/asdf") self.assertFalse(i1 == "http://example.com/asdf") self.assertFalse(i1 == u"http://example.com/asdf") self.assertFalse(i1 == None) self.assertFalse(i1 == 13) self.assertFalse(i1 == 13.0) self.assertFalse(i1 == ['http://example.com/asdf']) self.assertFalse(i1 == {'http://example.com/asdf': 'http://example.com/asdf'})
def test_national(self): """ Simple query with UTF-8 """ resultfp = _open_datafile("national.srx") result = sparql._ResultsParser(resultfp) self.assertEqual([u'subj', u'nameen', u'nameru'], result.variables) rows = result.fetchall() row0 = rows[0] self.assertEqual("http://aims.fao.org/aos/geopolitical.owl#Germany", str(row0[0])) self.assertEqual(sparql.IRI(u"http://aims.fao.org/aos/geopolitical.owl#Germany"), row0[0]) self.assertEqual(u"Германия", unicode(row0[2]))
def test_simple(self): """ Simple query with unbound variables """ resultfp = _open_datafile("countries.srx") result = sparql._ResultsParser(resultfp) self.assertEqual([u'eeaURI', u'gdpTotal', u'eeacode', u'nutscode', u'faocode', u'gdp', u'name'], result.variables) rows = result.fetchall() row0 = rows[0] self.assertEqual(sparql.IRI(u"http://rdfdata.eionet.europa.eu/eea/countries/BE"), row0[0]) self.assertEqual(sparql.Literal("471161.0", XSD_FAO_MILLION), row0[1]) self.assertEqual(sparql.Literal("44.252934", sparql.XSD_FLOAT), row0[5])
def test_unicode(self): value = 'http://example.com/some_iri' class Tricky(object): def __unicode__(self): return '<%s>' % value if six.PY2: parsed = sparql.parse_n3_term(Tricky()) else: parsed = sparql.parse_n3_term(Tricky().__unicode__()) self.assertEqual(parsed, sparql.IRI(value))
def test_REST_query(self): from webob import Request import sparql from Products.ZSPARQLMethod._depend import json from test_method import EIONET_RDF req = Request.blank('http://test/?lang_name=Danish') response = req.get_response(self.app) self.assertEqual(response.headers['Content-Type'], 'application/json') json_response = json.loads(response.body) danish_iri = sparql.IRI(EIONET_RDF + '/languages/da') self.assertEqual(json_response['rows'], [[danish_iri.n3()]])
def test_national(self): """ Simple query with UTF-8 """ resultfp = _open_datafile('national.srx') result = sparql._ResultsParser(resultfp) self.assertEqual([u'subj', u'nameen', u'nameru'], result.variables) rows = result.fetchall() row0 = rows[0] if six.PY2: self.assertEqual( 'http://aims.fao.org/aos/geopolitical.owl#Germany', str(row0[0])) else: self.assertEqual( 'http://aims.fao.org/aos/geopolitical.owl#Germany', row0[0].value) self.assertEqual( sparql.IRI(u'http://aims.fao.org/aos/geopolitical.owl#Germany'), row0[0]) self.assertEqual(u"Германия", six.text_type(row0[2]))
def test_map_one_parsed_iri(self): en = EIONET_RDF + '/languages/en' self._test(u'lang_url:n3term', {'lang_url': '<%s>' % en}, {'lang_url': sparql.IRI(en)})
def test_map_one_iri(self): en = EIONET_RDF + '/languages/en' self._test(u'lang_url:iri', {'lang_url': en}, {'lang_url': sparql.IRI(en)})
def test_repr(self): """ repr should return the literal in N3 syntax """ i = sparql.IRI("http://example.com/asdf") self.assertEqual(repr(i), "<IRI <http://example.com/asdf>>")
def test_unicode(self): value = 'http://example.com/some_iri' class Tricky(object): def __unicode__(self): return '<%s>' % value self.assertEqual(sparql.parse_n3_term(Tricky()), sparql.IRI(value))
def test_one_iri(self): onto_name = EIONET_RDF + '/ontology/name' self._test(u'SELECT * WHERE { ?s ${pred} "Joe" }', {'pred': sparql.IRI(onto_name)}, u'SELECT * WHERE { ?s <%s> "Joe" }' % onto_name)
def test_query_with_arguments(self): self.method.query = mock_db.GET_LANG_BY_NAME result = self.method.execute(lang_name=sparql.Literal("Danish")) danish_iri = sparql.IRI(EIONET_RDF + '/languages/da') self.assertEqual(result['result']['rows'], [(danish_iri, )])
def test_one_iri(self): onto_name = EIONET_RDF + '/ontology/name' self._test(u"SELECT * WHERE { ?s ${pred} 'Joe' }", {'pred': sparql.IRI(onto_name)}, u"SELECT * WHERE { ?s <%s> 'Joe' }" % onto_name)