Full SPARQL 1.1 support
Execute SELECT, ASK, CONSTRUCT, DESCRIBE, and UPDATE queries with a simple, consistent 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.
High performance
Built on pycurl for 2x faster requests than httpx or requests.
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']})")