Abstract: In this talk we will outline the basic theoretical properties
of the RDF query language SPARQL, when extended with the ability to
express recursive queries. We will begin by formalizing the syntax and
the semantics of recursive SPARQL, identify a fragment of the language
which can be evaluated in a finite amount of time, and gauge its
expressive power by comparing it to various fragments of Datalog. More
generally, this talk will try to illustrate a theoretician's perspective
on query language design (guided by the example of SPARQL), and pinpoint
interesting problems that can occur along the way. We will also try to
give some insight into why theory is important in the language design
process.