SPARQL is the official language for querying RDF datasets, and is recognized as one of the key technologies of the semantic web. This talks presents our study of SPARQL CONSTRUCT queries, that is, queries which output RDF graphs, and our advancement in a proposal for a general purpose recursion operator to be added to SPARQL. Contrary to other much more well studied SPARQL fragments, for CONSTRUCT queries we are able to show a clean connection to well-known logical and database formalisms, from first order logic and its positive fragment to data exchange settings. We use these connections to show other properties of CONSTRUCT queries, such as composability and complexity of evaluation. We use our framework to define a simple but powerful recursive operator to be added to SPARQL and to study its main properties. We finish this task by showing how to implement this operator as a plug-in on top of existing SPARQL engines and report its performance on real world datasets.