RDF and http: URIs

I just had a look at the RDFa Primer 1.0 working draft.

I generally appreciate this plan for embedding RDF data in XHTML. But I still have a problem with RDF's use of http URIs to identify non-digital resources.


<p class="contactinfo" about="http://example.org/staff/jo">

to indicate that this is contact information for the person described at http://example.org/staff/jo.

The URL http://example.org/staff/jo retrieves a digital web page, not a living person. Thus, the URI http://example.org/staff/jo identifies that web page. Not the person.

Using http://example.org/staff/jo to identify the person, is at best ambiguous. (Common sense may tell us that the contact information is for the person, but all this is about interpreting data without common sense.)

We are in bad need of some way to specify if http://example.org/staff/jo is to identify the retrieved resource, or if it should be further de-referenced to identify the subject of that resource, in this case Jo Smith.


Trackbacks and the semantic web

Trackback links define the structure of blog entries that are commented, and the entries that comment them. This is usually a small tree structure. (In principle it is a directed graph.)

There are three kinds of links involved:

  • The trackback URL of the commented entry. In this blog, it is not even coded as a href, but as text. The machine semantics are well defined: This is where the commenting blog's application reports to the commented blog's application. But the machine will usually have to rely on the human to find the trackback URL

    The trackback URL has no other meaning for the human.

  • The link from the comment to the commented entry. Not always present, but it usually makes sense to say what you are commenting on.

    Mainly for human use, but would also be useful for applications that map the comment structure in a database.

  • Links from the commented entry to the comment. Automatically created by the trackback ping, but might be subject to filtering.

    Again - mainly for humans, but could also be useful for spiders.

I suggest that these three kinds of links should carry semantic attributes:

  • The trackback URL could maybe have rel="trackback". A new link type is needed, it does not fit in with existing link types listed at W3C. More link types are available at Dublin Core's DCMI Metadata Terms, but nothing that gets close to describing a trackback ping URL.
  • For the link from the comment to original entry, I suggest rel="dc:references". That is a more general term than comments, but that should not be a problem
  • The link from the original to the comment, is the same type, but in the opposite direction, so rev="dc:references" is a natural choice. (dc:references has an inverse, dc:isReferencedBy, but I think a rel/rev pair is more elegant. dc:references is also a more direct property than dc:isReferencedBy)

What to gain:

  • Third party applications could supply the tree structure found in on-line forums to the - usually linear - discussions found in blog comments
  • Verification: Pretty much anyone can fake a trackback ping from anywhere. If the pinged blog can find a rel="dc:references to itself in the comment, that is proof that the trackback is intended by the comment's publisher.
  • Vanity: It the comment does not link to me, I will not link to the comment.
  • Deletability: If the commented application demands a rel="dc:references link, the commenting application could delete the trackback by removing the rel attribute, and re-ping.