Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Mike Riley

Dr. Dobb's Bloggers

Programming the Semantic Web Book Review

August 30, 2009

For years, the dream of the next generation, machine-readable web has been consistently beyond the grasp of even the most sophisticated of web properties.  The main reason for this is the obtuse specifications encapsulating what has been generally coined 'the semantic web'.  Does this book finally make sense of these specifications?  Read on to find out.

I have been a big fan of machine-to-machine communication since the advent of RPC's (remote procedure calls).  I thought Allaire's (then Macromedia's, then Adobe's) WDDX protocol was a good step in the right direction.  I was a proponent of SOAP until it became a convoluted bag of hurt, making me jump to more RESTful approaches.  And yet through all these communication protocol machinations, I harkened back to World Wide Web creator Tim Berners-Lee's ten year old book Weaving the Web, in which he spent pages painting his vision in words of what the semantic web was all about.  And yet, after all that time, there is little more than half-hearted efforts by leading web tech companies and a few university demos to show for it.

This is where Programming the Semantic Web comes into the picture.  Written by three Metaweb Technologies employees who have translated some of the work of their day jobs into this book, the authors attempt to infuse enthusiasm and visionary possibilities for this highly structured web of content contexts.  While they do a sincere effort at selling the concept, they failed to convince me to drop everything and spend what little available free time I have noodling with semantic web ideas.  Alas, having dealt with machine-structured web protocols and trying to foresee how data should be structured for future slicing and dicing, there simply wasn't enough in the book to convince me that the semantic web approach was really the one to place my bets on.  The reason the web took off was because HTML was far, far simpler than SGML.  Web developers have come a long way since those early <blink> tag days, and are now awash in a sea of various flavors of HTML, CSS, XML, DOM, AJAX, JSON, SQL, and a menagerie of back-end web frameworks and languages.  Learning yet another set of lingos (OWL, RDFS, SPARQL) and tools (Jena, SIMILE/Exhibit, etc.) for an end-point value that has yet to be fully realized, I saw the book as a good exercise for the curious but ultimately one that was highly targeted toward anyone actually assigned the task of creating semantic web-friendly integrations.

The general progression of the book starts with the idea of using semantic data, learning about the various semantic web standards and ontologies, followed by putting these constructs into practice by cobbling together various open source toolsets (several commercial/proprietary toolsets are listed as well, though for some unknown reason, one of the most well-designed semantic tools I've used, Altova's SemanticWorks 2008, failed to make the list - check out my review of this and other Altova applications in their comprehensive MissionKit suite) and creating a working semantic web example.  Incidentally, a quick note about the code samples - nearly all of them (sans a very few written in Java) are coded in Python, calling upon the CherryPy, networkx, pysqlite, rdflib and wsgiref Python libraries, among others.  As such, it's probably a good bet that MetaWeb uses plenty of Python code in their solutions.

The book concludes with the vision, hype and reality of the semantic web.  Even the authors conclude, "The revolution of semantic technology is far from complete - we still have a long way to go." Perhaps ten years from now, the semantic web (or its more simple successor) will be worthy of serious intent.  For now, the book's content is helpful and interesting to know, but I didn't find it immediately applicable to any projects I am currently working on or have planned in the near future.


Title:  Programming the Semantic Web
Authors: Toby Segaran, Colin Evans and Jamie Taylor
Publisher: O'Reilly Media
ISBN: 978-0596153816
Pages: 298
Price: $39.99 US


Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.