[Show/Hide Right Column]

James Lougheed

James Lougheed
Read Blog
View Profile

Browsing the Semantic Web: Part 2

Published by jloug099@uottawa.ca on 2012-02-13

There is no doubt that the integration of semantic technology into the world wide web is creating a new and more effective way of connecting people and information. In fact, it is with this technology that we form an even stronger web by linking ideas from site to site. In my last blog, I discussed the development of the semantic web, a relatively new method of connecting websites and information through semantic markup. In this blog, I will attempt to show how it works and uses syntax to create these links.


With a standard web page in HTML, a computer can display all the information it has been programmed to in a specific format. Links can be added to direct to different sites, texts, files, etc. But still, the computer can only do exactly as it has been told. A web page in the semantic web, however, is ideally filled with much more information so that it can actually understand a basic context of the data. A significant user of this type of technology right now is, unsurprisingly, Facebook. Let's have a look at how it is employing semantics to its advantage.


The semantic web is hinged primarily on the understanding underlying relations. How do we build these relations? Well, we start by organizing data using a programming model such as RDF (Resource Description Framework). With this model, data on a standard HTML web page can be equipped to carry relational information that can be used in other instances. This can be done using a syntax (in this instance, RDFa). A syntax, basically, is a way of describing the model to the computer.

When you publish information with RDFa, what you are actually doing is giving it a markup: each word or group of words is assigned a tag that provides it with additional information. In the case of RDFa, we use basic grammar as a framework for organizing the data. Let’s use a typical Facebook-related example: “John likes sports cars.” In RDFa, there are three classifications for a simple set of data; these are the subject, the predicate, and the object.


                   John            <>                 likes             <>             sports cars.

                  subject         <>             predicate         <>                    object


This statement is known as a triple.


To make sense of this data, the syntax is given a vocabulary. The vocabulary allows the computer to understand when we are speaking on a specific subject; without a vocabulary, a syntax is without meaning. One type of vocabulary used by Facebook is friend-of-a-friend (-foaf). With this, you can assign markups that further describe the data. For example, we can assign the attribute of person to “John.” In this way, we could also assign the attribute of thing to “sports car.” As for the predicate, we can provide it with a property such as rel (relation).


Now that we have created a context for the data, the computer can understand the relations between each packet of data. By knowing how everything relates, it can set up relations on its own based on pre-existing ones. Once John has expressed his interest in sports cars, Facebook may suggest other related pages to him (as I am sure you have experienced if you have a Facebook account). It may suggest that he like things that other people who like sports cars also like, such as the page for a company that produces sports cars.


In the same way, Facebook also operates through establishing relations between people. For example, you may see “John is now friends with Margaret.” Using the -foaf vocabulary, Facebook understands that “John” and “Margaret” are both people that are connected through the relation of friend. I can then use this relation to suggest other friends, pages or whatever else their relation may bring about.


To stop digging even deeper into technical programming jargon, I will leave it at that for now. Although, I am sure, I have only scratched the surface of how it actually works, I am by no means a computer programmer. What I have discovered so far, though, I believe has a large potential in the future for computer programmers and language professionals alike. Given the new developments in semantic technology, we now know how to allow computers to understand contexts and relations. It may still be a while before they understand texts the way the human brain does, but even this technology alone proves to be a significant breakthrough. Although the idea of free-thinking computers does not give the most comfortable feeling, the idea of a computer that can better understand a text and help with language-related tasks is ever so intriguing.



For more information on semantic technology, see my first blog: Semantic Technology.

Source video: RDFa Basics.



Hi James,
Thank you for this clear explanation of the semantic web. You provided me with the answers to my questions on your first posting. I now know how Facebook manages to provide users with information that is "more relevant to them". I don't have Facebook, but I can think that another exemple of this (and correct me if I am wrong) is when YouTube "recommends" me other videos that might interest me "because I watched...(other video)" (even if that was 2 years ago!).
Maybe another exemple of semantic technology (and again, correct me if I am wrong), is the "intelligence" of Google to detect your current location and your language, so that it can provide you with the search results that may be more relevant to you. For exemple, if my Windows is in French, and I am in Ottawa, the first hit when I search for "OC" will be "OC Transpo", or the first two hits when I type "air" in the search field will be "Air Canada" (and the link to the site in French).
Looking forward to your next post!

Hi Julian,
Thanks for the comment! As the whole concept of semantic technology is already quite developed but not simply explained anywhere, it took me a while to provide an adequate explanation of it. And although I am by no means an expert on computer programming or anything of the like, it is a field of great interest and, as you have pointed out, of a large presence in our lives. As you have seen in Google and YouTube searches, it does facilitate easier searching and more targeted suggestions. I believe that it is only going to become more and more widely used. (At least, I am crossing my fingers that that is the case!)