The semantic web is a shift to describe information on the Internet in a machine-readable format.
The idea is to represent information as data that can be consumed and shared in a meaningful, contextual way rather than a brute-force search that has no semantic meaning. This makes the exchange and availability of information more automatable and focused than what we have today.
This also shifts the responsibility of making the information available to a user, from a search engine to the content provider or publisher. So, rather than search engines getting more complex in weeding out data from the web and having all kinds of Natural Language Processing (NLP) algorithms and semantic dictionaries to figure out user input, the agent who puts up web content can define the data and it’s context.
Now that I think of it, this would also change the commercial aspect of search engines from not being the only way to find information in the ether.
Interestingly, my work in a start-up, in 1998, was in a similar area, including extracting data from the web and exposing it via database type functions; it is filed for a US Patent 6826553 – http://www.wikipatents.com/6826553.html
Again, the problem we were trying to solve was to extract data from web pages and the major part of the work was trying to identify data in a page, which would have been much easier had there been a data spec. being consistently used by pages.
Here is a good article on the Semantic Web: http://www.w3.org/2001/sw/
Tim Berners-Lee talked about the semantic web a while ago and Web 3.0 was mentioned in 2006.
This is not a new concept as such but there was no specification or implementation for doing things earlier.
Yahoo (being the innovative company that they are) has already taken a lead in incorporating this into search:
Obviously, defining semantics and data needs some kind of specification.
RDF is a popular format: http://www.w3.org/TR/rdf-syntax-grammar/
XFN (http://www.gmpg.org/xfn/) defines relationships between people and is implemented via the rel attribute on an anchor tag.
FOAF (http://www.foaf-project.org/, http://en.wikipedia.org/wiki/FOAF_%28software%29) describes a person, related activities and relationships.
There are a bunch of micro-formats like hCard which use XHTML to embed data in content.
Here is a good article and a toolkit for micro-formats:
From a technical perspective, this means that websites and services (back-ends and Content management systems) need to embed semantic data into content. I shall explore those possibilities and .NET implementation ideas in future articles…