Modern Software Experience

2008-01-15

web standard

The World-Wide Web Consortium (W3C) has upgraded SPARQL from a W3C Proposed Recommendation to a Recommendation. That makes it an official web standard.

SPARQL is a query language for RDF. SPARQL is often called a query language for the Semantic Web, but perhaps that should be the query language of the Semantic Web; it is hard to imagine a Semantic Web without something like a query language. If SPARQL becomes the standard query language for Web 2.0, it may provide us with a practical definition of Web 2.0: something that uses SPARQL.

basics

SPARQL is a recursive acronym for SPARQL Protocol and RDF Query Language. SPARQL was developed by the W3C’s RDF Data Access Working Group (DAWG), and the specification is under control of the W3C.

three-in-one

Although its name stresses the query language aspect, it is actually a specification for a query language, a query result format and a data access protocol.

The query language uses SELECT FROM WHERE so familiar from SQL. Unlike SQL, SPARQL is truly a query language; SPARQL can be used to query, not to modify. Update capabilities may become part of a later version.

The query result format is XML-based. The data access protocol uses WSDL 2.0 and SOAP.

Query Language

SPARQL Query Language source consist of Unicode characters. Source files must be stored as UTF-8 encoded text. The recommended file extension is *.sq (all lowercase). For storage on the Macintosh HFS file system, the use of the file type TEXT is recommended. The MIME type for SPARQL Query Language is "application/sparql-query". There is no magic number for SPARQL files. SPARQL files will often have the string PREFIX (any casing) near the beginning of the file.

Query Results XML Format

The SPARQL Query Results XML Format is XML-based. The recommended file extension is .srx (all lowercase). For storage on the Macintosh HFS file system, the use of the file type TEXT is recommended. The MIME Type for the SPARQL Query Results XML Format is "application/sparql-results+xml".

Protocol

The SPARQL protocol is defined using the Web Services Description Language 2 (WSDL2). There is just one interface, SparqlQuery, with just one operation, query. The protocol defines the various types and messages that support this simple model.

links