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 for documentation and


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

.. _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:
.. _python-dateutil:
.. _mock:

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

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.

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


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

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

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

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

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

0.11 - (2012-04-15)
* Feature: added copyright message to

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

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

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.

Files for sparql-client, version 1.2
Filename, size File type Python version Upload date Hashes
Filename, size (17.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page