Ten years ago I had a belief that a meta-data approach to managing enterprise information was a valid way to go. The various structures, relationships and complexities of IT systems led to disjointed information. By relating the information elements to each other, rather than synchronizing the information together, we _might_ stand a chance.
At the same time a new set of standards was emerging, standards to describe, relate and query a new information model, based on meta-data, these became know as the Semantic Web, outlined in a Scientific American article (http://www.sciam.com/article.cfm?articleID=00048144-10D2-1C70-84A9809EC588EF21 ) in 2001.
Fast forward to 2008 - where are we with this vision. Some part of me is thrilled, another part disappointed. We have adoption of these standards and this approach at use in everyday information management situations. Major software companies and startup's alike are implementing Semantic Technology in their offerings and products. However, I am disappointed that we still find it hard to communicate what this semantic technology means and how valuable it is. Most technologists I meet glaze over at the mention of the Semantic Web or any of it's standards, yet when asked if they think RSS is significant, praise it's contributions.
Over a series of posts to this blog, I would like to try and explain, share and show some of the value of Semantic Technology and why one should be looking at it.
Let's start with what is Semantic Technology and what are the standards that define it's openness.
To quote Wikipedia "In software, semantic technology encodes meanings separately from data and content files, and separately from application code." This abstraction is a core tenant and value provided by a Semantic approach to information management. The idea that our database or programming patterns do no restrict the form or boundaries of our information is a large shift from traditional IT solutions. The idea that our business logic should not be tied to the code that implements it, nor the information that it operates on is all provided through this semantic representation. So firstly ABSTRACTION is a key definition.
The benefit of this is that systems, machines, solutions, whatever term you wish to use can interact with each other - share, understand and reason, without having been explicitly programmed to understand each other.
With this you get to better manage CHANGE. Your content and systems can evole or change with the changes managed through the Semantic Technology layer.
So what makes up Semantic Technology, one sees the word in a number of soltuions or technologies, are they all created equal.
In my view, Semantic Technology can only truly claim to be so, if it is based on and implements the standards laid out through the (W3C) World Wide Web Consortium standards process. http://www.w3.org/2001/sw/
The vision of the Semantic Web and the standards required to support it continue to expand, but the anchor standards have been laid out for a while.
RDF - The model and syntax for describing information. It is important to understand that with the RDF standards there are multiple things defined to create this standard - the model (or data model) , the syntax (how it is written/serialized) and the formal semantics (or logic described by the use of rdf). In 2004, the original RDF specification was revised and published as 6 separate documents, each covering an important area of the standard.
RDF-S - Provides a typing system for RDF and the basic constructs for expressing Ontologies and relationships within the meta data structure.
OWL - To quote the W3C paper, this facilitates greater machine interpretability of Web content than that supported by XML, RDF, and RDF-S by providing additional vocabulary along with a formal semantics.
SPARQL - While anyone with a Semantic Technology solution invented there own query language (why was this never there one in the first place!), SPARQL, pronounced "sparkle" is the w3c standardization of one. It is HUGE for Semantic Technology and makes all the effort with the other three standards worthwhile.
These standards are quite a pile to sift through, understanding the capabilities embodied in them takes significant effort, but it is the role of technologists in this arena to remove that need for you to understand them. It is our job to provide tools, solutions and capabilities that leverage the these standards bringing semantic technology to life and deliver the power defined within them.
But that is the subject of another post. So what does this all mean in real life? In my next post I will layout a concrete example using product information as an example.