# pip install sparqlwrapper # https://rdflib.github.io/sparqlwrapper/ import sys from SPARQLWrapper import SPARQLWrapper, JSON endpoint_url = "http://sparql.example/endpoint" query = """# cats SELECT ?cat ?catLabel WHERE { ?cat wdt:P31 wd:Q146. SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } } """ def get_results(endpoint_url, query): user_agent = "WDQS-example Python/%s.%s" % (sys.version_info[0], sys.version_info[1]) # TODO adjust user agent; see https://w.wiki/CX6 sparql = SPARQLWrapper(endpoint_url, agent=user_agent) sparql.setQuery(query) sparql.setReturnFormat(JSON) return sparql.query().convert() results = get_results(endpoint_url, query) for result in results["results"]["bindings"]: print(result)