Thursday, May 10, 2012

Semantic Web - RDF (The Resource Description Framework)

"This is the basic framework that the rest of the Semantic Web is based on. RDF provides a mechanism for allowing anyone to make a basic statement about anything and layering these statements into a single model.
RDF, RDFS, and OWL are the basic representation languages of the Semantic Web, with RDF serving as the foundation" [1].

As we discussed before, the purpose of Semantic Web is to make the content shared, distributed over the web. That's why RDF was offered as the basic representation language.

Ok, so far so good. We need RDF in order to distribute information. However here a question comes to the mind, when is a data described in one place same data as described somewhere else ?  When I define the term "Bank" here, does it mean same in another part of the world ? 

RDF overcomes this problem with URIs ( Uniform  Resource Identifiers). 

And relationships between nodes are expressed in a familiar form of subject+predicate+object ( Bank + is an + organization )

[1] Semantic.Web.for.the.Working.Ontologist.-.Allemang.&.Hendler,.2ed,.Elsevier,2011

What is Semantic Web - Motivation

What is Semantic Web - Motivation .

Why do we need it ?

First of all note that "Semantic Web" is sometimes used as a synonym for "Web 3.0", though each term's definition varies. As far as I can tell, Semantic Web is the main component of Web 3.0.

In order to answer this question, we need to first understand what is wrong with today's www ?

Limitations of HTML

Currently, the World Wide Web is based mainly on documents written in Hypertext Markup Language (HTML), a markup convention that is used for coding a body of text interspersed with multimedia objects such as images and interactive forms. Metadata tags provide a method by which computers can categorise the content of web pages, for example: [3]

"The challenge for the design of the Semantic Web is not to
make a web infrastructure that is as smart as possible; it is to make an infrastructure that is most appropriate to the job of integrating information on the Web." [1]

<meta name="keywords" content="computing, computer studies, computer" />
<meta name="description" content="Cheap widgets for sale" />
<meta name="author" content="John Doe" />

When a web-browser renders this, one can create and present a page that lists items for sale. HTML is not able to assert the connections between tags. For instance, it is not capable of showing that "item number X586172 is an Acme Gizmo with a retail price of €199", Rather, HTML can only say that the span of text "X586172" is something that should be positioned near "Acme Gizmo" and "€199", etc. There is no way to say "this is a catalog" or even to establish that "Acme Gizmo" is a kind of title or that "€199" is a price. [3]

Basically it is designed for humans to understand the content, not for machines. When machines need to make use of the content, third party applications or some software agents are needed for this purpose. That's why it basically depends on human interaction to come to conclusions ( making multiple queries in google to find out where I should go for a dinner at the weekend ) .

Basics of Semantic Web

The Semantic Web  involves publishing in languages specifically designed for data: Resource Description Framework (RDF), Web Ontology Language (OWL), and Extensible Markup Language (XML). HTML describes documents and the links between them. RDF, OWL, and XML, by contrast, can describe arbitrary things such as people, meetings, or airplane parts.



By the help of these concepts ( Later, we will go into particulars),  content may manifest itself as descriptive data stored in Web-accessible databases.

The machine-readable descriptions enable content managers to add meaning to the content, i.e., to describe the structure of the knowledge we have about that content. In this way, a machine can process knowledge itself, instead of text, using processes similar to human deductive reasoning and inference, thereby obtaining more meaningful results and helping computers to perform automated information gathering and research.[3]

Tim Berners-Lee has described the semantic web as a component of 'Web 3.0'.[16]
People keep asking what Web 3.0 is. I think maybe when you've got an overlay of scalable vector graphics – everything rippling and folding and looking misty — on Web 2.0 and access to a semantic Web integrated across a huge space of data, you'll have access to an unbelievable data resource..."
Tim Berners-Lee, 2006



Limitations - Challenges in Semantic Web 

Some of the challenges for the Semantic Web include vastness, vagueness, uncertainty, inconsistency, and deceit. Automated reasoning systems will have to deal with all of these issues in order to deliver on the promise of the Semantic Web.[3]

As we go into particulars of this technology, you will be able to understand why it still needs more time to completely get ready.


[1] Semantic.Web.for.the.Working.Ontologist.-.Allemang.&.Hendler,.2ed,.Elsevier,2011

Web 1.0 and Web 2.0 and Web 3.0?

 Web 1.0 and Web 2.0 and 

Let me first give the descriptions of these technologies  by the help of Wiki.

Web 3.0?

Web 1.0 :

Socially, users can only view webpages but cannot reflect on the content of the webpages.
Technically, web 1.0 webpage’s information is closed to external editing. Thus, information is not dynamic and updated only once in a while by the webmaster.

Web 2.0:

It is actually what we have today. 
A Web 2.0 site allows users to interact and collaborate with each other in a social media. Examples of Web 2.0 include social networking sites, blogs, wikis, video sharing sites, hosted services, web applications, mashups and folksonomies.

Web 3.0 (Semantic Web) 

I highly recommend you to watch this video to get insight of Web3.0



According to the W3C, "The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries."
It means that different system will be able talk to each other. Today it is not possible. Let me give you a simple example; if you would like to Google the restaurants near to your location that are open during the weekend, you need to basically make multiple queries to reach a conclusion. You might first need to find the list of restaurants near to you, then you need to check their opening hours etc and then maybe make a reservation. Instead of doing such operations, would not it be nice if we just type “show me available restaurants that are open and … “ . With SemanticWeb, it is possible for example to let different websites share a common source and benefit from it. 

Briefly the purpose of Web 3.0 (Semantic Web) is driving the evolution of the current Web by enabling users to find, share, and combine information more easily. Humans are capable of using the Web to carry out tasks such as finding the Irish word for "folder", reserving a library book, and searching for the lowest price for a DVD. However, machines cannot accomplish all of these tasks without human direction, because web pages are designed to be read by people, not machines. The semantic web is a vision of information that can be readily interpreted by machines, so machines can perform more of the tedious work involved in finding, combining, and acting upon information on the web.

Tim Berners-Lee originally expressed the vision of the Semantic Web as follows:[12]

I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web – the content, links, and transactions between people and computers. A ‘Semantic Web’, which should make this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The ‘intelligent agents’ people have touted for ages will finally materialize.