Ive been writing about the Semantic Web for a few years now—pretty much ever since I first read about it in Tim Berners-Lees 1999 book, "Weaving the Web."
During that time, Ive been excited about the possibilities of the Semantic Web. The way its designed, all content would be easy to identify, search and build programs with.
However, the Semantic Web has been pretty slow in coming. There are technically savvy people who have never even heard of it, and many key Semantic Web technologies are only now making headway in research and education areas.
But while the Semantic Web may be a mystery to many, pretty much everyone has heard of Web 2.0. Its ambiguous and overreaching, but Web 2.0 essentially refers to many cool new participatory Web technologies, such as blogging, podcasting, wikis, image tagging and socially oriented Web sites.
The interesting thing is that Web 2.0 and the Semantic Web have a lot in common. When a Flickr user tags a bunch of images, he or she is fulfilling the Semantic Webs need to know what the images are about. The same goes for wikis and social bookmarking sites like del.icio.us.
Theres no denying that the Web 2.0 boom has done a lot not only to boost the Semantic Web but also to help bring about Tim Berners-Lees original idea of the Web—an environment in which it would be as easy to create and comment on content as it is to surf for it.
But one problem that both the Semantic Web and Web 2.0 have faced is a lack of good querying and search technologies designed specifically for them. This makes it hard to pull off some of the more enticing integrated programs and Web applications that Web 2.0 and the Semantic Web make possible.
However, that finally may be changing. Recently, the World Wide Web Consortium released as a candidate recommendation a new technology designed to make the Semantic Web (and, in turn, much of Web 2.0) more searchable.
Called SPARQL (pronounced "sparkle"), this standard brings about a standardized SQL-like query language for the Semantic Web. And, like most Semantic Web standards, it is heavily based on RDF (Resource Description Framework), although it also makes use of many Web services standards, such as WSDL (Web Services Description Language).
SPARQL essentially consists of a standard query language, a data access protocol and a data model (which is basically RDF).
Some people out there are probably thinking, So what? Sounds like just another search tool—big whoop. But theres a big difference between blindly searching the entire Web and querying actual data models.
The ability of database queries to pull data from giant databases is pretty much the basis of a large number of enterprise applications. No one argues about the value of being able to write a query in an application that can pull relevant customer and product data.
Now, imagine writing a similarly small application that does the same thing—only with data stored across the entire World Wide Web. Imagine being able to query all RSS feeds, every image site, Google applications, individual Friend of a Friend files, and on and on.
Im thinking that there are some pretty clever people out there who could build some very cool applications with that kind of power. And, as a standard, it will be consistent across applications, sites and services.
Even more encouraging is that, unlike some other promising Semantic Web initiatives, SPARQL doesnt require a big change in the way content is created or used, thanks to the rise of Web 2.0 technologies. Once its out of the gate, SPARQL should work as well with most Web 2.0 sites and applications as it does with those that were designed specifically for the Semantic Web.
With its release as a candidate recommendation, SPARQL moves to the stage where developers are expected to start some implementations. If all goes well, it could become a full W3C standard by the summer.
Me, I cant wait to see what people start to come up with using SPARQL. We may even have to coin a new term. But, please, Im begging, lets not use Web 3.0.
Labs Director Jim Rapoza can be reached at firstname.lastname@example.org.