I have been working with the Semantic Web for the past two years and I have read many book, forums, and specifications learning about the different component that make up the Semantic Web. I had always know that SPARQL would be similar to SQL due to the fact that they are both query languages, but I did not realize how powerful SPARQL queries could be and all the great functions that are provided in the language until reading Bob DuCharme book Learning SPARQL. It seemed that even with all of the experience that I had gained on creating SPARQL queries by reading web sits, forums, and specifications on SPARQL 1.1, I found so many great techniques and functions that I did not know SPARQL supported. The examples that are provided in the book are excellent and help solidify the query term and/or function that the author is presenting. I started to read this book in order to learn more about SPARQL and see if it could help out in some areas of the project that I was working on or not. Not only was I able to find great features that SPARQL supports, I actually learned better ways to write the SPARQL queries that were more efficient. Gaining the knowledge in both of these areas helped my project out and regret that I have is that I should have read this book sooner.
The book is very well organized and will allow anyone from a novice to someone with more experience to learn something new throughout the book. The author starts out by diving right in to SPARQL queries and provides a great overview of queries against a RDF triple store. Then he proceeds by providing a chapter dedicated to the background of the Semantic Web, RDF, SPARQL, and Linked Data. From there he dives right into the meat of SPARQL and it only gets better from there. My favorite chapters were 5 and 6, where he talked about functions supported in SPARQL and updating data with SPARQL. The reason that I found these chapters to be the most interesting was the fact that I learned a lot a great things in those chapters alone. In addition, I was able to apply what I had learned to my project and see the added value immediately. For example, I knew that SPARQL supported named graphes, I just never realized all the cool things that you can do with graphs within SPARQL.
I would recommend this to anyone that wants to learn more about SPARQL or doesn't know a thing about it and wants to query a RDF triple store like DBpedia. For any developer that is working with the semantic web and doesn't want to spend hours and hours searching the web in order to see what can be done with SPARQL, this is the book/reference for you.