A good friend of mine works as a social media editor. We periodically get together for long lunches where the free wheeling conversation hits all the topics of note in the current communication scene. I was surprised today when he brought up the question of the Semantic Web. After a half-decade stint in the business of semantic technologies, I’ve basically written off the Semantic Web. After ten years of failed promise, I’m always a bit surprised to hear another rumor of it’s pending existence.
In short – the Semantic Web promises to turn all of the text found on the web into machine readable facts, and to provide programs that can use those facts to answer questions for you. So, for example, a restaurant website may say “We’re located at 518 Chestnut Street, have a wide variety of sandwiches, and are open on Saturday.” The website may give a full menu, driving directions, a list of daily specials, etc. To a computer this looks like just a bunch of text – blah blah blah blah. A semantically marked up document would put a formal representation of this information in place along with the text. Very loosely speaking, it would look something like this:
<Organization type=”Restaurant” name=”Bob’s Restaurant” id=”1″/><isLocatedAt/><Address text=”518 Chestnut Street”/>
<Organization id=”1″/><sellsGoods/><Food type=”sandwiches”/>
Once beautiful documents like this are in place, you can ask your computer a question like “Where can I get a sandwich on Saturday”, and the computer would come back with my restaurant. You could even give your computer quite complex tasks and have it come back with good answers – “I have to pick up toothpaste, a watermelon, and a large camelhair coat, meet with the mayor, my fiancee, and my lawyer, and I want to get a good sandwich around lunchtime. Please plan out a course of travel and schedule that takes into account expected traffic and the hours of the shops I have to visit. Also, let me know if I’m passing any place that’s having a going-out-of-business sale.” The computer would hit tens of websites, communicate with other agents, and put together the schedule and information for you.
That’s the dream. None less than Tim Berners Lee, the father of the web, has been championing this for years. The seminal article on the topic was published in 2001.
There are a few major roadblocks. Teaching computers about common sense is hard – that’s the ontology problem. Creating those beatiful documents above is hard – that’s the markup problem. Teaching computers to reason through all those facts is hard – that’s the reasoning problem. The one I’d like to really focus on, though, is the trust problem. I’ll post on that one in the coming days.