Essay Relationships

Volume 7, Issue 126; 16 Jul 2004; last modified 08 Oct 2010

Having been convinced that my motivation for having three dates in Atom was really a mechanism for expressing some implicit relationships between ideas, I started thinking about what explicit relationships I might want to express.

Having been convinced that my motivation for having three dates in Atom was really a mechanism for expressing some implicit relationships between ideas, I started thinking about what explicit relationships I might want to express.

The DCMI Metadata Terms defines a relation property for expressing “a reference to a related resource”. That’s about as generic as a relationship can get. It goes on to make 13 refinements of that property (6 invertible properties, and their inverses, plus one non-invertible property):

Is Version Of

The described resource is a version, edition, or adaptation of the referenced resource. Changes in version imply substantive changes in content rather than differences in format.

Has Version

The described resource has a version, edition, or adaptation, namely, the referenced resource.

Is Replaced By

The described resource is supplanted, displaced, or superseded by the referenced resource.


The described resource supplants, displaces, or supersedes the referenced resource.

Is Required By

The described resource is required by the referenced resource, either physically or logically.


The described resource requires the referenced resource to support its function, delivery, or coherence of content.

Is Part Of

The described resource is a physical or logical part of the referenced resource.

Has Part

The described resource includes the referenced resource either physically or logically.

Is Referenced By

The described resource is referenced, cited, or otherwise pointed to by the referenced resource.


The described resource references, cites, or otherwise points to the referenced resource.

Is Format Of

The described resource is the same intellectual content of the referenced resource, but presented in another format.

Has Format

The described resource pre-existed the referenced resource, which is essentially the same intellectual content presented in another format.

Conforms To

A reference to an established standard to which the resource conforms.

Two things spring immediately to mind:

  1. That list is incomplete. I’ve invented at least one more explicit, invertible relationship, “previous in thread”. I’ve also got a number of implicit relationships that I could conceivably make explicit (associated with itinerary, associated with topic, tangentially related to, etc.). The point being that the list above is incomplete and no complete list will ever be drawn up.

  2. The chance of getting these relationships in the Atom format zero, it’s too big and hairy a topic to ever achieve the necessary consensus. I think that’s ok. I wouldn’t argue that it should go in Atom even if it could. We have Dublin Core, and we have namespaces for our own extensions, and we’ll always be able to use those. (No one’s ever accused me of being afraid of namespaces ;-) ) If useful conventions develop, tools can support them just fine without giving them the Atom namespace.

On the subject of exactly what relationship I’m trying to make explicit, I chose “replaces/is replaced by”. Chris Purcell suggested “has version/is version of” instead.

I tend to think of version markup for things that change over time as a single idea is refined. Consider the series of dated specifications at the W3C. For example, the current (at the time of this writing) working draft of XSLT is “”. That is clearly “a version of” the final specification, “”.

Compare that with the relationship between my original thoughts on Atom dates and my revised thinking. I don’t think those are two versions of the same idea except in the very broadest sense. A better model, it seems to me, is to say that my revised thinking supplants my original thinking: that the new ideas replaces the old rather than being a version of it.

I can see both sides, though. They are both “versions of” my thoughts about dates in Atom. Luckily, we can let a thousand flowers bloom, as the saying goes, and figure out what works best later on.


If you were using the Thread Description Language <>, you would use "repliesTo", the theory being that an author replying to his- or herself is following up on what was previously written. For corrections, you can use "disagreesWith", a subproperty of "repliesTo".

Earlier versions also provided explicit "followsUp" and "corrects" properties, but I took them out in an effort to simplify.

—Posted by David Menendez on 16 Jul 2004 @ 03:16 UTC #

Now that I know TDL exists :-), I'll probably make the switch. Thanks for the pointer.

These links are still examples of other kinds of relationships, so I think my point is still relevant.

—Posted by Norman Walsh on 16 Jul 2004 @ 08:55 UTC #

I suppose the nearest approximation to threading in the DC terms is 'references/is referenced by'. If we think in terms of published books or journal papers rather than weblog entries then this makes sense; a book or paper that is published in response to another would indicate it by citing the first book as a reference. It seems strange to use that terminology with paragraphs typed in to a comment form, but I suppose that's the expected result of applying metadata designed for substantive works to individual web pages...

The mail and news header 'References' is used to represent similar relationships.

—Posted by Damian Cugley on 20 Jul 2004 @ 04:57 UTC #