At one point in the semantic technologies track of last week’s XML Summer School, I showed a little application I wrote where you enter the names of two film directors on a form, click the search button, and then see a list of all actors who’ve been in movies by both directors. The form calls a CGI script that creates a short SPARQL query, runs it, and generates an HTML page of the results. You can read more about it in the developerWorks article Build Wikipedia query forms with semantic technology; this particular form doesn’t use Wikipedia data but IMDB data from the Linked Movie Database.

The semantic web is really about the combination of tools and data.

The point of the demonstration was that semantic technology isn’t about everyone learning SPARQL, but about SPARQL becoming another technology to put behind interfaces such as web forms, just like Javascript and other scripting languages. After I demoed the form, Michael Kay (famous for XSLT and XQuery work in general and the Saxon processor in particular) told me that if the data had been available in XML he could have done the same thing with XQuery, and he wondered what exactly SPARQL added. I don’t remember exactly what I said, but with excellent hindsight I thought of a much better answer the following day.

Michael and several speakers from other tracks had come to the semantic web track with a reasonable question on their minds: what does this set of tools offer them that other sets of tools don’t? A flippant response to his question about XQuery would be “if the data had been available in XML? That’s an awfully big if!” A better answer would be that while some people focus on the tools, and others on the (linked) data, the semantic web is really about the combination of tools and data. If IMDB offered an SQL interface to their data, I could use that to list all the actors who’ve worked with two particular directors, but that too is a very big if. A SPARQL endpoint seems to be the most popular way to expose machine-readable data these days, even if the underlying data is relational. The Linked Movie Database offers the data in a SPARQL endpoint, so SPARQL is the query language for retrieving this information, and the sending of the query and the display of the results were easy with a CGI script.

So the answer to the question “what does this set of tools offer that other sets of tools don’t” is this: lots of great data to query, not to mention easy ways to convert other data formats for use by these tools. If you want to combine this data from multiple sources from across the web and from behind your own firewall, the ease with which the underlying data model lets you aggregate data is another big advantage. So, tools plus data plus ease of aggregation are what the semantic web has to offer, and that’s quite a lot.

1 Comments

By Víctor Penela on September 16, 2010 12:21 PM

A similar application from a friend of mine: http://10k.aneventapart.com/Uploads/310/

Totally agree on the need for more semantically aware apps, where the goal (the application) is the key, and not the means (the semantic technologies).