SPARQL Examples
From info216
Lecture 3:SPARQL
The KG4News knowledge graph can be accessed here (namespace kb) (read-only). To test updates, you can run your own Blazegraph server or try the I2S sandbox.
Limit
SELECT ?p WHERE {
?s ?p ?o .
}
LIMIT 10
List distinct properties only (with limit)
SELECT DISTINCT ?p WHERE {
?s ?p ?o .
}
LIMIT 10
Limit with offset
SELECT DISTINCT ?p WHERE {
?s ?p ?o .
}
LIMIT 10 OFFSET 9
List rdf:types
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?t WHERE {
?s rdf:type ?t .
}
LIMIT 50
URI for Tim Berners-Lee
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT ?person WHERE {
?person foaf:name ?name .
FILTER(CONTAINS(?name, "Berners-Lee"))
}
LIMIT 10 # best to use limit if something goes wrong
Describe Tim Berners-Lee
DESCRIBE <http://i2s.uib.no/kg4news/author/1432678629>
DESCRIBE returns a new RDF graph, whereas SELECT returns a table of rows.
Papers that mention "Semantic Web" in the title
PREFIX ss: <http://semanticscholar.org/>
SELECT DISTINCT ?paper ?title WHERE {
?paper ss:title ?title .
FILTER(CONTAINS(STR(?title), "Semantic Web"))
}
LIMIT 50
Similar filter that ignores capitalisation (lower/upper case)
FILTER(REGEX(STR(?title), "Semantic Web", "i"))
Authors sorted by name
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT * WHERE {
?author foaf:name ?name .
}
ORDER BY ?name
LIMIT 10