It’s dangerous to go alone

TDL 3 progress update

By Dave Menendez
Wednesday, November 19, 2003, at 1:29 AM

Summary: A brief tour of the simplified upcoming version of the Thread Description Language.

TDL 3 has undergone some big changes since my last note about it, the least of which is my decision to drop the “0.” from the version numbers. If TDL 3 turns out to be good enough for use, I don’t want to have to call it “0.3” forever or issue a trivial revision just so I can call it “1.0”.

Anyway, the big change since my last note is that threads (formerly called topics) no longer define the order of their posts. After a great deal of thought, I finally came to agree with Danny Ayers that there really aren’t any circumstances where you would say that one post precedes another in a one topic, but follows in another. Applications are free to display posts in whatever manner they want, but in terms of posts themselves, all we need to do is provide a loose chronological order. TDL 3 does this with the relation follows (ResourceResource; that is, it relates one resource to another). Its actual meaning is closer to “does not precede”, but “follows” is close enough. follows is transitive, so if A follows B and B follows C, then A also follows C. Linear threads would be primarily described using follows.

Next is mentions (PostResource), which fills the same role as refersTo and did in TDL 2. For example, this post links to my earlier post about TDL 3, so we could relate them with mentions. mentions is a sub-property of follows, on the logic that anything that mentions something else must have followed it chronologically. (This creates other complications, which I will discuss elsewhere.)

A post which talks about something can be related to it with discusses (PostResource). For example, this post discusses TDL 3. discusses is a sub-property of mentions, since you can’t talk about something without mentioning it.

A post which replies to an earlier post is related with respondsTo (PostPost). This is the basis of forked threading, seen in message boards, Usenet, and e-mail. It is also a sub-property of mentions. There is some overlap in meaning between discusses and respondsTo; in cases where both senses are meaningful, one can use both.

The two sub-properties of respondsTo are agreesWith and disagreesWith (both PostPost). As in TDL 2, these are used to indicate concurring and dissenting opinions.

partOf (PostThread) relates a post to an explicitly-declared thread which includes it.

And… that’s pretty much it. Notable absences include subtopicOf and its associates, hasPosts, and the weblog-specific vocabulary. There are four properties which may or may not get carried forward: initialPost, finalPost, content, and excerpt. I have a schema written out, but I’m holding off on posting it until I finalize what URIs I’ll be using.