“SPARQL” is pronounced “Sparkle” and stands for SPARQL “Protocol and RDF Query Language”. You didn’t really think there’d be something like RDF and not a query method for it did you? SPARQL is a query language and a protocol for accessing RDF. The RDF Data Access Working Group (“DAWG” – yes, I do believe that they wear baseball caps sideways) is in charge of making modifications and they recently released a whole new bunch of documentation for you to use. It’s going to be important for you to understand SPARQL if you’re on your way down the RDF path. Google, Yahoo and so many other engines are busy with semantic web tools and methods. As more and more new things are released, it’ll be handy to understand RDF, OWL and things like SPARQL.
(For this post to be useful to you, you’ll have to be familiar with RDF first. If not start here instead)
What is it?
“SPARQL does not do anything other than take the description of what the application wants, in the form of a query, and returns that information, in the form of a set of bindings or an RDF graph.” (Jena project)
RDF means that data can be decentralized and distributed, and models can be merged very easily. Serialized RDF can be exchanged over HTTP. Applications can be loosely coupled to multiple RDF data sources over the Web.
SPARQL is “data-oriented”: It only queries the things that are in the models. There is no inference in the query language itself. It is essentially a standard query language (SQL), a data access protocol and a data model (RDF).
Why do we need it?
Search engines query the web at large, and SQL allows us to query databases both huge and small. SPARQL allows us to do what SQL does for databases, but across the entire web. You can query applications, RSS feeds, files,…anything. That’s pretty cool isn’t it?
The Jena Toolkit:
Jena became a great friend of mine, and she continues to to be. It’s a semantic web toolkit which allows you to build applications in RDF, OWL, RDFS and you can use SPARQL in there too. It’s a semantic web development environment built in Java which provides you with the APIs that you need. You can extract and manipulate data from RDF graphs and then write to them as well. The graphs are represented as a “model” (an abstraction), and that model can be accessed and so on by other applications. It can also be queried using SPARQL and then updated using SPARUL (SPARQL/Update).
If you believe that the semantic web is important and is going to become even more important to the web, then it’s time to start playing with all of the different tools available out there. There is more to the semantic web than RDF but it’s a good place to start.
A lot of people have said to me something along the lines of “Oh Google and now Bing…Yahoo have missed the boat sadly”. I wouldn’t be so sure, I think that they’re pretty sorted and they know exactly what they’re doing. I’d say they’re ahead of the semantic web game and I’m really looking forward to developments in this area.
Read a lot more here:
Yahoo tutorial (very easy to understand, by Dave Beckett in 2006)