From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search

SPARQL (pronounced "sparkle"[1] ) is an RDF query language; its name is a recursive acronym that stands for SPARQL Protocol and RDF Query Language. It was standardized by the RDF Data Access Working Group (DAWG) of the World Wide Web Consortium, and is considered a key semantic web technology. On 15 January 2008, SPARQL became an official W3C Recommendation. [2]

SPARQL allows for a query to consist of triple patterns, conjunctions, disjunctions, and optional patterns.[3]

Implementations for multiple programming languages exist.[4] "SPARQL will make a huge difference" according to Sir Tim Berners-Lee in a May 2006 interview. [5]



SPARQL allows users to write globally unambiguous queries. For example, the following query returns names and emails of every person in the world.

PREFIX foaf: <>
SELECT ?name ?email
  ?person a foaf:Person.
  ?person foaf:name ?name.
  ?person foaf:mbox ?email.

assuming the ontologies in use to describe a person eventually converge to FOAF. This illustrates the Semantic Web's vision of treating the Web as a single enormous database. Notice that this global unambiguity roots in the fact that every identifier in SPARQL, URI, is globally unambiguous, unlike "email" or "e-mail" normally used in SQL.

This query can be distributed to multiple SPARQL endpoints, computed distributedly, and results gathered, a procedure known as federated query.


Another SPARQL query example that models the question "What are all the country capitals in Africa?":

PREFIX abc: <>
SELECT ?capital ?country
  ?x abc:cityname ?capital ;
     abc:isCapitalOf ?y .
  ?y abc:countryname ?country ;
     abc:isInContinent abc:Africa .

Variables are indicated by a "?" or "$" prefix. Bindings for ?capital and the ?country will be returned.

The SPARQL query processor will search for sets of triples that match these four triple patterns, binding the variables in the query to the corresponding parts of each triple. Important to note here is the "property orientation" (class matches can be conducted solely through class-attributes / properties - see Duck typing)

To make queries concise, SPARQL allows the definition of prefixes and base URIs in a fashion similar to Turtle. In this query, the prefix "abc" stands for “”.


External links

Personal tools

Served in 0.373 secs.