The first draft of SPARQL Query Language for RDF has been issued. Understandably there are huge gaps in the text, but it looks very promising. The syntax is of the RDQL/SquishQL stable. However, it includes something that I've always felt was lacking from previous query languages - the capability to return graphs instead of lists of bound variables. There are four query forms:
- This form is the standard bound variable list, returned as XML or an as-yet-to-be-defined RDF/XML format.
- This form returns a graph of the results. You can use an asterisk to specify that the graph consists of all the matching triples, or provide a graph template.
- This is a bit hazy, but the text suggests that something like CBDs will be returned for the results.
- This is an efficient way of testing whether anything matches in the graph without having to perform all the backtracking to return all the results
Of course, these can and will probably change but I'm going to be watching developments with great interest.