Ian Hickson, as he often does, opined on introducing a way to declare metadata in a more humane way in HTML5. He’s done this before, the fruits of which were data-attributes on elements as a supported, coherent and unified vehicle to deal with annotating elements (or the data they represent) with metadata for the purposes of the web page’s own script logic.
This time, it’s about making RDF-like data contextually available within the elements and its structure. The proposed solution is quite elegant in defining two open-ended new attributes for scoping and labelling, and a model to determine the content itself based on the element. Sources let me know that the RDF camp will not remain silent on the issue on the grounds that a) they’re already vigorously discussing the issue and b) they’re vigorously discussing almost every issue.
I don’t know an awful lot about RDF. I know that it’s in use in quite some places where it’s naturally been heralded as a very good metadata solution; places where metadata’s already A Big Deal. If we remove those things, what has RDF achieved in the mainstream? Atom and RSS 2.0 are in use in places where the maintainer most certainly doesn’t know all that much about it; what about RDF? RSS1 and CC. Maybe the receding (and good riddance) Trackback. Not bad, assuredly. But not great.
The goal of RDF is to reign in the Glorious Semantic Web Revolution. From this, it follows that the more people provide this data, the better. The thing is — and again, someone with a clue has confirmed my thinking on this — the RDF XML model is fine and dandy for the sites that have adopted it, but it’s not fine and dandy for many other things, and insinuating this provokes ire in the hearts of the RDF warriors. Apparently, the (Markdown-smelling) Notation 3 will be easier to use, but hasn’t won many parser implementations, and there’s only a token RDF JSON representation effort.
As far as HTML integration goes, we’ve played this record before. Tantek Çelik wrote that, and he went on to mostly ignite the concept of Microformats. There are two important facts that often seem, due to inordinate squinting, hand-waving and misconstruing, to go against each other, but the two are fully compatible and complementary.
- There’s nothing wrong with a separate file containing metadata in its most pure and easily consumed format; it is desirable for many reasons.
- With a web site (or some such) already loaded, embedded metadata and the clear marking and annotation thereof creates opportunity for a better experience.
The Microdata section of the HTML5 draft might be one of its finest moments. A standard has finally been defined for annotating this metadata, be it standardized or not, throughout the document, pervasively and within the well-defined concepts of the page’s own structure. At the same time, escape hatches (to the pure RDF format for metadata processing or to JSON for… horsing around) ensure that the metadata is useful while being easy and far less alien to specify. And the hatches work. And the existence of “Microdata” doesn’t reduce the tenability of the other standards. (Although see this bit, which brings some understandable context; nothing in HTML5 was ever final in the first revision, though. Update: As proven by Ian Hickson himself who stops by to mention that the attribute has been renamed to duck a possible conflict.)
With tools like this, there’s no way we don’t all win.
Thanks for the support!
Re the last e-mail you quote, note that we’ve since renamed “property” to “itemprop” to avoid the potential clash with future RDFa changes.
By Ian Hickson · 2009.05.12 22:02
Thanks. The post has been duly updated.
I love HTML5, and I always think it’s important to defend the inventive new approaches inside it that conspire to solve real problems, especially in the face of the “perfection is reached when there is nothing left to take away” approach taken by some other standards whose names you know. Or, in this case: The working RDF traditions and its existence and adoption should be respected, but that’s no reason not to make a strong case for complementary ideas.
By Jesper · 2009.05.12 22:33