From Microformats Wiki
Revision as of 23:09, 14 January 2010 by Tantek (talk | contribs) (Reverted edits by Niuhaibiao (Talk) to last version by Tantek)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

citeRel brainstorming

Various parties have proposed microformats related to citations and distributed online conversations. Ryan King and Eran Globen started with hVia (which became citeVia and later citeRel :-)). You can see the conversation in these blog posts:

People already cite their sources in their blog posts and it would be great (and shouldn't be too difficult) to track that information. In that vein, read this post which covers the initial thinking on the topic. (This was a followup post).

Later, Eran expanded the idea to encompass not just via citations, but replies and updates as well. Follow up post here.


Note for general text citations

This page is all about hyperlink citations, either explicity through the use of an <a href> or a mostly hidden "cite" attribute on the <blockquote> and <q> elements.

For general text citations, please take a look at:


The basic idea we're trying to solve here is the tracking of distributed conversation- more specifically, distributed conversation between blog posts– the scope is intentionally limited here, though other aspects of distributed conversation are certainly important and related.

A smaller portion of the problem is in identifying the most authoritative sources in a web-wide thread. In researching anything, the ability to identify a primary source is invaluable. Adding this kind of ordinality would add value to any list of related links such as a tag page.
Finding an authoritative source is not a smaller problem, but a larger problem- you have to have the whole conversation graph in order to find the root nodes. --RyanKing
The definition of Authority here is murky at best. This is far beyond the scope of this discussion. --EranGloben 13:41, 21 Jan 2006 (PST)
Citing (quoting or refering to as an authoritative source or precedent) and hat-tipping (giving credit to a non-primary source for calling attention to a primary [authoritative] source) are certainly two different animals. Common etiquette suggests use of anchor tags because they can be actuated by the user.
I dug around at W3C and found rel="cite" is already defined in the XHTML Metainformation Attributes Module. In the XHTML 2.0 Hypertext Attribute Collection, href and cite attributes are defined and may coexist but they behave differently: The href attribute "specifies a URI that is actuated when the element is activated." For the cite attribute, "User Agents MUST provide a means for the user to actuate the link."
This has already been covered in the above blog posts. Admitedly, it needs to be brought into this document, though. --RyanKing
Whereas authors in general like their work to be cited with hyperlinks, and whereas users can be counted upon to cite primary and non-primary sources simultaneously without differentiating them, and whereas the only difference between a primary citation and a non-primary citation is the potential for skipped vias when considered across a distributed conversation, and whereas the use of existing specifications is preferred to the creation of redundant systems, and whereas increasing attributes is less severe than increasing nested elements, I propose that good definition and use of rel="cite" will resolve the problem of crediting sources via anchors. Andy Skelton
I see the conclusion as quite the opposite. Because rel="cite" *is* defined in XHTML2 drafts, and microformats allow you add rel values to HTML4/XHTML1 *now*, adopting the same convention makes a lot of sense.
If anything it bolsters the case for rel="cite" (as opposed to some other value like rel="source").
In a relCite microformat, you would define the "cite" value by normatively referencing XHTML2, rather than redefining it (even copy/pasting the definition from the XHTML2 spec -- though one could do so "informatively"), just like in hCard, we define the properties by normatively referencing vCard. Tantek
XHTML 2.0 states that it "should in no way be considered stable, and should not be normatively referenced for any purposes whatsoever." Andy Skelton
That is a very good point Andy. Thus we should define rel-cite compatibly, and then give attribution and informatively reference XHTML2. Tantek
There is a related problem which is not exactly the same. Let's say that you have a bit of microformatted data which implies an assertion, and the asserter is the containing page. For example a relTag might have semantic value like "I claim that this object is a FOO." When that assertion is copied over to a new page, the identity of the asserter has to be made explicit: "according to the original containing page at BAR, this object is a FOO." Now let's say somebody copies over the copy. This might happen if there was a B-lister who had an entry picked up by an A-lister, and the A-lister's entry was then copied by a vast number of C-listers. (That's a typical pattern for data diffusion). For the data to keep its integrity, the source of the citation would always have to be the original containing page (the B-lister) rather than the containing page that the copy was fetched from (the A-lister). Lucas Gonze
Lucas- that's why God invented <blockquote>. Content copied from one site to another should be quoted. --RyanKing
The question isn't about whether something was copied but what the cite source is. This is a case where the difference between a primary citation and a non-primary citation affects the meaning of the data. Lucas Gonze
This illustrates the difference between types of citations. C quoting A's text found on B's blog. C would use a reply or forward type citation when referencing A's text and would add a via type citation when mentioning his source, B. --EranGloben 13:41, 21 Jan 2006 (PST)
I have a related problem that may shed some light on this one. I came to this page because I was just looking at a scientific journal citation and thought "that could be a microformat." There are already standard formats for citations of all sorts, including websites (e.g. Modern Language Association), so maybe converting these into microformats would solve the problem stated here, and more. -- Scott Reynen

Nested cite/anchor tags

rel="cite" / rev="cite"

This could be a way to indicate a citation of linked content, typically web pages (or portions thereof, like blog posts) but inclusive of any kind of resource with a URL. "Cite" is defined as "to quote or refer to as a precedent or authority."

By adding rel="cite" to a hyperlink, an author could indicate that the destination of that hyperlink is an authoritative source or a precedent to the current page. rel="cite" would be used whether an author cites by quotation:

<blockquote>Our liberty depends on the freedom of the
press, and that cannot be limited without being lost.
<a href="http://en.wikiquote.org/wiki/Thomas_Jefferson" rel="cite">
Thomas Jefferson</a></blockquote>

or by reference only:

<a href="http://example.com/joeschmoe/article/99/" rel="cite">
Joe Schmoe's latest rant</a> is wrong, wrong, wrong...

rel="cite" hyperlinks are intended to be visible links on pages and posts. Note that other markup may be used to indicate citation:

<blockquote cite="http://en.wikiquote.org/wiki/Thomas_Jefferson">
Our liberty depends on the freedom of the press, and that cannot be
limited without being lost.<cite>Thomas Jefferson</cite></blockquote>

but User Agents are not compelled to expose a link to the cited resource. Hyperlinks are preferred by most authors because they afford the user easy access to the cited resource.

citeRel vs. relCite

For basic structure and markup of citations it has been suggested that we use the following:

<!-- relCite example -->
<a rel="cite" href="source.url">source.title</a>

instead of

<!-- citeRel example -->
<cite><a href="source.url">source.title</a></cite>

There are several reasons to prefer the citeRel form over the relCite form of markup:

  1. citeRel uses only existing XHTML elements and values where relCite uses a new rel value.
  2. citeRel is easily extensible without breaking it's existing meaning.

When is a bare href (not) a citation

A href is a citation when:

  • A blog entry refers to another entry or to a presentation, then talks about that entry or presentation. eg "I believe it was more or less the same <a href="...">presentation</a> he gave at SxSW this year" Ryan King.

A href is not a citation when:

  • A blog entry refers to the author of an entry or presentation using the author's homepage url, then talks about the entry or presentation. eg "For my Internet Systems Research class last night, we had <a href="...">Tantek Çelik</a> come speak on microformats" Ryan King
  • A blog provides a blog-roll, or "recent bookmarks" panel

Moving Forward

Based on the examples found in my research, previous formats and discussions with several people I see the following possibilities for this format.

Option 1

  <cite class=”foo”><a href=”source url”>source title</a></cite>
     Quoted text

Option 2a

  <blockquote cite=”sourceurl” class=”foo”>
     Quoted text

Option 2b

  <a href=”source url”>source title</a>
  <blockquote cite=”sourceurl” class=”foo”>
     Qouted text

Option 3

  <a href=”source url” rev=”cite/via”>source title</a>
     Quoted text


  1. In the preceding examples you may substitute <Q> for <BLOCKQUOTE>
  2. Options 1 and 2 are not necessarily mutually-exclusive.
  3. In both 1 and 2 replace foo with the appropriate class name (e.g. via, rev-reply, rel-update, etc.)


Option 1 is based on Tantek’s suggestion in The Elements of Meaningful XHTML and was reached at independently by Ryan King (see examples page). It seems to imply that the current document is citing the entirty of the linked document.

Option 2a is based on existing and emerging HTML standards and some existing patterns of use. To make the relationship explicit, the class attribute is used but this can be replaced by a rel/rev attribute as soon as one is introduced in quote elements. This option is currently problematic as no user agent I am aware of properly exposes the value of the cite attribute to the user.

Option 2b tries to solve that problem by adding a link to the cited document. This solution has the obvious disadvantage of repeating data but will evolve naturally into option 2a as soon as user agents improve their handling of cite attributes.

Option 3 is based on the cite rel value introduced in several standards and the via rel value introduced in atom. It builds on what seems to be the most popular format in use. Caveats:

  • Given the existence of the CITE element it seems that the cite rel value is redundant although it appears that it will become a part of upcoming standards.
  • Another problem with this format is that the cite and via values are not specific enough. Using this format in a more precise manner will require using non-standard rel values.

Current Resolution

After discussion the above options were converged into the following syntax:

  <cite id="$cite.id$" class="$relationship$"><a href="$source.url$">source title</a></cite>
  <blockquote cite="#$cite.id$">
     Quoted text

The use of the cite attribute connectes the blockquote (or quote) element with the appropriate cite. Use of this feature is optional.

Additional Resources

  • Thread Description Language - TDL is an RDF vocabulary for describing threaded discussions, such as Usenet, weblogs, bulletin boards, and e-mail conversations.
  • Usenet discussions used the references field which includes ALL referenced posts with the one replied to last in a space separated list.
  • RFC2076 - Common Internet Message Headers section 3.6 has the following:
    • In-Reply-To - Reference to message which this message is a reply to.
    • References - In e-mail: reference to other related messages, in Usenet News reference to replied-to-articles.
    • See-Also - References to other related articles in Usenet News.
    • Obsoletes - Reference to previous message being corrected and replaced.
    • Supersedes - Commonly used in Usenet News in similar ways to the "Obsoletes" header described above. In Usenet News, however, Supersedes causes a full deletion of the replaced article in the server, while "Supersedes" and "Obsoletes" in e-mail is implemented in the client and often does not remove the old version of the text.
    • Article-Updates - Only in Usenet News, similar to "Supersedes:" but does not cause the referenced article to be physically deleted.
    • Article-Names - Reference to specially important articles for a particular Usenet Newsgroup.
  • Try Googling around "IBIS" (Issue-Based Information Systems), it's an approach to collaborative problem solving that looks very like discussion threads, see also BlueOxen Wiki, BlueOxen Mailing Lists