Tim Berners-Lee's Semantic Web project has been churning away in the background for so long now that it's easy to overlook the steady progress it is making. The latest piece of the jigsaw puzzle to appear is SPARQL:
Many successful query languages exist, including standards such as SQL and XQuery. These were primarily designed for queries limited to a single product, format, type of information, or local data store. Traditionally, it has been necessary to formulate the same high-level query differently depending on application or the specific arrangement chosen for the relational database. And when querying multiple data sources it has been necessary to write logic to merge the results. These limitations have imposed higher developer costs and created barriers to incorporating new data sources.
The goal of the Semantic Web is to enable people to share, merge, and reuse data globally. SPARQL is designed for use at the scale of the Web, and thus enables queries over distributed data sources, independent of format. Creating a single query across diverse data stores is easier than having to create multiple queries; it also costs less and provides richer results.
Because SPARQL has no tie to a specific database format, it can be used to take advantage of the tidal wave of Web 2.0 data and mash it up with other Semantic Web resources. Furthermore, because disparate data sources may not have the same 'shape' or share the same properties, SPARQL is designed to query non-uniform data.
The SPARQL specification defines a query language and a protocol and works with the other core Semantic Web technologies from W3C:
Resource Description Framework (RDF) for representing data; RDF Schema; Web Ontology Language (OWL) for building vocabularies; and Gleaning Resource Descriptions from Dialects of Languages (GRDDL), for automatically extracting Semantic Web data from documents. SPARQL also makes use of other W3C standards found in Web services implementations, such as Web Services Description Language (WSDL).
There are already 14 known implementations of SPARQL, many of which are open source.
No excuse, then.