Skip to main content

Python API to query a SPARQL endpoint

Project description

**************************
SPARQL HTTP client library
**************************

`sparql-client` is a library to query a SPARQL endpoint. It will automatically
convert literals to the coresponding Python types.

Visit http://www.eionet.europa.eu/software/sparql-client/ for documentation and
examples.


API
---

First you open a connection to the endpoint::

s = sparql.Service(endpoint)

Then you make the query::

result = s.query(statement)

If you have made a SELECT query, then you can read the result with fetchone() or fetchall()::

for row in result.fetchone():

If you have made an ASK query, then you can read the result (a boolean value) with hasresult():

works = result.hasresult()


Conversion of data types
------------------------

The library will automatically convert typed literals to a coresponding
simple type in Python. Dates are also converted if the dateutil_ library is
available.

.. _dateutil: http://labix.org/python-dateutil


Running the unit tests
----------------------

If you have nose_ installed, just run ``nosetests`` in the top-level directory.
Some tests require the python-dateutil_ (version 1.5) or mock_ libraries.
Tested under Python 2.4 through 2.7.

.. _nose: http://somethingaboutorange.com/mrl/projects/nose/
.. _python-dateutil: http://niemeyer.net/python-dateutil
.. _mock: http://www.voidspace.org.uk/python/mock/


License
-------
The contents of this package are subject to the Mozilla Public
License Version 1.1 (the "License"); you may not use this package
except in compliance with the License. You may obtain a copy of
the License at http://www.mozilla.org/MPL/

Software distributed under the License is distributed on an "AS
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.

The Original Code is SPARQL client version 1.0.

The Initial Owner of the Original Code is European Environment
Agency (EEA). Portions created by Eau de Web for EEA are
Copyright (C) European Environment Agency. All Rights Reserved.


Authors
-------
* Søren Roug, EEA
* Alex Morega, Eau de Web


Changelog
=========

1.2 - (2013-05-20)
------------------
* Upgrade step:
- install system dependency libcurl3-dev (Debian/Ubuntu) / curl-devel (CentOS)
[szabozo0 refs #14349]
* Change: Use pycurl2 instead of pycurl
[szabozo0 refs #14349]
* Bugfix: Use pycurl instead of urllib2, added timeout functionality
[szabozo0 refs #14349]

1.1 - (2013-03-15)
------------------
* Feature: Removed sparql error handling quickfix
[szabozo0 refs #13705]

1.0 - (2013-01-28)
------------------
* Feature: Handle sparql errors
[szabozo0 #9608]

0.16 - (2013-01-15)
-------------------
* Bug fix: Strip the endpoint url
[szabozo0]

0.15 - (2013-01-10)
-------------------
* Packaging fix: inline contents of version.txt
[moregale]

0.14 - (2013-01-10)
-------------------
* Bug fix: updated History.txt
[ghicaale]
* Buf fix: unit test
[moregale]

0.13 - (2012-09-11)
-------------------
* Change: changed from HTTP POST to GET
[roug]

0.12 - (2012-09-11)
-------------------
* No changes

0.11 - (2012-04-15)
-------------------
* Feature: added copyright message to sparql.py
[roug]

0.10 - (2012-03-05)
-------------------
* Feature: map the ``xsd:int`` type to Python's ``int``
[moregale]

0.9 - (2011-10-24)
------------------
* Feature: new argument `convert_type` for `unpack_row`
[moregale]

0.8 - (2011-08-29)
------------------
* First version available on PyPI
[roug, moregale]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sparql-client-1.2.zip (17.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page