I've updated my SPARQL RDF Query Language Reference to match the recently released SPARQL Query Language 21 July 2005 Working Draft.
While doing that I have also got a list of some of the more visible (syntax) changes, which is are as follows (this may not be a complete list):
- Blank nodes are allowed in any part of a triple pattern and act as
variables that cannot be
SELECT
ed, that is, cannot be returned in variable bindings results. - FILTER expressions now normally take
()
s except where it isn't ambiguous, such as when any of the builtin functions such asREGEX
are used at the root of the expression e.g.FILTER REGEX(...)
- The
FROM
URI keyword is now repeatable which adds more triples to the background graph, doing an RDF merge. Any boundaries between loaded graphs are lost. If you want those, useFROM NAMED
. ASC
andDESC
inORDER BY
now use()
s not[]
s.ORDER BY
can now explicitly take expressions and extension functions without the need forASC
(default) orDESC
.- The arguments of
REGEX
are now expressions not constant literals - The pattern syntax of
REGEX
is from XQuery 1.0 / XPath 2.0 Functions and Operators modifying it from XML Schema Datatypes Regular Expressions and similar to a Perl subset.
ObPlug: You can try most of this out in my Rasqal RDF query demo which is updated for the syntax, but the engine doesn't do all the language yet.