ZedneWeb → TDL

TDL: Thread Description Language 3

TDL is an RDF vocabulary for describing threaded discussions.

  1. Namespace
  2. Schema
  3. Terms
    1. Class tdl:Post
    2. Class tdl:Thread
    3. Property tdl:discusses
    4. Property tdl:follows
    5. Property tdl:inThread
    6. Property tdl:mentions
    7. Property tdl:respondsTo
    8. Property tdl:respondsNegativelyTo
    9. Property tdl:respondsPositivelyTo


The namespace for TDL 3 is <http://www.eyrie.org/~zednenem/2002/web-threads/>. In this document, we will refer to the TDL namespace using the prefix tdl:. Thus, tdl:Post is an abbeviation for the term <http://www.eyrie.org/~zednenem/2002/web-threads/Post>.

Earlier versions of TDL declare many terms in the TDL namespace which are not part of TDL 3. Agents using TDL 3 are only required to understand those terms which are defined by the TDL 3 schema and described in this document.


The schema is currently available in two formats:

Of these, the Turtle version has been constructed for human- and machine-readability. The RDF/XML version is generated automatically from Turtle version.

Documents using TDL 3 are encouraged to import the schema using owl:imports.


Class tdl:Post

An individual contribution to a discussion, such as a weblog entry, message board comment, or usenet post
Status Stable
Disjoint with tdl:Thread
Outgoing tdl:discusses, tdl:inThread, tdl:respondsTo, tdl:respondsNegativelyTo, tdl:respondsPositivelyTo
Incoming tdl:respondsTo,

Class tdl:Thread

A set of posts, typically constituing a discussion
Status Testing
Disjoint with tdl:Post
In range of tdl:inThread

Property tdl:discusses

Relates a Post to a resource it talks about
Status Unstable
Type Object property
Domain tdl:Post
Super-properties tdl:follows, tdl:mentions

This is a stronger connection than tdl:mentions by itself; it indicates that the post provides information about or an opinion on the resource. For example, a post which includes TDL in a list of projects relating to discussion threads would be related with tdl:mentions, while a post which explains why TDL is superior/inferior to some other system would be related with tdl:discusses.

The sense of tdl:discusses overlaps somewhat with tdl:respondsTo. Where appropriate, both may be used. As a rule, a post which responds to another post addresses the ideas of the earlier post, whereas one which discusses the earlier post is addressing the post itself (perhaps complaining about its grammar or noting a quirk of its author).

tdl:discusses is probably a sub-property of foaf:topic.

Property tdl:follows

Indicates that this resource comes no earlier than the specified resource
Status Testing
Type Transitive object property
Sub-properties tdl:mentions, tdl:discusses, tdl:respondsTo, tdl:respondsPositivelyTo, tdl:respondsNegativelyTo

Relates a resource to another resource which precedes it chronologically. More precisely, it indicates that the object resource does not follow the subject (see below). This is the weakest way to relate posts in a thread, but in cases such as linear message boards or e-mail discussions, it may be all that's available.

In certain media, it is possible for posts to be modified after their initial creation, which can lead to cases where post B refers to post A, which is subsequently modified to refer back to post B. Because tdl:mentions is a sub-property of tdl:follows, we must allow A to follow B and B to follow A simultaneously. A circle of tdl:follows relationships effectively indicates that the resources are at roughly the same place chronologically. (@@REF examines the issues circular relationships raise and techniques to avoid them.)

It is sometimes possible to derive tdl:follows from creation dates. A mailing list archive, for example, knows the chronological order of its posts but may not have explicit clues as to which posts mention or respond to others. This is discouraged for distributed forums such as usenet and the blogosphere, as there is no centralized clock.

Property tdl:inThread

in thread
Relates a post to a thread which includes it
Status Testing
Type Object property
Domain tdl:Post
Range tdl:Thread

Property tdl:mentions

Indicates that this resource refers to the specified resource
Status Testing
Type Object property
Super-property tdl:follows
Sub-properties tdl:discusses, tdl:respondsTo, tdl:respondsPositivelyTo, tdl:respondsNegativelyTo

Property tdl:respondsTo

responds to
Relates a post to its parent(s) in a discussion
Status Testing
Type Object property
Domain tdl:Post
Range tdl:Post
Super-properties tdl:follows, tdl:mentions
Sub-properties tdl:respondsPositivelyTo, tdl:respondsNegativelyTo

Property tdl:respondsNegativelyTo

responds negatively to
Relates a post to a parent post which it dissents from or corrects
Status Unstable
Type Object property
Domain tdl:Post
Range tdl:Post
Super-properties tdl:follows, tdl:mentions, tdl:respondsTo

Property tdl:respondsPositivelyTo

responds positively to
Relates a post to a parent post with which it concurs
Status Unstable
Type Object property
Domain tdl:Post
Range tdl:Post
Super-properties tdl:follows, tdl:mentions, tdl:respondsTo

Dave Menendez