citation-brainstorming: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(added note about ROLE)
m (added journal to the list of implied schema)
Line 173: Line 173:
  + title
  + title
  + creator
  + creator
+ journal
  + volume
  + volume
  + issue
  + issue

Revision as of 01:42, 5 May 2006

Citation Brainstroming


  • ...
  • ... (a bunch of good folks!)
  • Tantek Çelik
  • Tim White
  • Michael McCracken

See also

Use Cases

To focus the discussion, please add use cases below that will help show what problems the citation microformat will be solving.

I've included two, focusing on consuming information - I've assumed that use cases for generating microformatted content would just involve the desire to enable your content to be consumed better, but I'm interested to see if there's something I'm missing here -Mike

Acquiring reference information from the web

A user either finds an author's papers page, or is viewing the results of a search and would like to import the information about the displayed papers into their local reference database, for the purposes of cataloging things they've read, adding notes, and using the information to generate later citations, potentially in other forms, such as BibTeX or Docbook, for inclusion in a publication of their own.

Notes: In this case, it isn't important to the user what format the citation takes as displayed on the page where they find it. What *is* important is that it contains enough information to allow generation of the format they will ultimately re-publish it in. This implies that it may be worthwhile to err a little on the side of verbosity.

Also, links to downloadable full representations of the cited work are very important - e.g. a link to the PDF of a journal article, or to a music file.

Subscribing to reading lists, periodicals, etc

I would like to be able to leverage my news aggregator with hAtom to subscribe to a remote source for citation information, for example:

  • a reading list for a seminar
  • The publication list for a conference (e.g., subscribe to SIGGRAPH and see the updated conference proceedings every year)
  • the issues of a journal
  • a particular research group or researcher's publications
  • Not just research: a popular author's publications (e.g., Malcolm Gladwell's Archive)

Aggregating reading lists and reviews

A citation microformat-specific aggregator could provide a decentralized version of CiteULike. Libraries, authors, research groups, and publishers could mark up their collections, while other people on weblogs or review sites could add tags and reviews.

At least, having a well-adopted microformat would make writing tools like CiteULike much better, since it relies in some cases on screen-scraping publisher web-sites.

Original hBib Discussion

During the WWW2005 Developer's Day microformats track, Rohit Khare gave a presentation where he discussed the microformats The microformats process, and then did a quick demonstration wherein a bunch of us got on a shared Subethaedit document, and brainstormed some thoughts on what an "hBib" bibliography citation microformat would look like. Rohit placed the document on his Commercenet site.

An attempt to summarize and inline the linked document follows. -Mike

Two major goals were outlined by the group:

  • Avoid re-keying references
  • Adapt to new journal styles by changing CSS

The fundamental problem was discussed in terms of display - the ability to transform XHTML+hBib into the many journal-specific formats. For example, how to display "" when all authors are present in the source, and how to re-order the elements if a style defines a set order of elements that conflicts with the ordering in the source. Using hCard for authors was agreed on, and the beginnings of an example were shown.

XHTML Structure

With my exprience working X2V and hCa* has taught me what elememts are easy to find and which are not. Since the Citation microformat is very new it is possible to not make a lot of the same errors twice and to make things easier for extracting application to find and imply certain properties.

  • There should be some sort of 'root node' that implies all child elements are for the Citation microformat.
  • Since most people will have multiple Citation there should be away to represent each Citation object as a unqiue block independant of another. This is to keep the parse from finding 'author' and applying to all citations. Each citation should be in a container (class="???") that scoped from others.
  • Perhaps class="hcite" with <cite> recommended as the root element. E.g. <cite class="hcite">

Citation vs. Media Info

What distinguishes a cite from say Media Info (e.g. media-info-examples) is that a cite is a reference to something explicitly external to the current piece of content or document, whereas Media Info describes information about content embedded or inline in the current document.

Semantic Meaning

One of the guiding priniciple of Microformats is to use the most semantically rich element to describe each node (Point 2 of Semantic XHTML Design Principles: Use the most accurately precise semantic XHTML building block for each object etc). Since we are dealing with HTML and citations, several elements are candidates to be used to enrich the semantic meaning. CITE, BLOCKQUOTE, Q, A, (are there more?)

The Citation Brainstorming Page has a few development and ideas about how to give another person credit for a link. Some of the semantic ideas behind their choices of tags can be applied to a full bibliographic type reference. Does this sentence make sense only historically? -Mike

OCLC's WorldCat for titles

Question: what about using something like OCLC's WorldCat for linking titles? - Tim White

This and That

After reading through alot of different citation encoding formats, i noticed that each format was being used in onw of two ways. It was either to describe the Current page (THIS.PAGE) or being used to encode references that point to external resources (THAT.PAGE)

The informatation being encoded was identical for both resources (author, date, name, etc) they just reference different things. For this microformat, i'm not sure if we want to try to solve both problems, or just one? The meta tags in the head element would be the ideal place for information about the THIS.PAGE, but that is not in following with the ideals of microformats where information is human-readable. The THAT.PAGE idea where a list of references is at the end of a document in the form of a bibliography is more inline with the ideals of a microformat where the data is human-readable. That doesn't mean that data about the current document shouldn't be human-readable, so some of the same properties used to reference extermal resources can be used for the current document (THIS.PAGE). To do this a different root item could be used and transforming applications could either extract the citation data about the current page, or information about this page's references.

This is open for discussion, but either way, i believe that the properties used to describe a page will be the same for both THIS and THAT. brian suda

More on This and That

Citation microformats are being explored as a possibility for citing genealogical information at Dan Lawyer's blog.

This is a case where frequently the citation would refer to (THIS.PAGE), but would have nested within it a reference to (THAT.PAGE), possibly a few levels deep. For instance, a web page might contain data extracted from a microfilm of a census. The citation would need to include information about the web page, information about the microfilm, and information about the census. Genealogical citations are expected to include the repository (where can this book or microfilm be found. Is this the same as venue?). So, at each level the information should contain the repository of the referenced item. A nesting (recursive) mechanism for citation microformats would be useful in this case. Is this the function of the "container" element in the Straw Format?

Date Formatting

Since microformats are all about re-use and the accepted way to encode Date-Time has been pretty much settled, then this is a good place to start when dealing with all the different date citation types.

These are all the different fields from various citation formats that are of temporal nature:

* Date (available | created | dateAccepted | dateCopyrighted | dateSubmitted | issued | modified | valid)
* originInfo/dateIssued
* originInfo/dateCreated
* originInfo/dateCaptured
* originInfo/dateOther
* month
* year
* Copyright Year
* Date - Generic
* Date of Confernce
* Date of Publication
* Date of update/revisou/issuance of database record
* Former Date
* Entry Date for Database Record
* Database Update
* Year of Publication

There are several common properties across several citation domains and will certainly be in the citation microformat, the unique instances will need further consideration, otherwise there could be no end to posiblities.

There are also several properties (year, month, Year of publication) that can be extracted from another source. Therefore, if you only encode a more specific property such as; Date of Publication, you can extract the 'year of publication' from that. Since the date-time format we are modeling after is the ISO date-time format, just the Year portion is an acceptable date. So if you ONLY know the year of publication, the you can form a valid 'Date of Publication' as a microformat (which inturn is a valid 'year of publication') - you milage may vary when it comes to importing into citation applications.


It seems to me that these can be collapsed to maybe one or two different date properties. As far as the specific human readable formatting of the date, that can be chosen per whatever the presentation style guide says, and the Datetime Design Pattern used to simplify the markup. - Tantek


Some of the citation formats has a place for 'keywords' or 'generic tags', etc. This might be a good place to re-use the RelTag microformat. The downside would be that they are then forced to be links, which might be the correct way to mark-up these terms.

MARC / MODS / Dublin Core

The MODS (example) and Dublin Core (example) transformations of MARC21 may contain some useful ideas.

Here's a first attempt at rewriting the linked examples in XHTML (written in response to a mailing list query about encoding book information with microformats):

<div class="book" lang="en">
  <h3 class="fn">Arithmetic /</h3>
  <p>By <span class="creator"><span class="fn">Sandburg, Carl</span>,
     <span class="date">1878-1967</span></span>,
     and <span class="illustrator">Rand, Ted</span></p>
  <p>Publisher: <span class="publisher"><span class="fn">Harcourt Brace Jovanovich</span>,
     <span class="locality">San Diego</span></span></p>
  <p>Published: <span class="issued">1993</span></p>
  <p class="description">A poem about numbers and their characteristics. Features
     anamorphic, or distorted, drawings which can be restored to normal by viewing
     from a particular angle or by viewing the image's reflection in the provided
     Mylar cone.</p>
  <p class="note">One Mylar sheet included in pocket.</p>
    <li class="subject">Arithmetic</li>
    <li class="subject">Children's poetry, American.</li>
    <li class="subject">Arithmetic</li>
    <li class="subject">American poetry</li>
    <li class="subject">Visual perception</li>

Basic Citation Stuctures

There are basic structures to any citation, this is an overview of some of the types

Brian's Straw format

implied schema (examples)

+ publisher
+ language
+ description
+ title
+ creator
+ journal
+ volume
+ issue
+ page 
+ edition
+ identifier
+ tags
+ format
+ date published
+ copyright
- audience

implied schema (formats)

+ publisher
+ language
+ description
+ title
+ creator
+ volume
+ pages
+ edition
+ issue
+ identifier
+ tags
+ format
+ date published
+ date copyrighted
- subtitle
- image 
- excerpt
- index terms
- series title
- publication
- journal
- part (1 of X)

UNION of the two schemas

+ (PLUS) means common properties
- (MINUS) means unique to the schema


<ul class="bibliography">
	<li class="citation" xml:lang="en-gb">
		<!-- publisher data as hCard-->
		<div class="publisher vcard">
			<span class="fn org">ABC Publishing Co.</span>
			<span class="country-name">United Kingdom</span>
		<!-- author(s) data as hCard -->
		<div class="creator vcard">
			<span class="fn n"><span class="given-name">John <span class="family-name">Doe</span></span>

		<!-- location data -->
		<span class="title">Foobar!</span>
		<span class="description">World Class Book about foobar</span>
		<span class="volume">1</span>
		<span class="issue">1</span>
		<span class="edition">1</span>
		<span class="pages">1-10</span>
		<span class="format">article</span>
		<!-- differed to the UID debate -->
		<span class="identifier">12345678</span>
		<!-- keywords -->
		<span class="keyword">foo</span>
		<span class="keyword">bar</span>
		<!-- date properties -->
		Published <abbr class="dtpublished" title="20060101">January 1st 1006</abbr>
		Copyright <abbr class="copyright" title="20060101">2006</abbr>

<p class="citation">Have you read <span class="title"><abbr title="book" class="format">Foo Bar</abbr></span>? 
It was written by <span class="author vcard"><span class="fn">John Doe</span></span>. 
It only came out a <abbr class="dtpublished" title="20060101">few months ago</abbr></p>

Note: the "format" property above is incorrect. Format would refer more the physical characteristics of an item, rather than its type or genre (e.g. "article", "book", etc.). I'd rather have the main class for the li be "article" in this context, than the fairly meaningless "citation." Of course, one could have both, which would be fine too. -- bruce

Note: Could we use ROLE from hCard to identify editors, translators, authors, etc?

Mike straw format suggestion

In the interests of starting debate and having something concrete to fix, I suggest the following structure for a format. It is probably very incomplete and I claim no microformat expertise. I'm just trying to follow existing patterns. Comments and ridicule are both solicited. -Mike

In General

The citation format is based on a set of fields common to many bibliographic data formats, which are often implied by standard citation display styles but not explicitly marked up in practice on the web.


The citation schema consists of the following:

  • cite
    • title: required, text (class = fn)
    • subtitle: optional, text
    • authors: optional, use hCard
    • publication date: optional
    • link(s) to instantiations, optional, url or use rel-enclosure? (class=url)
    • UID, optional (for ISBN, DOI - use existing uid class) | permalink
    • series (aka volume/issuenum) , optional (not as sure how to handle these - suggestions?)
    • pages: startpage & endpage, optional, text
    • venue, optional (hCard)
    • publisher, optional (hCard)
    • container: optional (nested hCite)
    • abstract, optional (blockquote + class="abstract" ?)
    • notes, optional (blockquote + class="notes" ?)
    • keywords, optional (rel-tag)
    • image, optional (for inclusion inline, unlike the url)
    • copyright, optional (rel-license)
    • what else am I missing?
      • language, optional

Looks good, but I question the use of hCard for names. Due to ambiguity issues, requring hCard would lead to extra markup in order to apply just a name, hence the need for a root element. We should extract the N optimization of hCard like we did with adr, in order to ease this problem. --Ryan Cannon

Perhaps a Retrieved Date or Access Date would be appropriate for citing online resources. For example at you see citations like this:

Chief Academic Officers of the Big 12 Universities (2000). Big 12 Faculty Fellowship Program. Retrieved December 20, 2000 from the World Wide Wed:

--Joe Andrieu


The following are translations into the citation format.

Note: some of these are just placeholders right now. Please feel free to fill them in!

Citing Private Communication

  • published-date seems a weird fit, but it works...

private communication, Michael Jordan, May 2004

Needs a formatted example.

Citing Legal Cases

Needs an example. Here's some info I found about citing law:

I'm not a lawyer, so I'm relying on the published "blue book" standard, at least the only part of it I can get without paying $25. I'd be happy to hear improvements from experts in the field - how do lawyers mark up references to case law in HTML now?

From and, I find mostly just links to PDFs with the name of the case as the link text. Or just this, from EFF:

<h1>The Betamax Case</h1>
<h2>Sony Corp. of America v. Universal City Studios, 464 U.S. 417 (1984)</h2>

From an example at the sample bluepages: 5 basic components:

  • 1 name of the case (citation title)
  • 2 published source in which case may be found (citation containing publication?)
  • 3 a parenthetical indicating the court and year of decision (citation venue?)
  • 4 other parenthetical information, if any (citation notes?)
  • 5 subsequent history of the case, if any (citation notes?)

Here's two examples from the bluebook. Note that there are very strict rules about abbreviations in that source!

Holland v. Donnelly, 216 F. Supp. 2d 227, 230 (S.D.N.Y. 2002), aff'd, 324 F.3d 99 (2d Cir. 2003).

Green v. Georgia, 442 U.S. 95, 97 (1979) (per curiam) (holding that exclusion of relevant evidence at sentencing hearing constitutes denial of due process).

Citing a Book

needs an example

Citing a journal article

needs an example

Citing a magazine article

needs an example

Citing a Patent

Patents are often just cited by number. Here's a citation that accomplishes the same thing with some extra information:

<cite class="citation">
<a class="fn url" href="">US Patent #6,704,928</a>
<span class="author vcard">Richard Shann</span>
<abbr class="dtpublished" title="20000828T0000-0500">August 28, 2000</abbr>
<blockquote class="abstract">
An executable program is prepared from a plurality of object code modules, at least one of the object code modules including section data specifying a plurality of code sequences each associated with relocation instructions identifying condition parameters. Only one of the code sequences is selected for inclusion in the executable program, determined by whether the condition for that parameter is satisfied. A linker for preparing the executable program includes a stack, a relocation module for reading the relocations, carrying out the relocation operations and selecting code sequences for inclusion in the executable program in dependence on values taken from the stack, a section data module for holding section data which is subject to the relocation operations, and a program forming module for preparing executable programs. Also disclosed is a method of assembling an object code module such that the assembled object code module includes the conditional code sequences.</blockquote>

Citing a conference publication

Based on the following reference, plus some more information from the ACM site and a little of my own input (the tags)

L. Hochstein, J. Carver, F. Shull, S. Asgari, V. Basili, J. K. Hollingsworth, and M. Zelkowitz, “Hpc programmer productivity: A case study of novice hpc programmers,” in Proceedings of ACM/IEEE Supercomputing Conference, 2005.

<cite class="citation">
	<span class="author vcard">Lorin Hochstein</span>,
	<span class="author vcard"> Jeff Carver </span>,
	<span class="author vcard"> Forrest Shull </span>,
	<span class="author vcard"> Sima Asgari</span>,
	<span class="author vcard"> Victor Basili</span>,
	<span class="author vcard"> Jeffrey K. Hollingsworth</span>, and 
	<span class="author vcard"> Marv Zelkowitz</span>,
	<a class="fn url" href="">HPC Programmer Productivity: A Case Study of Novice HPC Programmers</a>.
	<cite class="container citation">
	<a class="fn url" href="">Proceedings of ACM/IEEE Supercomputing Conference</a>
	<abbr class="dtpublished" title="20051126T0000-0800">2005</abbr>
	page <span class="startpage">35</span>
<div class="publisher vcard">
  <span class=" fn">IEEE Computer Society
    <div class="adr">
      <span class="locality">Washington</span>,
      <span class="region">DC</span>
<a class="url instantiation" href="">PDF of full text from ACM</a>

	DOI: <a class="url uid" href="">10.1109/SC.2005.53</a>
        Tags: <a href="" rel="tag">productivity</a>, <a href="" rel="tag">hpc</a>, <a href="" rel="tag">performance</a>
	<blockquote class="abstract">In developing High-Performance Computing (HPC) software, time to solution is an important metric. This metric is comprised of two main components: the human effort required developing the software, plus the amount of machine time required to execute it. To date, little empirical work has been done to study the first component: the human effort required and the effects of approaches and practices that may be used to reduce it. In this paper, we describe a series of studies that address this problem. We instrumented the development process used in multiple HPC classroom environments. We analyzed data within and across such studies, varying factors such as the parallel programming model used and the application being developed, to understand their impact on the development process.

Citing an external website

This is based on a formal citation of a website in the references section of a research paper, but could also be used for in-line links that had added information. Here's the original:

[25] David Stern, "eprint Moderator Model", (version dated Jan 25, 1999)

<cite class="citation">
<a class="fn url" href="">eprint Moderator Model</a>
<span class="author vcard">
<a href="" class="url fn">David Stern</a>
<abbr class="dtpublished" title="19990125T0000-0500">
    Jan 25, 1999