CNN is running an interesting article about information data stores and the semantic web. A very sad thing was the following statement about the semantic web: One hopeful journalist from the Economist asked Berners-Lee to give an example of how companies could make or save money using it, but he didn’t have an answer. This is clearly an illustration that often geeks speak in terms that most people do not understand. I am often guilty of it myself (a cursory look through recent entries will give you an idea of why I’m making this statement) and I realize that we need to do a better job in explaining some of the key concepts in new technology. XML, RDF and other technologies related to the semantic web are indeed hard to understand when you talk to techies. As a result, they often get dismissed as too hard. In order to help people get a better understanding, I’ll try to come up with a simple example.
Right now, this page is served to you either in HTML or RSS. Those are two different languages. One, HTML, is understood by your web browser. The way text is bolded, for example, is that I put in a little tag that told the browser to bold this word. The browser reads the tag and presents it appropriately. The other, RSS, is understood by what we call RSS readers. Those are programs that you use to subscribe to a channel. A channel is something that you would receive every day. That way, you don’t have to go and check the site to see if it’s been updated. Your program goes and gets the information. RSS is an XML-based language. What it means is that there is a lot of information in that channel that is there just for the benefit of that channel, to allow to present only the newest news to you.
A couple of years ago, Tim Berners-Lee, the man who created the web, looked at his creation and realized that there was a jumble of pages and that, in order to make sense of it, we needed to give things a little more structure. So RDF was born. What it is, basically, is a way to organize the whole web so that computers could talk to each other without humans in between. This has potential uses and here’s an example I thought up: The smart calendar.
Joe and I are working on a joint project. Joe is in London and I am in New York. I want to arrange a face to face meeting with Joe. Right now, I either call, email, or contact Joe in some way and we figure out a time when we can meet face to face, then agree on a city in which to meet, then make the necessary travel arrangements. What if I went to my calendar, typed in meet face to face with Joe, and my calendar and Joe’s started discussing when the best time and place would be? My calendar would check my availability and Joe’s. It then would check if any of us has any travel plans in each other’s city. Based on those, The two calendars discover that I have a trip to Paris set for next Tuesday to Thursday. As a result, the calendar would recommend that I go to London to meet with Joe on Friday. If both Joe and I agree to this, my computer would then go to the travel reservation system, check prices and flight times, book a flight from Paris to London on Thursday Night, cancel my Friday morning flight from Paris to New York, book a flight from London to New York on Friday Night, cancel my hotel stay in Paris on Thursday night, book a Thursday night hotel stay in a company approved establishment near Joe’s office, and notify Bob (who’s also in London and with whom I had scheduled a conference call) that we can meet face to face when I’m in London instead of doing it on the phone.
Usually, this would have taken several discussions, a whole slew of new flight and hotel reservation changes, and a lot of wasted time. Using a semantic engine, all this would be automated. A lot of computers would have talked together (first mine and Joe’s agreed on time and place, then my computer talked to the travel company with which I had my flight and changed that reservation, then my computer talked to a number of airline companies to see who had the best price on a flight from London to New York, then my computer talked to the hotel reservation system in Paris and canceled one night, then my computer talked to the company computer to see what hotels it approved near Joe’s office. It then talked to computers in the several hotels in London to find a room with my preferences and within my price range. Having done so, my computer talked to Bob’s computer to tell him to change the appointment from a phone conference to a face to face meeting. Bob’s computer talked to a computer in his building to book a conference room. Having done all this, the hotel and airline computers then talked to my company’s accounting systems to agree on billing) because they all talked similar languages (or could point to a translator who would explain how they could. THAT is a practical example that would save money (finding the lowest price on airlines and hotels, reducing the number of trips) and increase productivity (saving time spent on certain tasks) thus allowing me to spend more time on money-making tasks.
All this is still a long way away but if the dream of a semantic web is realized, it will become reality.