Some people argue that although the Semantic Web technologies are all in place, the world isn’t ready for the Semantic Web vision yet; that we’re still a couple of years away from fully embracing and adopting Semantic Web principles and attitudes.
Perhaps, though, the opposite is closer to the truth: that some of the biggest and best projects on the web today are based on Semantic Web principles - they just don’t happen to be using Semantic Web technologies.
It could be argued that Semantic Web models are exploding on to the web in spite of the technology, not because of it. Maybe we are using older, more limited technologies because of our lack of understanding and desire to learn complex new languages.
Current web applications that could be cited as Semantic Web proofs of concept are…
Google. The best discovery engine on the web relies on a single core principle to make it work: relationships between pages are valuable. This is more-or-less the exact same principle that the Semantic Web is based on - that relationships between chunks of data are useful.
At the moment, Google only uses anonymous relationships (why are two pages hyperlinked?) between two ‘blobs’ of data (each page ‘blob’ usually contains paragraphs of text, metadata, images and other information). Imagine the possibilities when, with the Semantic Web, the type of relationship is explicit, and the exact data points at each end are connected (for example, an image on web page A is defined as a photograph of the author of web page B).
RSS. These files provide a layer of data under the current web, that describe web pages and allow us to re-use and distribute these descriptions easily, aggregating the data as and when we need it (for example in our desktop RSS readers, or Technorati).
Guess what the main Semantic Web deliverable is? Pretty much the exact same thing - just a bit more flexible (we’re already seeing the boundaries of RSS being stretched as more and more is being asked of it).
Tagging. The need to describe individual items (blogs, photos, events) - rather than a whole web page - has led us (so far) to the ‘tagging’ microformat, where we re-use existing HTML markup to provide short keywords for items on a webpage.
As discussed above, this is precisely what the Semantic Web is designed for - describing chunks of information in a standardised, internet-friendly format.
Social Networking. One of the major web phenomenons of the last few years has been the growth and popularity of Social Networking sites and applications. All of these applications use the same main principle: each user creates a metadata record for themselves, recording data values for particular metadata properties (height, weight, age, etc). The applications then relate particular metadata values (e.g. ‘interests’, ‘age’ and ‘location’) to create connections between records.
You’ve probably guessed by now - the Semantic Web can do this, but better! For example, you would only need to store a single profile, which you could own/control. Social Networking applications could then be created by anyone, not just the few companies that store your profile secretly in their database.
And finally, Mash-ups. As users demand more access to data from companies, the forward-thinking amongst them are responding by providing API access to the data. We’ve then witnessed the emergence of ‘mash-ups’, that use multiple APIs to combine and relate data from distributed sources, into a single interface.
System Integration (of which this is an example) is yet another problem that the Semantic Web is looking to solve. The solution resembles the SOA vision that was/is dismissed by many. In theory, Semantic Web data sources can be very easily exposed and queried through a consistent interface (SPARQL, HTTP). As such, the Semantic Web actively promotes (in fact, relies on) users ‘mashing up’ data from multiple sources.
So there we have it - a limited “Semantic Web” appearing without the complex technologies that have been developed for it.
Will the trend continue? Can it, using existing technologies, or will developers eventually ‘find’ RDF, OWL and SPARQL? Should the appearance and popularity of these applications give Semantic Web proponents hope that the real thing is coming, or do they give Semantic Web opponents valid ammunition against unnecessary complexities?
I’d be interested in hearing your thoughts below.