Search

Tuesday, December 7, 2010

Semantic Schmantic - What is the semantic-web?

I have been recently working on adding RDF support for an existing Semantic-like database that I created. I thought to take some time to write a bit explaining buzz words such as the Semantic-Web or RDF. I want to explain how this paradim applies to what Information workers do and why a software developer should care about it. Here is the main description from its wiki page:
Semantic Web is a group of methods and technologies to allow machines to understand the meaning - or "semantics" - of information on the World Wide Web.[1] The term was coined by World Wide Web Consortium (W3C) director Tim Berners-Lee.[2] According to the original vision, the availability of machine-readable metadata would enable automated agents and other software to access the Web more intelligently. The agents would be able to perform tasks automatically and locate related information on behalf of the user. While the term "Semantic Web" is not formally defined it is mainly used to describe the model and technologies[3] proposed by the W3C. These technologies include the Resource Description Framework (RDF), a variety of data interchange formats (e.g. RDF/XML, N3, Turtle, N-Triples), and notations such as RDF Schema (RDFS) and the Web Ontology Language (OWL), all of which are intended to provide a formal description of concepts, terms, and relationships within a given knowledge domain. Many of the technologies proposed by the W3C already exist and are used in various projects. The Semantic Web as a global vision, however, has remained largely unrealized and its critics have questioned the feasibility of the approach. In addition other technologies with similar goals, such as microformats, have evolved, which are not always described as "Semantic Web".
Semantic technologies are all geared towards giving meaning to data. Much like in any language, its the semantics that give the language meaning.

The goal of the ‘Semantic Web’ is to have all data self describing. W3C is a consortium that is working on defining a common framework for describing information. As time progresses, new technologies are emerging to support these concepts and leverage them.

Now how does all this apply to software developers? Consider this, at the core of most organizations, a company is in the business of managing information and making decisions based on that information.  In the past 10 years the amount of information that organizations have access to and collect, manages and consumes has increased exponentially.  You can see how fast and quickly this information can drown an organization.

Semantic technologies aim to help manage this growing information problem by add meaning to information, not only to describe that information, but also describe the relationships between different pieces of information.

In future blog entries, I hope to expand on Semantic technologies and methodologies and discuss how to best make use of them.