The Nucleus of Atom

I've carefully stayed away from the Atom discussions for several reasons. Most of these are around the inaccessibility of the original discussions which required permanent connectivity to participate. I'm also quite happy with RSS which meets my needs right now. I'm planning to support Atom in myRSS when it's more stable. Anyway, tonight I thought I'd take a look at the current syntax specification and was taken aback by the obvious overlap with Dublin Core.

Nearly every element in Atom is already contained in one of the DC specs. I took the time to compare the Atom elements with their DC equivalents and found something quite interesting: when you remove the overlap with Dublin Core what's left is pure syndication.

The only elements that don't have obvious conterparts in DC are those that deal with the syndication aspect of Atom, and to be honest there aren't many of them: atom:feed, atom:info, atom:entry, atom:link, atom:content. So my question is this: why isn't Atom defining a Syndication Element Set as a complement to the Dublin Core Element Set? Why duplicate all that effort when the Dublin Core people have been over the issues again and again for nine years? There are many people that I know are intimately familiar with Dublin Core who are involved in the syntax effort so why aren't these elements being used. Is it NIH or something else?

Here are the Dublin Core/Atom correspondences:

atom:title - conveys a human-readable title for the entry
dc:title - A name given to the resource.

atom:author - construct that indicates the default author of the feed
dc:creator - An entity primarily responsible for making the content of the resource.

atom:contributor - construct that indicates a person or other entity who contributes to the feed.
dc:contributor - An entity responsible for making contributions to the content of the resource.

atom:tagline - conveys a human-readable description or tagline for the feed
dc:description - An account of the content of the resource.

atom:id - conveys a permanent, globally unique identifier for the feed.
dc:identifier - An unambiguous reference to the resource within a given context.

atom:generator - indentifies the software agent used to generate the feed
dc:publisher - An entity responsible for making the resource available

atom:copyright - conveys a human-readable copyright statement for the feed.
dc:rights - Information about rights held in and over the resource

atom:modified - indicates the time when the state of the feed was last modified
dcterms:modified - Date on which the resource was changed.

atom:link - The "atom:link" element is a Link construct that conveys a URI associated with the entry.
dc:relation - A reference to a related resource.

atom:issued - construct that indicates the time that the entry was issued.
dcterms:issued - Date of formal issuance (e.g., publication) of the resource.

atom:created - construct that indicates the time that the entry was created
dcterms:created - Date of creation of the resource.

atom:summary - construct that conveys a short summary, abstract or excerpt of the entry.
dcterms:abstract - A summary of the content of the resource.

Permalink: http://blog.iandavis.com/2004/03/the-nucleus-of-atom/

Other posts tagged as syndication

Earlier Posts