BarCampGrandRapids Postmortem Windows Recovery With Linux
Aug 23

Or so it would seem, according to my friend and colleague, Christian Bell. He provides the fitting burial with “An obituary for the semantic web”:http://six27.com/weblogs/christian/christian.2006-08-23.writeback.

First, a quick aside: I would consider the “Semantic Web”:http://en.wikipedia.org/wiki/Semantic_web proper to be the realm of RDF documents and generally far more advanced than what we mere mortals can aspire to understand. Christian and I are more concerned with the practice of using the HTML element that is most semantically appropriate for the content it contains, henceforth known as the “semantic web”.

While I have a great deal of esteem for Christian and his technical perspectives, this issue is likely to be a bone of contention between us. The bulk of his argument rests on the assertions that 1) HTML elements aren’t used in consistent enough manner to be semantically useful and 2) browsers don’t really care what sort of element you use because they don’t really _do_ anything with the elements anyhow (especially in the CSS world where you can make any element look like anything else).

Here is where I take issue: though these statements may be generally true, it doesn’t follow that they will always be generally true. Furthermore, generally true means there are exceptions, and the exceptions in this case are growing.

To begin with: one of the reasons browsers haven’t done anything special with semantically coded web pages is because we haven’t been in doing the HTML/CSS “separate presentation from semantics” thing long enough. Before browsers can start doing interesting things with semantically encoded content, the content has to be there. In order for the content to be there, you have to be freed from coding for presentation, which requires good support for CSS. We needed something like Firefox 1.x just to get started with the creation of the semantic web. Firefox 2.0 is just around the corner, and we’re beginning to see portends of what could be done with a fledling web of well-encoded content. More on that in a bit, because I am guessing the phrase “semantic web” has been used enough to have Christian cringing.

A quick detour to address Christian’s argument on the difficulties of “objective” and “inherent” word meanings: agreed and no argument from me. On the other hand, do we really need perfect, or even good, agreement on word meanings? “Good enough” will do; just enough people using the element in approxiamately the same way to be generally useful.

But useful how?

We’re beginning to see the first hints of how the semantic web might enhance the browsing experience:

* Tooltips on the <acronym>-encoded acronyms scattered throughout this post
* Detection of a related RSS feed via the <link> tag (the little orange icon that gets displayed)
* “Link Widgets”:https://addons.mozilla.org/firefox/2933/, a Firefox extension for enhanced navigation via the <link> tags
* “GreaseRoute”:http://code.highearthorbit.com/greaseroute/index.php a Firefox extension that recognizes the “adr”:http://microformats.org/wiki/adr and “geo”:http://microformats.org/wiki/geo microformats to add mapping shortcuts to any address embedded in a web page

I have to admit that microformats (especially adr) bother me to a certain extent and may actually lend weight to Christian’s point. The typical example for adr is shown as:

<div class="adr">
 <div class="street-address">665 3rd St.</div>
 <div class="extended-address">Suite 207</div>
 <span class="locality">San Francisco</span>,
 <span class="region">CA</span>
 <span class="postal-code">94107</span>
 <div class="country-name">U.S.A.</div>
</div>

As you can see above, the semantic meaning is entirely in the value assigned to the class attribute; the elements themselves are pretty meaningless. In all honesty, I am not sure why, given that the “Tantek Celik”:http://tantek.com/ was the author of the draft. Last I knew, he was a still a big “proponent of semantic XHTML”:http://tantek.com/presentations/2005/03/elementsofxhtml/.

In the end, it is entirely possible the element will become semantically meaningless, as Christian forsees. It is also entirely possible the Detroit Tigers will win the World Series. In both cases, there are many good arguments why they will not come to pass. As web sites continue to embrace CSS for presentation, certain HTML elements will become common enough in their usage patterns to be useful as semantic markers.

Microformats have the potential to further enhance the trend; even if they neuter element names of semantic value, that value has just been transferred to the element attributes. As microformats continue to creep into the mainstream, we will see more support in browsers for doing interesting things with the data. Given the renewed browser wars, they will be looking for anything that might hint at a competitive advantage (”Look! Our browser can recognize addresses and plunk them in your address book!”).

Final words: we’ve been “down this road before”:http://www.thenoodleincident.com/tutorials/box_lesson/why.html and “debated this topic”:http://www.7nights.com/asterisk/archive/2003/07/standards-semantic-markup-distributed-authorship-and-knowledge-management, though perhaps in different terms. In the end, I am most interested in future-proofing my content against uses that I can’t even comprehend. Semantically encoding my web pages in combination with emerging technologies like microformats gives me the best shot at actually doing that.

written by Kyle

7 Responses to “The Semantic Web Is Dead”

  1. Dave Brondsema Says:

    I’m glad to see in your “quick aside” that you realize the Semantic Web is much much more than what you and Christian are discussing. But in a discussion of semantics, why then do you ignore that fact and keep calling it the “semantic web”?? It’s “semantic (x)html” you’re talking about.

    The semantic web http://www.w3.org/2001/sw/ says “It is based on the Resource Description Framework (RDF).”

    A more powerful system than microformats is RDFa http://www.w3.org/TR/xhtml-rdfa-primer/ allowing one to embed RDF semantics into HTML using a microformats-style. There are other specs for embedding RDF into HTML. And you can suck those various forms of RDF data out of the HTML using GRDDL http://www.w3.org/2004/01/rdxh/spec

  2. jeremy Says:

    The key here is the (x) in (x)HTML. Being extensible it allows you through the use of namespaces to embed semantic data in your site. This really only becomes useful to people who understand the namespace your using. But this is not a hindrance since industry standards usually end up allowing the people you want to understand it do so and the rest you don’t really care about. HTML is not symantic, truthfully, but (x)HTML allows you to be to your specific audience. And that’s what really matters anyway.

  3. Marzhill Musings » Semantic Markup?? Says:

    [...] As long as I’ve been doing stuff on the web I’ve heard the constant refrain about semantic markup. Here and then here are just two of the latest. So I thought I’d add my own thoughts to the mix. What often gets lost in these discussions is the difference between semantic markup and the display of your markup. The fellow over at Six27 makes the point that using CSS obviates any need for semantic markup as it pertains to the browser’s display. He seems to think this is what makes semantic markup meaningless. However that is exactly the point of semantic markup. You can structure the data on the page any way you wish and have the presentation however you want it. This actually makes semantic markup easier. Semantic markup is not there to help you display the data. It is only there to make more information available to those who want to use it. [...]

  4. kyle Says:

    To Dave: The aside was so I could distinguish between Semantic Web (big “S”) and “semantic web” (little “s”), so nothing got ignored. I suppose “semantic html” would’ve been a better term, but meh…

    As to RDF; it’s always left me feeling a little too “ivory tower”. Outside of RSS, where’s the real world application?

  5. kyle Says:

    To Jeremy: to play Devil’s Advocate… why should I care about semantic markup if CSS can make my tags look however I want? Why not just use divs for everything? You write “is is only there to make more information available to those who want to use it,” but who actually uses it? If no one uses it, why should anyone care if it\’s semantic?

    I think that’s the point Christian was after. Christian’s been doing the CSS/XHTML thing from day one, so I’m pretty sure he’s well-acquainted with the basics theories behind the whole deal.

    My reply was that 1) people ARE beginning to make use of it and 2) there’s no telling what uses they’ll want to make of it in the future.

  6. Dave Brondsema Says:

    Real world application: embedded RDF in media files ala XMP. Adobe already supports this, as does the International Press & Telecommunications Council. Windows Vista will support it.

    projects.apache.org generates their pages from DOAP files, with some apache extensions

    My Konfidi project uses several RDF schemas to describe trust relationships between entities.

    RDF may not be great for the browser-web, but it’s great for machine interchange of information. What SQL databases are to internal apps, RDF should be for external apps.

    Also check out http://ebiquity.umbc.edu/blogger/100-most-common-rdf-namespaces/ for a pulse on what RDF schemas are popular.

  7. jeremy Says:

    to Kyle, My point was essentially that it is being used by the people who have a use for it. Not that it is starting to gain in popularity but that there have always been niche markets for that information if you’re target audience desires one. Whether the browser is consuming it or not is irrelevant to the whole discussion. There are extensions, and utilities that scrape pages for those people who have a need for them. If you intended audience is going to be using them then by all means you should use semantic markup. If you audience doesn’t and probably won’t ever care then don’t bother. CSS didn’t make semantic markup obsolete it made it more useful.

Leave a Reply