Skip to content

sparqlite

Query RDF endpoints with a clean, Pythonic API

Full SPARQL 1.1 support

Execute SELECT, ASK, CONSTRUCT, DESCRIBE, and UPDATE queries with a simple, consistent API.

Simple return types

SELECT returns dict, ASK returns bool, CONSTRUCT/DESCRIBE return rdflib.Graph.

Automatic retry

Built-in exponential backoff for transient errors keeps your queries running smoothly.

from sparqlite import SPARQLClient
with SPARQLClient("https://opencitations.net/meta/sparql") as client:
result = client.query("""
PREFIX fabio: <http://purl.org/spar/fabio/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX prism: <http://prismstandard.org/namespaces/basic/2.0/>
SELECT ?article ?title ?date WHERE {
?article a fabio:JournalArticle ;
dcterms:title ?title ;
prism:publicationDate ?date .
}
LIMIT 5
""")
for row in result["results"]["bindings"]:
print(f"{row['title']['value']} ({row['date']['value']})")