Towards Semantic Web

Semantic Web Big Picture
Introduction
The Semantic Web is an evolving collection of knowledge, built to allow anyone on the Internet to add what they know and find answers to their questions. Information on the Semantic web, rather than being in natural language text, is maintained in a structured form which is fairly easy for both computers and people to work with.


Description

The structuring is simple: knowledge is expressed as descriptive statements, saying some relationship exists between one thing and another. "Jane has a mother, Susan" or "Susan is a mother of Jane". An enormous amount of people's knowledge can be expressed in sentences like these. "Part #4521 has a price, $19.95." "George has a city of residence, Washington D.C." "The United States has a president, Barak Obama"

Names

Of course names like "Jane" do not work very well to identify a specific person in the whole world, so on the Semantic Web we identify each of the things (and the relationships) using more complicated unambiguous names. The names we use are web addresses (sometimes called URLs or URIs). This can cause a little confusion (is "http://www.ibm.com" a company or the company's web site?), but it also turns out to be very useful for locating information about the thing.
We also have special names for text strings (literals), and we allow temporary names which function like pronouns. This lets us write "The country with the ISO country code 'US' has a president who has the name 'Barak Obama"" without ever using an identifier for the US.

Layering

Our system cannot directly express things like "Every person was once an embryo", but it can at least convey expressions in other languages, so people and systems which understand those languages can benefit from the Semantic Web as a kind of shared database. Some information will remain in natural languages, like english, which in some cases is easier for people to use. Other information may be stored in languages designed primarily for computers to understand.


Logic

Some facts (like "Mary is a mother" and "A mother is a kind of parent"") lead logically to other facts ("Mary is a parent"). That is often intuitive to people, but can be very hard to explain to a computer. When properly programmed, however, computers can be very helpful in figuring out which facts follow logically from other facts. 
A precise explanation of one's terms and reasoning in some subject area, which can allow computers to help, is called an ontology. Ontologies can be expressed in various languages and carried by the Semantic Web. With them, computers can sometimes act as if they "understand" the information they are carrying. This is where the term "semantic" comes in; on this web, we try to make the meanings so clear that even a computer can understand them.
No logic languages have yet been recommended for the Semantic Web. Some of the experimental languages are RDF Schema, DAML+OIL, and swap/log.
Executable content (computer programs and subroutines) can be considered expressions in a "Turing complete" logic language. Swap/log is both Turing complete and fundamentally modular/reusable; it may turn out to be an essential core in practical Semantic Web clients.

Contributions

The knowledge on the Semantic Web is an aggregate of contributions from many sources, much as the Web is an aggregate of many web sites. The answers to a question you ask, like the results of a web search, will depend to some degree on who you trust, which systems are working at the time you ask, and what kind of search techniques are being used.
As you browse information, a good user interface will make it easy to correct inaccuracies and add your own knowledge as you like. Your additions will be stored in various configurable ways and can be kept private or published as openly as you choose.

Change-Over-Time


The facts stored in the Semantic Web will change over time as the true state of world changes. With each contribution signed and dated, we have a good chance of piecing together a correct and up-to-date picture.
The important point is that people's contributions are factual descriptions asserted to be true at some point in time. Queries are not really "What is the name of the president of the United States?" but "What is the name of the president of the United States according to the latest trustworthy data you have?"

Services

How do you buy a book over the Semantic Web?
  1. You browse/query until you find a suitable offer to sell the book you want.
  2. You add information to the Semantic Web saying that you accept the offer and giving details (your name, shipping address, credit card information, etc). Of course you add it (1) with access control so only you and seller can see it, and (2) you store it in a place where the seller can easily get it, perhaps the seller's own server, (3) you notify the seller about it.
  3. You wait or query for confirmation that the seller has received your acceptance, and perhaps (later) for shipping information, etc.
This approach allows automation of the process, detailed record-keeping, and excellent process abstraction.

Applications

The sky is the limit. What application wouldn't work better with a global knowledge-base under the hood? Well, some might be slower. :-)


Comments

Popular posts from this blog

Dependency Injection in ASP.NET MVC 5 with StructureMap

Real-time web with Node.js & Socket.io

First Look at AngularJS 2.0