Introduction to SPARQL

SPARQL is a query language for RDF data. It is commonly used in semantic web, linked data, and big data applications. There is a growing number of websites and organizations that provide SPARQL endpoints for querying their public data like Wikidata and DBpedia.

What is RDF?

An RDF dataset is simply a set of subject-predicate-object triples. This way of conceptually describing or modeling data is different to the commonly used relational model and is very useful for semantic web applications.

Here is an example of an RDF document in the N-triples/Turtle format:

<http://example.org/#alice> <http://xmlns.com/foaf/0.1/knows> <http://example.org/#bob> .
<http://example.org/#alice> <http://xmlns.com/foaf/0.1/name> "Alice" .
<http://example.org/#bob> <http://xmlns.com/foaf/0.1/name> "Bob" .

Example SPARQL query

Here is an example of a SPARQL query against the RDF dataset:

SELECT ?name
WHERE
{
?person <http://xmlns.com/foaf/0.1/knows> <http://example.org/#bob> .
?person <http://xmlns.com/foaf/0.1/name> ?name .
}

This query searches for all matching sets of triples and returns the list of names of every person that knows Bob.

Public SPARQL endpoints

You can start writing and executing SPARQL queries right away using interactive SPARQL query services. The table below lists the SPARQL query services that provide access to public datasets:

Website/OrganizationURL
Wikidatahttps://query.wikidata.org/
DBpediahttps://dbpedia.org/sparql
EUhttps://data.europa.eu/euodp/sparqlep
UK Governmenthttp://statistics.data.gov.uk/sparql
UNESCOhttp://vocabularies.unesco.org/sparql-form/
UniProthttps://sparql.uniprot.org/

The websites listed above are the best way to get started with SPARQL because they allow you to run queries without having to set anything up.

Further reading

For an in-depth discussion about SPARQL, take a look at Bob DuCharme's Learning SPARQL: Querying and Updating with SPARQL 1.1 published by O'Reilly Media. For a more technical overview of SPARQL, visit W3C's SPARQL 1.1 Overview.

Related projects

An overview of the official Nobel Prize Linked Data dataset with some example SPARQL queries.
SPARQL, RDF
SPARQL federation is an incredibly useful feature for querying distributed RDF graphs.
SPARQL, RDF
Query SPARQL endpoints online.
SPARQL, RDF
Query and enrich structured data.
SPARQL, RDF, Turtle
Validate RDF data against SHACL shapes.
RDF, SHACL, Semantic Web, Linked Data
Look up entities on the Semantic Web.
Semantic Web, Linked Data, RDF
An overview of the available RDF datasets and discovery tools for COVID-19.
linked data, RDF
Provisioning a graph database cluster in AWS using TypeScript.
AWS, RDF
Author and visualize RDF-based knowledge graphs.
RDF, knowledge graphs, data visualization
Query FHIR data using SPARQL.
FHIR, SPARQL
Edit Turtle documents online.
Turtle, RDF
An outline of the structure of the Gene Ontology RDF graph and ways to query it.
bioinformatics, RDF

Made by Anton Vasetenkov.

If you want to say hi, you can reach me on LinkedIn or via email. If you like my work, you can support me by buying me a coffee.