SPARQL
SPARQL is the W3C-standardized query language for RDF graphs, recommended as SPARQL 1.0 in 2008 and SPARQL 1.1 in 2013. Queries match patterns of triples and return tabular or graph results, and the language is also a protocol for HTTP-accessible query endpoints such as the Wikidata Query Service and DBpedia.
SPARQL is the standard query language for RDF data. The name is a recursive acronym for SPARQL Protocol and RDF Query Language, pronounced "sparkle". It became a W3C recommendation as SPARQL 1.0 on January 15, 2008, and was extended to SPARQL 1.1 in March 2013 with features including subqueries, aggregation, federated queries, and an update sublanguage. Queries are written as patterns of triples, with variables (prefixed with `?`) in the subject, predicate, or object position. The query engine finds all bindings that make the pattern true against the target graph. SPARQL supports the usual relational operations—filtering, optional joins, union, ordering, limit and offset—as well as property paths that traverse the graph transitively. Four result forms are defined: SELECT returns a table of bindings, ASK returns a boolean, CONSTRUCT builds a new RDF graph from the matches, and DESCRIBE returns a graph describing a given resource. SPARQL is also a protocol: a SPARQL endpoint is an HTTP service that accepts queries and returns results in JSON, XML, CSV, or TSV. Large public endpoints include the Wikidata Query Service, the DBpedia endpoint, and the European Union, UK, and US government open-data services. Federated queries allow a single query to span multiple endpoints, fetching subresults from each. Common open-source implementations include Apache Jena, OpenLink Virtuoso, Blazegraph, and Eclipse RDF4J. Performance is sensitive to the shape of the query and the size of intermediate joins; public endpoints typically impose timeouts and result-row limits to protect against pathological queries. SPARQL is the standard access path to the Linked Data and RDF cloud, though many consumers prefer simpler precomputed JSON-LD dumps when their access pattern is read-mostly.