コード例 #1
0
    def test_unpack(self):
        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 = list(map(sparql.unpack_row, result.fetchall()))
        row0 = rows[0]
        self.assertEqual(u'http://rdfdata.eionet.europa.eu/eea/countries/BE',
                         row0[0])

        # XSD_FAO_MILLION unpacked as string

        self.assertEqual('471161.0', row0[1])

        # XSD_FLOAT unpacked as float

        self.assertNotEqual('44.252934', row0[5])
        self.assertEqual(44.252934, row0[5])
コード例 #2
0
    def test_ask_query(self):
        """ Check that http://www.w3.org/TR/rdf-sparql-XMLres/output2.srx works """

        resultfp = _open_datafile('w3-output2.srx')
        result = sparql._ResultsParser(resultfp)
        rows = result.fetchall()
        assert len(rows) == 0
コード例 #3
0
    def test_fetchmany(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.fetchmany(2)
        self.assertEqual(2, len(rows))
        row0 = rows[0]
        if six.PY2:
            self.assertEqual(
                'http://rdfdata.eionet.europa.eu/eea/countries/BE',
                str(row0[0]))
        else:
            self.assertEqual(
                'http://rdfdata.eionet.europa.eu/eea/countries/BE',
                row0[0].value)
        rows = result.fetchmany(2)
        self.assertEqual(1, len(rows))
        row0 = rows[0]
        assert str(row0[6]) == 'Japan'
コード例 #4
0
ファイル: testparser.py プロジェクト: eea/sparql-client
 def test_invalid_fetchone(self, mocked_element):
     """ Simple query with invalid characters """
     resultfp = _open_datafile("invalid-result.srx")
     result = sparql._ResultsParser(resultfp)
     setattr(result, 'events', result._fetchhead())
     for row in result.fetchone():
       print row
コード例 #5
0
 def test_invalid_fetchone(self, mocked_element):
     """ Simple query with invalid characters """
     resultfp = _open_datafile("invalid-result.srx")
     result = sparql._ResultsParser(resultfp)
     setattr(result, 'events', result._fetchhead())
     for row in result.fetchone():
         print(row)
コード例 #6
0
 def test_w3_example(self):
     """ Check that http://www.w3.org/TR/rdf-sparql-XMLres/output.srx works """
     resultfp = _open_datafile("w3-output.srx")
     result = sparql._ResultsParser(resultfp)
     self.assertEqual([u'x', u'hpage', u'name', u'mbox', u'age', u'blurb', u'friend'], result.variables)
     rows = result.fetchall()
     row0 = rows[0]
     self.assertEqual("http://work.example.org/alice/", str(row0[1]))
コード例 #7
0
 def test_big_text(self):
     # `xml.dom.pulldom` may return several text nodes within a single
     # binding. This seems to be triggered especially by entities, e.g.
     # "<".
     resultfp = _open_datafile("big_text.srx")
     result = sparql._ResultsParser(resultfp)
     row0 = result.fetchall()[0]
     self.assertEqual("multiple<br>paragraphs<br>here", row0[0].value)
     self.assertEqual("http://example.com/", row0[1].value)
     self.assertEqual("bnode.id", row0[2].value)
コード例 #8
0
 def test_big_text(self):
     # `xml.dom.pulldom` may return several text nodes within a single
     # binding. This seems to be triggered especially by entities, e.g.
     # "&lt;".
     resultfp = _open_datafile("big_text.srx")
     result = sparql._ResultsParser(resultfp)
     row0 = result.fetchall()[0]
     self.assertEqual("multiple<br>paragraphs<br>here", row0[0].value)
     self.assertEqual("http://example.com/", row0[1].value)
     self.assertEqual("bnode.id", row0[2].value)
コード例 #9
0
    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])
コード例 #10
0
    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]))
コード例 #11
0
    def test_unpack(self):
        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 = map(sparql.unpack_row, result.fetchall())
        row0 = rows[0]
        self.assertEqual(u"http://rdfdata.eionet.europa.eu/eea/countries/BE", row0[0])
        # XSD_FAO_MILLION unpacked as string
        self.assertEqual("471161.0", row0[1])
        # XSD_FLOAT unpacked as float
        self.assertNotEqual("44.252934", row0[5])
        self.assertEqual(44.252934, row0[5])
コード例 #12
0
ファイル: testparser.py プロジェクト: zotya/sparql-client
    def test_unpack(self):
        resultXML = _load_datafile("countries.srx")
        result = sparql._ResultsParser(resultXML)
        self.assertEqual([u'eeaURI', u'gdpTotal', u'eeacode', u'nutscode', u'faocode', u'gdp', u'name'], result.variables)

        rows = map(sparql.unpack_row, result.fetchall())
        row0 = rows[0]
        self.assertEqual(u"http://rdfdata.eionet.europa.eu/eea/countries/BE", row0[0])
        # XSD_FAO_MILLION unpacked as string
        self.assertEqual("471161.0", row0[1])
        # XSD_FLOAT unpacked as float
        self.assertNotEqual("44.252934", row0[5])
        self.assertEqual(44.252934, row0[5])
コード例 #13
0
ファイル: testparser.py プロジェクト: zotya/sparql-client
    def test_fetchmany(self):
        """ Simple query with unbound variables """
        resultXML = _load_datafile("countries.srx")
        result = sparql._ResultsParser(resultXML)
        self.assertEqual([u'eeaURI', u'gdpTotal', u'eeacode', u'nutscode', u'faocode', u'gdp', u'name'], result.variables)

        rows = result.fetchmany(2)
        self.assertEqual(2, len(rows))
        row0 = rows[0]
        self.assertEqual("http://rdfdata.eionet.europa.eu/eea/countries/BE", str(row0[0]))
        rows = result.fetchmany(2)
        self.assertEqual(1, len(rows))
        row0 = rows[0]
        assert str(row0[6]) == "Japan"
コード例 #14
0
    def test_fetchmany(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.fetchmany(2)
        self.assertEqual(2, len(rows))
        row0 = rows[0]
        self.assertEqual("http://rdfdata.eionet.europa.eu/eea/countries/BE", str(row0[0]))
        rows = result.fetchmany(2)
        self.assertEqual(1, len(rows))
        row0 = rows[0]
        assert str(row0[6]) == "Japan"
コード例 #15
0
    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]))
コード例 #16
0
 def test_hasresult(self):
     """ Check that http://www.w3.org/TR/rdf-sparql-XMLres/output2.srx works """
     resultfp = _open_datafile("w3-output2.srx")
     result = sparql._ResultsParser(resultfp)
     assert result.hasresult() == True
コード例 #17
0
ファイル: testconversion.py プロジェクト: zotya/sparql-client
 def setUp(self):
     fp = open(os.path.join(_dirname, "xsdtypes.srx"))
     self._xml = fp.read()
     fp.close()
     self.result = sparql._ResultsParser(self._xml)
コード例 #18
0
 def setUp(self):
     self._fp = open(os.path.join(_dirname, "xsdtypes.srx"))
     self.result = sparql._ResultsParser(self._fp)
コード例 #19
0
ファイル: testconversion.py プロジェクト: eea/sparql-client
 def setUp(self):
     self._fp = open(os.path.join(_dirname, "xsdtypes.srx"))
     self.result = sparql._ResultsParser(self._fp)
コード例 #20
0
 def test_ask_query(self):
     """ Check that http://www.w3.org/TR/rdf-sparql-XMLres/output2.srx works """
     resultfp = _open_datafile("w3-output2.srx")
     result = sparql._ResultsParser(resultfp)
     rows = result.fetchall()
     assert len(rows) == 0
コード例 #21
0
 def test_hasresult(self):
     """ Check that http://www.w3.org/TR/rdf-sparql-XMLres/output2.srx works """
     resultfp = _open_datafile("w3-output2.srx")
     result = sparql._ResultsParser(resultfp)
     assert result.hasresult() == True