What is the Semantic Web?

Introduction

Many people are not clear as to what the Semantic web is, and as we are the Semantic Web Agreement Group, we need to define it for people. Therefore, here is an attempt at a clear view of the Semantic Web:-

The Semantic Web is a Web that includes documents, or portions of documents, describing explicit relationships between things and containing semantic information intended for automated processing by our machines.

It operates on the principle of shared data. When you define what a particular type of data is, you can link it to other bits of data and say "that's the same", or some other relation. For example, "zip" in my SW system is the same as "zip" in my friends. Although it gets more complicated than this, that is bascially what the SW is all about, sharing data through ontologies, and processing it logically. Trust is also important, as the trust of a certain source is fully in the hands of the user. This is a fully decentralized system: "you can't make something be the center of all knoweldge" (paraphrased from TimBL).

Clear Intent

Although the SW is a Web of data, it is intended primarily for humans; it would use machine processing and databases to take away some of the burdens we currently face so that we can concentrate on the more important things that we can use the Web for. (The ontological layers etc. are just there to facilitate the aim of providing a heuristically queryable world wide database).

Practical solutions include the use of XSLT to derive RDF from XML sources, the work on topic maps and RDF convergence, the emergence of general-purpose RDF databases and engines, and general and specific GUIs for RDF data. - XML.com

These are examples of some of the possible ways to start building the foundations of the SW. But what will is be used for?

A typical thing I might do on a fully developed Semantic Web might be to ask it what time the next train is coming to my local station, or when my next appointment is - and from that where it is, who it is with etc. The SW should also be a database for communicating information in XML: invoices, GPS data, timetables and agenda for our next meeting. People who say that the SW is a bad vision, or un-implementable are clearly missing the point: the Semantic Web should be a Web that helps us to do things that would be better covered by machines. In fact, the Semantic Web is whatever we want it to be.

According to TimBL, there will be many layers to the Semantic Web, which could take around ten years to complete:-

If anyone thinks that typing "Aunt Hilda" into a Semantic Web search engine will produce an encyclopaedias worth of information about their Aunt Hilda, then they are very much mistaken. Also, there is no guarantee (read: way) that a Semantic Web will be able to assert once and for all what the greatest "Porn Site In the Galaxy" is - that's not at all what the Semantic Web is about.

However, if you are looking for something that can tell you what your next dentists appointment is, and where and when, then welcome to the future. Doesn't sound useful? Well, there are many small day-to-day database like tasks that we need to do, and how much do we like remembering them? Also, what about tasks like trying to find whether or not a certain toy is in stock in a company in your local area? Then that could be linked to how to purchase it, and finally your finance system so that you automatically pay for it online without any humans even knowing (or caring) that you did it.

An Example

Example: I have a system "x". It is a Semantic Web system. Furthermore, my system"x" uses only a small portion of RDF M&S, and some logical precepts. It has a property called "type", which in the context of system "x" means what type a property belongs to. Now, my system "x" needs to interact across the SW, with a system that is very much like "x", but has a few differences that "x" doesn't understand...oh no! For example, this other system ("y") has a "type" attribute too, but in a different namespace. When "x" dereferences that namespace (rdfs), it finds that it is written in XML RDF, which is no good to system "x" for it only understands Notation3! However, system "x" looks at its own Schema for "type" and finds this:-

     x:type = rdfs:type

and hence system "x" successfully completes its task using data from system "y" which it only partially understands. And that is a fully functioning Semantic Web.

The whole point of "semantic" is that things are well explained. The whole point of "web" is that you can find out the explanation of something you don't understand. System "x" could be my washing machine wondering what spin cycle to use for my clothes, or my alarm clock needing to know what time to wake me up for my appointment today... Or perhaps "y" was a new version of "x" that it wasn't compatable with... so "x" just looked upt he new terms, and found out what they were equivalent to.

A More Detailed Example

Adapted from the SW Development Proposal.

Data:-

Filter:-

Output (generated on the fly!):-

[...] what we'll end up doing in the future is converting things, so for example [...] in the Semantic Web we will have a relationship between two langauges so that if you get an invoice in a langauge you don't understand, and you have... some business software which can pay invoices... by following links across the Semantic Web, your machine will be able to automatically convert it from one langauge to another, and so process it.

When Tim first demonstrated the WWW, the notion of hyperlinked documents didn't seem great. Does the notion that all properties can be described by a URI seem any better? In other words, if I wrote a Schema for the "zip" property and used it, would that seem impressive? It might seem more so if that were thousands of interlinked properties... Also, I believe that some of the power in the Semantic Web lies in the ability to take notes, not make worthless prose assertions.

I want to query stuff. When is my next dentists appointment? Who is it with? How much will it cost? I want to have a heuristics machine that can look up data. Who won the world series in 1962? The Cubs? Oh, yeah - prove it. Can I look up something and trust it implicitly - i.e. without me knowing that my machine trusts it. I want to be able to book a room in a hotel. I type the name of the hotel in my SW browser, and I browse to the booking bit. I type in how much I want, and the thing is automatically completed for me. I think that a SW broswer will also be a WWW browser: it'll be an evolution of it in some forms. The WWW will still be useful, it's not going away - it's just getting more semantic!

The output for the Semantic Web should probably itself be Semantic, and I wonder if it might be a good idea to use the Web and associated technologies as a GUI interface? In my "SW browser", I want to be able to have every piece of XML that I use be understandable. In other words, when I buy something online, it automatically works out the trust issues, and then sends an invoice in my format "a". Format "b" understands it (due to the SW), and sends back a receipt in format "b", which my SW broswer converts to format "a" (through the SW), and displays it to me in XHTML, via a standard format "a" XSLT transformation.

The Semantic Web should be a notepad and database for the world, and after all, wasn't the original purpose of the Web?

Some SWAG Dictionary Objectives

Hence the objectives of the SWAG Dictionary are...

  1. Get system "x" to grok SWAG stuff
  2. Get SWAG processors to grok system "x" stuff

    And perhaps we can even help with...

  3. Get system "x" to understand system "y"

What Is A Term?

Everything on the Semantic Web (SW) is just the collective memories of those of us who have written in that medium. Just like in real life we talk to each other in a natural language called English, so too in the cyber world we talk in a natural language called RDF. And just like in English, the sentences in RDF have three parts: a subject, a property (verb), and an object. We call these sentences RDF statings, or sometimes just triples. An example of this is ":Bill :loves :Jane". Now, unlike the ambiguity of English, on the SW the subject and property, point out things that are unique and unambiguous. We call these pointers Uniform Resource Identifiers or URIs. One example of a URI is a web page address like http://robustai.net/ai/conjecture.htm. But we allow the RDF object to be either a URI or just something in our own language.

Now you know that to understand English you must know what the verbs mean; this is also true of the SW, you must know what the properties mean. So we have put a conucopic thesaurus of property words in one place for you ... in an SW dictionary. We call this The Semantic Web Agreement Group Dictionary, or just SWAG Dictionary for short. But this dictionary doesn't lie flat on the page like dictionaries of yore; instead it is hyper linked in a rich texture of interconnected terms that are connected to the rest of the fabric that we call the Semantic Web.

See also:

Powered by Blogspace, an Aaron Swartz project. Email the webmaster with problems.