Saturday 30 April 2005

Understanding Semantic Web (Part -1)

Some of my friends were interested in knowing more about Semantic Web. I thought to write some blog entries dedicating to Semantic Web, as it was my research theme in Austria. The thoughts I am pinning down are my own thoughts, the way I understand what Semantic Web implies to do, some people may agree or disagree with that.

Understanding Semantic Web (Part-1)

On a simple note, Semantic Web wants to foster machine to machine communication to make more smart services available on the internet. Today's web is meant primarily for humans. Any content or service provider on the internet provides an HTML web page to his/her service. Any user comes to the website, looks at the particular information and is done. HTML web pages can be as simple as a home page, a blog, news web site to an email service and as complex as an enterprise level ERP service.

So what does Semantic Web do to the Internet of today? Before answering this question, it might be relevant to look into what all we do on internet today. What is the problem that we are facing today?

Internet provides a level playing field where each individual can play its part. This has resulted in huge overload of information. Everyone wants to have an online presence.

Search Engines
--------------
Search engines like Google, Yahoo act as an entry point to the Internet. They need to make relevant information available to the users. Google and Yahoo are able to very effectively search for "specific" information. But how do I search for multimedia images related to Taj Mahal which I can make use of without violating any copyright. Today's search engines are mainly keyword based or some have context associated with keywords e.g. Distinguishing Jaguar as an animal from Jaguar as a vehicle.


Specialized search engines like priceline takes information about products from multiple web sites and then on their end makes them available as a single service. These websites need to always maintain consistency as they have to extract data (such as price, product, features etc.) from HTML from original content provder. Adding new content providers is a headache and moving between domains and integrating multiple domains is quite hard. A common vocabulary would solve the problem of sharing information.


Application Services
--------------------
Application Services e.g. emails, calendar tools, messengers, social networking websites. A service provider like yahoo, google and others provide application services to the user via the web. Big content providers provide even an integration platform between multiple such services. The most common approach for integration is to build a specific protocol. So there is IMAP for emails, iCal for calendar tools, WEB-DAV for distributed authoring on internet etc. But now the next question comes, if I want to integrate data from multiple sources, integrating gmail with a yahoo calendar service, We face a classic integration problem.

Most of the times a content provider provides such an integrable service e.g. yahoo already has an email, so why will it enable gamil on its messenger? Or alternatively, a new startup or a team finds a particular need and comes with a solution.

Enterprise Services
-------------------
Enterprises face this integration problem from every bunch of work they do - from merging data at the database level to integrating an enterprise level service. How do I combine multiple databases and have a common unified view? How do I integrate services once I move into middleware services? Can integration work be minimized or automated? Enterprises spend billions of dollars just on Integration Efforts.

Future Services
---------------
Then there are questions of some other things which don't exist on the Internet, but people have from long hoped they will arrive one day, Smart Agents. A personal agent that handles everything for you. Smart Services also belong to the same category. So if I am doing anything repeatedly, why can't a smart service just handle it. Copy-paste on the desktop works still at the syntactic level, why can't I have a semantic copy-paste available ? Why can't I use my data on mobile, PC, and internet as a single service.

As an individual user needs increase much more dynamically, how do we provide dynamic services catered to a specific user? If a content provider does not provide a service, can someone else provide it or perhaps just "Integrate" from existing building blocks.

No comments:

Post a Comment