Category Archives: publishing

polling and pushing with the Times Newswire API

I’ve been continuing to play around with Node.js some. Not because it’s the only game in town, but mainly because of the renaissance that’s going in the JavaScript community, which is kind of fun and slightly addictive. Ok, I guess that makes me a fan-boy, whatever…

So the latest in my experiments is nytimestream, which is a visualization (ok, it’s just a list) of New York Times headlines using the Times Newswire API. When I saw Derek Willis recently put some work into a Ruby library for the API I got to thinking what it might be like to use Node.js and Socket.IO to provide a push stream of updates. It didn’t take too long. I actually highly doubt anyone is going to use nytimestream much. So you might be wondering why I bothered to create it at all. I guess it was kind more of an academic exercise than anything to reinforce some things that Node.js has been teaching me.

Normally if you wanted a web page to dynamically update based on events elsewhere you’d have some code running in the browser routinely poll a webservice for updates. In this scenario our clients (c1, c2 and c3) poll the Times Newswire directly:

But what happens if lots of people start using your application? Yup, you get lots of requests going to the web service…which may not be a good thing, particularly if you are limited to a certain number of requests per day.

So a logical next step is to create a proxy for the webservice, which will reduce hits on the Times Newswire API.

But still, the client code needs to poll for updates. This can result in the proxy web service needing to field lots of requests as the number of clients increases. You can poll less, but that will diminish the real time nature of your app. If you are interested in having the real time updates in your app in the first place this probably won’t seem like a great solution.

So what if you could have the proxy web service push updates to the clients when it discovers an update?

This is basically what an event-driven webservice application allows you to do (labelled NodeJS in the diagram above). Node’s Socket.IO provides a really nice abstraction around streaming updates in the browser. If you view source on nytimestream you’ll see a bit of code like this:

var socket = io.connect();
socket.on('connect', function() {
  socket.on('story', function(story) {
    addStory(story);
    removeOld();
    fadeList();
  });
});

story is a JavaScript object that comes directly from the proxy webservice as a chunk of JSON. I’ve got the app running on Heroku, which currently recommends Socket.IO be configured to only do long polling (xhr-polling). Socket.IO actually supports a bunch of other transports suitable for streaming, including web sockets. xhr-polling basically means the browser keeps a connection open to the server until an update comes down, after which it quickly reconnects to wait for the next update. This is still preferable to constant polling, especially for the NYTimes API which often sees 15 minutes or more go by without an update. Keeping connections open like this can be expensive in more typical web stacks where each connection translates into a thread or process. But this is what Node’s non-blocking IO programming environment fixes up for you.

Just because I could, I added a little easter egg view in nytimestream, which allows you to see new stories come across the wire as JSON when nytimestream discovers them. It’s similar to Twitter’s stream API in that you can call it with curl. It’s different in that, well, there’s hardly the same amount of updates. Try it out with:

curl http://nytimestream.herokuapp.com/stream/

The occasional newlines are there to prevent the connection from timing out.

DOIs as Linked Data

Last week Ross Singer alerted me to some pretty big news for folks interested in Library Linked Data: CrossRef has made the metadata for 46 million Digital Object Identifiers (DOI) available as Linked Data. DOIs are heavily used in the publishing space to uniquely identify electronic documents (largely scholarly journal articles). CrossRef is a consortium of roughly 3,000 publishers, and is a big player in the academic publishing marketplace.

So practically what this means is that all the places in the scholarly publishing ecosystem where DOIs are present (caveat below), it’s now possible to use the Web to retrieve metadata associated with that electronic document. Say you’ve got a DOI in the database backing your institutional repository:

doi:10.1038/171737a0

you can use the DOI to construct a URL:

http://dx.doi.org/10.1038/171737a0

and then do an HTTP GET (what your Web browser is doing all the time as you wander around the Web) to ask for metadata about that document:

curl –location –header “Accept: text/turtle” http://dx.doi.org/10.1038/171737a0

At which point you will get back some Turtle flavored RDF that looks like:

<http://dx.doi.org/10.1038/171737a0>
    a <http://purl.org/ontology/bibo/Article> ;
    <http://purl.org/dc/terms/title> "Molecular Structure of Nucleic Acids: A Structure for Deoxyribose Nucleic Acid" ;
    <http://purl.org/dc/terms/creator> <http://id.crossref.org/contributor/f-h-c-crick-367n8iqsynab1>, <http://id.crossref.org/contributor/j-d-watson-367n8iqsynab1> ;
    <http://prismstandard.org/namespaces/basic/2.1/doi> "10.1038/171737a0" ;  
    <http://prismstandard.org/namespaces/basic/2.1/endingPage> "738" ;
    <http://prismstandard.org/namespaces/basic/2.1/startingPage> "737" ;
    <http://prismstandard.org/namespaces/basic/2.1/volume> "171" ;
    <http://purl.org/dc/terms/date> "1953-04-25Z"^^<http://www.w3.org/2001/XMLSchema#date> ;
    <http://purl.org/dc/terms/identifier> "10.1038/171737a0" ;
    <http://purl.org/dc/terms/isPartOf> <http://id.crossref.org/issn/0028-0836> ;
    <http://purl.org/dc/terms/publisher> "Nature Publishing Group" ;
    <http://purl.org/ontology/bibo/doi> "10.1038/171737a0" ;
    <http://purl.org/ontology/bibo/pageEnd> "738" ;
    <http://purl.org/ontology/bibo/pageStart> "737" ;
    <http://purl.org/ontology/bibo/volume> "171" ;
    <http://www.w3.org/2002/07/owl#sameAs> <doi:10.1038/171737a0>, <info:doi/10.1038/171737a0> .


<http://id.crossref.org/contributor/f-h-c-crick-367n8iqsynab1>
    a <http://xmlns.com/foaf/0.1/Person> ;
    <http://xmlns.com/foaf/0.1/familyName> "CRICK" ;
    <http://xmlns.com/foaf/0.1/givenName> "F. H. C." ;
    <http://xmlns.com/foaf/0.1/name> "F. H. C. CRICK" .

<http://id.crossref.org/contributor/j-d-watson-367n8iqsynab1>
    a <http://xmlns.com/foaf/0.1/Person> ;
    <http://xmlns.com/foaf/0.1/familyName> "WATSON" ;
    <http://xmlns.com/foaf/0.1/givenName> "J. D." ;
    <http://xmlns.com/foaf/0.1/name> "J. D. WATSON" .

Well without all the funky colors…I put them there to help illustrate how the RDF includes some useful information, such as:

  • the document is an Article
  • it has the title “Molecular Structure of Nucleic Acids: A Structure for Deoxyribose Nucleic Acid”
  • the article was published on April 25th, 1953
  • the article was published in the journal Nature
  • the article was written by two people: J. D. Watson and F. H. C. Crick
  • it can be found in volume 171, on pages 737-738

It’s also interesting that both the Bibliographic Ontology and the Publishing Requirements for Industry Standard Metadata (PRISM) vocabularies being used. RDF lets you mix in different vocabularies like this. Some people might see this description as partly redundant, but it allows a data publisher to play the field a bit in its descriptions, while still committing to a particular URL for the resource.

Anyhow, the whole point of Linked Data is that you (or your software) can follow your nose by noticing links to related resources of interest in the data. If you are familiar with Turtle and RDF (a more visual diagram is below) you’ll see that the article “Molecular Structure of Nucleic Acids” is “part of” another resource:

http://id.crossref.org/issn/0028-0836

If we follow our nose to this URL we get another bit of RDF:

<http://id.crossref.org/issn/0028-0836>
    <http://purl.org/dc/terms/publisher> <http://periodicals.dataincubator.org/organization/nature-publishing-group> ;
    <http://purl.org/dc/terms/sameAs> <http://periodicals.dataincubator.org/issn/0028-0836>, <urn:issn:0028-0836> ;
    <http://purl.org/dc/terms/title> "Nature" ;
    a "http://purl.org/ontology/bibo/Journal" .

Which tells us that the article is part of the journal Nature, which is the “same as” link to a resource in Linked Periodicals Data at the Data Incubator. When we resolve that URL we eventually get some more RDF:

<http://periodicals.dataincubator.org/journal/nature>
    dc:identifier <info:pmid/0410462>, <info:pmid/0410463> ;
    dc:subject "BIOLOGY", "Biologie", "CIENCIA", "NATURAL HISTORY", "Natuurwetenschappen", "Physique", "SCIENCE", "Science", "Sciences" ;
    dct:publisher <http://periodicals.dataincubator.org/organization/nature-publishing-group> ;
    dct:subject <http://id.loc.gov/authorities/sh85014203>, <http://id.loc.gov/authorities/sh00007934>, <http://id.loc.gov/authorities/sh85015263>, <http://id.loc.gov/authorities/sh85090222>, <http://id.loc.gov/authorities/sh85118553> ;
    dct:title "Nature" ;
    bibo:eissn "1476-4687" ;
    bibo:issn "0028-0836", "0090-0028" ;
    bibo:shortTitle "Nat New Biol", "Nature", "Nature New Biol." ;
    a bibo:Journal ;
    owl:sameAs <http://periodicals.dataincubator.org/eissn/1476-4687>, <http://periodicals.dataincubator.org/issn/0028-0836>, <http://periodicals.dataincubator.org/issn/0090-0028> ;
    foaf:isPrimaryTopicOf <http://locatorplus.gov/cgi-bin/Pwebrecon.cgi?DB=local&v1=1&ti=1,1&Search_Arg=0410462&Search_Code=0359&CNT=20&SID=1>, <http://locatorplus.gov/cgi-bin/Pwebrecon.cgi?DB=local&v1=1&ti=1,1&Search_Arg=0410463&Search_Code=0359&CNT=20&SID=1>, <http://www.ncbi.nlm.nih.gov/sites/entrez?Db=nlmcatalog&doptcmdl=Expanded&cmd=search&Term=0410462%5BNlmId%5D>, <http://www.ncbi.nlm.nih.gov/sites/entrez?Db=nlmcatalog&doptcmdl=Expanded&cmd=search&Term=0410463%5BNlmId%5D> .

Which (among other things) tells us that the journal Nature publishes content with the topic of “Biology” from the Library of Congress Subject Headings:

<http://id.loc.gov/authorities/sh85014203#concept>
    skos:prefLabel "Biology"@en ;
    dcterms:created "1986-02-11T00:00:00-04:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
    dcterms:modified "1990-10-09T11:20:35-04:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ;
    a skos:Concept ;
    owl:sameAs <info:lc/authorities/sh85014203> ;
    skos:broader <http://id.loc.gov/authorities/sh85076841#concept> ;
    skos:closeMatch <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb119440835> ;
    skos:inScheme <http://id.loc.gov/authorities#conceptScheme>, <http://id.loc.gov/authorities#topicalTerms> ;
    skos:narrower <http://id.loc.gov/authorities/sh00003440#concept>, <http://id.loc.gov/authorities/sh2001012327#concept>, <http://id.loc.gov/authorities/sh2003008355#concept>, <http://id.loc.gov/authorities/sh2005001919#concept>, <http://id.loc.gov/authorities/sh2006001276#concept>, <http://id.loc.gov/authorities/sh2006002547#concept>, <http://id.loc.gov/authorities/sh2006005143#concept>, <http://id.loc.gov/authorities/sh2007007463#concept>, <http://id.loc.gov/authorities/sh2009008123#concept>;
    skos:related <http://id.loc.gov/authorities/sh85076810#concept>, <http://id.loc.gov/authorities/sh85090222#concept>, <http://id.loc.gov/authorities/sh90000612#concept> .

Here we can see the topic of Biology as it relates to other concepts in the Library of Congress Subject Headings, as well as a similar concept in Biologie générale from RAMEAU, which are subject headings from the Bibliothèque nationale de France.

<http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb119440835>
    a skos:Concept ;
    skos:altLabel "Biologie générale"@fr ;
    skos:broader <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb119716335> ;
    skos:closeMatch <http://d-nb.info/gnd/4006851-1>, <http://id.loc.gov/authorities/sh85014203#concept> ;
    skos:inScheme <http://stitch.cs.vu.nl/vocabularies/rameau/autorites_matieres>, <http://stitch.cs.vu.nl/vocabularies/rameau/noms_communs> ;
    skos:narrower <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11931061x>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11931064z>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb119310659>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11933905d>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb119348479>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11940847j>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb119422283>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb119440599>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11944082t>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11946836b>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11953082s>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11958000t>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb119586710>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11962028z>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb119658909>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11978175d>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11978521k>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11978651s>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11979066d>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11979284w>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11985187w>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb119867466>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb11988172k>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb119886708>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb120174264>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb12100722v>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb121238944>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb121441898>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb121519084>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb123305379>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb13162665q>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb13319250k>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb13622707v>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb144016698>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb150318912>, <http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb150557648> ;
    skos:note "Domaine : 570"@fr ;
    skos:prefLabel "Biologie"@fr, "FRBNF119440833"@x-notation ;

So at this point maybe you’ll admit that it’s kind of cool to wander around in the data like this. But if you haven’t drunk the Kool-Aid recently (unlikely if you’ve read this far) you might be wondering: what’s the point? Who cares?

I think you should care about this example because it shows:

  1. how an existing organization can leverage its pre-existing identifiers on the Web to enable data publishing (Linked Data)
  2. how important it is for publishers to consider who they link to in their data, and how they do it
  3. how essential the RDF data model is for using the Web to join up these pools (or some may call them silos) of data

The raw Turtle RDF above may have made your eyes glaze over, so its worth restating that this new DOI service allows those with DOIs in their databases to use the machinery of the Web to aggregate and join up data from 4 different organizations: CrossRef, Data Incubator, Library of Congress, and the Bibliothèque nationale de France:

And it’s not just the traditional scholarly publishing community that will potentially benefit from this new Linked Data. As I discovered last August when routing around in the external links dumps from English Wikipedia there were 323,805 links from Wikipedia Articles to dx.doi.org–for example the article for Molecular Structure of Nucleic Acids has a citation that includes an external link to the DOI URL included above.

CrossRef’s new Linked Data service could allow someone to write a bot to crawl and verify the citations on Wikipedia. Or perhaps there could be a template on Wikipedia that would allow an editor to add a citation to an article by simply using the DOI, which would then fill in the other bits of article metadata needed for display. There are lots of possibilities.

As I commented over on the CrossTech blog (not approved yet), it would be handy if the service was able to parse and act on non-simple Accept headers during content negotiation, since it’s fairly common for RDF tools like jena, rdflib, arc, redland to send Accept headers with q-values in them. It might actually be nice to see support for some simple JSON views, that might be handy for people that get scared off RDF easily. But those are some minor quibbles in comparison to the outstanding work that CrossRef have done in getting this service going. Hopefully we’ll see more publishing organizations like DataCite helping build this data publishing community more as well.

Update: if this topic interests you, and you want to read more about it, definitely check out John Erickson‘s blog post DOIs, URIs and Cool Resolution.

lots of copies keeps epubs safe

Over the weekend you probably saw the announcements going around about Google Books releasing +1 million public domain ebooks on the web as epubs. This is great news: epub is a web friendly, open format — and having all this content available as epub is important.

Now I might be greedy, but when I saw that 1 million epubs are available my mind immediately jumps to thinking of getting them, indexing them and whatnot. Then I guiltily justified my greedy thoughts by pondering the conventional digital preservation wisdom that Lots of Copies Keeps Stuff Safe (LOCKSS). The books are in the public domain, so …. why not?

Google Books has a really nice API, which lets you get back search results as Atom, with lots of links to things like thumbnails, annotations, item views, etc. You also get a nice amount of Dublin Core metadata. And you can limit your search to books published before 1923. For example here’s a search for pre-1923 books that mention “Stevenson” (disclaimer: I don’t think the 1923 limit is actually working):

curl 'http://books.google.com/books/feeds/volumes?tbs=cd_max:Jan%2001_2%201923&q=Stevenson' | xmllint --format -

which yields:

< ?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:gbs="http://schemas.google.com/books/2008" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005">
  <id>http://www.google.com/books/feeds/volumes</id>
  <updated>2010-08-30T20:37:27.000Z</updated>
  <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/books/2008#volume"/>
  <title type="text">Search results for Stevenson</title>
  <link rel="alternate" type="text/html" href="http://www.google.com"/>
  <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.google.com/books/feeds/volumes"/>
  <link rel="self" type="application/atom+xml" href="http://www.google.com/books/feeds/volumes?q=Stevenson"/>
  <link rel="next" type="application/atom+xml" href="http://www.google.com/books/feeds/volumes?q=Stevenson&amp;start-index=11&amp;max-results=10"/>
  <author>
    <name>Google Books Search</name>
    <uri>http://www.google.com</uri>
  </author>
  <generator version="beta">Google Book Search data API</generator>
  <opensearch:totalresults>206</opensearch:totalresults>
  <opensearch:startindex>1</opensearch:startindex>
  <opensearch:itemsperpage>10</opensearch:itemsperpage>
  <entry>
    <id>http://www.google.com/books/feeds/volumes/ENMWAAAAYAAJ</id>
    <updated>2010-08-30T20:37:27.000Z</updated>
    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/books/2008#volume"/>
    <title type="text">Kidnapped</title>
    <link rel="http://schemas.google.com/books/2008/thumbnail" type="image/x-unknown" href="http://bks4.books.google.com/books?id=ENMWAAAAYAAJ&amp;printsec=frontcover&amp;img=1&amp;zoom=5&amp;edge=curl&amp;sig=ACfU3U0dHqcPyQYmX-QBDY7DqGofAlUvvw&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/info" type="text/html" href="http://books.google.com/books?id=ENMWAAAAYAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/preview" type="text/html" href="http://books.google.com/books?id=ENMWAAAAYAAJ&amp;printsec=frontcover&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;cd=1&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/annotation" type="application/atom+xml" href="http://www.google.com/books/feeds/users/me/volumes"/>
    <link rel="http://schemas.google.com/books/2008/acsepubfulfillmenttoken" type="application/vnd.adobe.adept+xml" href="http://books.google.com/books/download/Kidnapped.acsm?id=ENMWAAAAYAAJ&amp;format=epub&amp;output=acs4_fulfillment_token"/>
    <link rel="alternate" type="text/html" href="http://books.google.com/books?id=ENMWAAAAYAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1"/>
    <link rel="self" type="application/atom+xml" href="http://www.google.com/books/feeds/volumes/ENMWAAAAYAAJ"/>
    <gbs:embeddability value="http://schemas.google.com/books/2008#embeddable"/>
    <gbs:openaccess value="http://schemas.google.com/books/2008#enabled"/>
    <gbs:viewability value="http://schemas.google.com/books/2008#view_all_pages"/>
    <dc:creator>Robert Louis Stevenson</dc:creator>
    <dc:date>1909</dc:date>
    <dc:format>308 pages</dc:format>
    <dc:format>book</dc:format>
    <dc:identifier>ENMWAAAAYAAJ</dc:identifier>
    <dc:identifier>HARVARD:HN1JZ9</dc:identifier>
    <dc:title>Kidnapped</dc:title>
    <dc:title>being memoirs of the adventures of David Balfour in the year 1851 ...</dc:title>
  </entry>
  <entry>
    <id>http://www.google.com/books/feeds/volumes/WZ0vAAAAMAAJ</id>
    <updated>2010-08-30T20:37:27.000Z</updated>
    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/books/2008#volume"/>
    <title type="text">Treasure Island</title>
    <link rel="http://schemas.google.com/books/2008/thumbnail" type="image/x-unknown" href="http://bks8.books.google.com/books?id=WZ0vAAAAMAAJ&amp;printsec=frontcover&amp;img=1&amp;zoom=5&amp;edge=curl&amp;sig=ACfU3U3AusJAerfzUTAoo8iLZkeOL755rg&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/info" type="text/html" href="http://books.google.com/books?id=WZ0vAAAAMAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/preview" type="text/html" href="http://books.google.com/books?id=WZ0vAAAAMAAJ&amp;printsec=frontcover&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;cd=2&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/annotation" type="application/atom+xml" href="http://www.google.com/books/feeds/users/me/volumes"/>
    <link rel="http://schemas.google.com/books/2008/acsepubfulfillmenttoken" type="application/vnd.adobe.adept+xml" href="http://books.google.com/books/download/Treasure_Island.acsm?id=WZ0vAAAAMAAJ&amp;format=epub&amp;output=acs4_fulfillment_token"/>
    <link rel="alternate" type="text/html" href="http://books.google.com/books?id=WZ0vAAAAMAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1"/>
    <link rel="self" type="application/atom+xml" href="http://www.google.com/books/feeds/volumes/WZ0vAAAAMAAJ"/>
    <gbs:embeddability value="http://schemas.google.com/books/2008#embeddable"/>
    <gbs:openaccess value="http://schemas.google.com/books/2008#enabled"/>
    <gbs:viewability value="http://schemas.google.com/books/2008#view_all_pages"/>
    <dc:creator>Robert Louis Stevenson</dc:creator>
    <dc:creator>George Edmund Varian</dc:creator>
    <dc:date>1918</dc:date>
    <dc:description>CHAPTER I THE OLD SEA DOG AT THE &amp;quot;ADMIRAL BENBOW&amp;quot; SQUIRE Trelawney, Dr. Livesey, 
and the rest of these gentlemen having asked me to write down the whole ...</dc:description>
    <dc:format>306 pages</dc:format>
    <dc:format>book</dc:format>
    <dc:identifier>WZ0vAAAAMAAJ</dc:identifier>
    <dc:identifier>NYPL:33433075793830</dc:identifier>
    <dc:subject>Fiction</dc:subject>
    <dc:title>Treasure Island</dc:title>
  </entry>
  <entry>
    <id>http://www.google.com/books/feeds/volumes/REUrAQAAIAAJ</id>
    <updated>2010-08-30T20:37:27.000Z</updated>
    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/books/2008#volume"/>
    <title type="text">Stevenson</title>
    <link rel="http://schemas.google.com/books/2008/thumbnail" type="image/x-unknown" href="http://bks6.books.google.com/books?id=REUrAQAAIAAJ&amp;printsec=frontcover&amp;img=1&amp;zoom=5&amp;sig=ACfU3U2pRkGJW1MpjNMZgSc6jDIp3HuT0Q&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/info" type="text/html" href="http://books.google.com/books?id=REUrAQAAIAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/preview" type="text/html" href="http://books.google.com/books?id=REUrAQAAIAAJ&amp;q=Stevenson&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;cd=3&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/annotation" type="application/atom+xml" href="http://www.google.com/books/feeds/users/me/volumes"/>
    <link rel="http://schemas.google.com/books/2008/acsepubfulfillmenttoken" type="application/vnd.adobe.adept+xml" href="http://books.google.com/books/download/Stevenson.acsm?id=REUrAQAAIAAJ&amp;format=epub&amp;output=acs4_fulfillment_token"/>
    <link rel="alternate" type="text/html" href="http://books.google.com/books?id=REUrAQAAIAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1"/>
    <link rel="self" type="application/atom+xml" href="http://www.google.com/books/feeds/volumes/REUrAQAAIAAJ"/>
    <gbs:embeddability value="http://schemas.google.com/books/2008#not_embeddable"/>
    <gbs:openaccess value="http://schemas.google.com/books/2008#disabled"/>
    <gbs:viewability value="http://schemas.google.com/books/2008#view_no_pages"/>
    <dc:creator>Adlai Ewing Stevenson</dc:creator>
    <dc:creator>Grace Darling</dc:creator>
    <dc:creator>David Darling</dc:creator>
    <dc:date>1977-10</dc:date>
    <dc:format>127 pages</dc:format>
    <dc:format>book</dc:format>
    <dc:identifier>REUrAQAAIAAJ</dc:identifier>
    <dc:identifier>STANFORD:36105037014342</dc:identifier>
    <dc:publisher>McGraw-Hill/Contemporary</dc:publisher>
    <dc:subject>Biography &amp; Autobiography</dc:subject>
    <dc:title>Stevenson</dc:title>
  </entry>
  <entry>
    <id>http://www.google.com/books/feeds/volumes/3ibdGgAACAAJ</id>
    <updated>2010-08-30T20:37:27.000Z</updated>
    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/books/2008#volume"/>
    <title type="text">Stevenson</title>
    <link rel="http://schemas.google.com/books/2008/thumbnail" type="image/x-unknown" href="http://bks1.books.google.com/books?id=3ibdGgAACAAJ&amp;printsec=frontcover&amp;img=1&amp;zoom=5&amp;sig=ACfU3U2ryyj2yW3FOO9-8WPQtihovQqQOA&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/info" type="text/html" href="http://books.google.com/books?id=3ibdGgAACAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/preview" type="text/html" href="http://books.google.com/books?id=3ibdGgAACAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;cd=4&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/annotation" type="application/atom+xml" href="http://www.google.com/books/feeds/users/me/volumes"/>
    <link rel="http://schemas.google.com/books/2008/acsepubfulfillmenttoken" type="application/vnd.adobe.adept+xml" href="http://books.google.com/books/download/Stevenson.acsm?id=3ibdGgAACAAJ&amp;format=epub&amp;output=acs4_fulfillment_token"/>
    <link rel="alternate" type="text/html" href="http://books.google.com/books?id=3ibdGgAACAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1"/>
    <link rel="self" type="application/atom+xml" href="http://www.google.com/books/feeds/volumes/3ibdGgAACAAJ"/>
    <gbs:embeddability value="http://schemas.google.com/books/2008#not_embeddable"/>
    <gbs:openaccess value="http://schemas.google.com/books/2008#disabled"/>
    <gbs:viewability value="http://schemas.google.com/books/2008#view_no_pages"/>
    <dc:creator>Robert Louis Stevenson</dc:creator>
    <dc:date>2007-01-17</dc:date>
    <dc:description>This scarce antiquarian book is included in our special Legacy Reprint Series.</dc:description>
    <dc:format>128 pages</dc:format>
    <dc:format>book</dc:format>
    <dc:identifier>3ibdGgAACAAJ</dc:identifier>
    <dc:identifier>ISBN:1430495375</dc:identifier>
    <dc:identifier>ISBN:9781430495376</dc:identifier>
    <dc:publisher>Kessinger Pub Co</dc:publisher>
    <dc:subject>Poetry</dc:subject>
    <dc:title>Stevenson</dc:title>
    <dc:title>Day by Day</dc:title>
  </entry>
  <entry>
    <id>http://www.google.com/books/feeds/volumes/3QI-AAAAYAAJ</id>
    <updated>2010-08-30T20:37:27.000Z</updated>
    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/books/2008#volume"/>
    <title type="text">A child's garden of verses</title>
    <link rel="http://schemas.google.com/books/2008/thumbnail" type="image/x-unknown" href="http://bks0.books.google.com/books?id=3QI-AAAAYAAJ&amp;printsec=frontcover&amp;img=1&amp;zoom=5&amp;edge=curl&amp;sig=ACfU3U1KKV9Y2E1jnnc83b4NA_GNAouwbA&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/info" type="text/html" href="http://books.google.com/books?id=3QI-AAAAYAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/preview" type="text/html" href="http://books.google.com/books?id=3QI-AAAAYAAJ&amp;printsec=frontcover&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;cd=5&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/annotation" type="application/atom+xml" href="http://www.google.com/books/feeds/users/me/volumes"/>
    <link rel="http://schemas.google.com/books/2008/acsepubfulfillmenttoken" type="application/vnd.adobe.adept+xml" href="http://books.google.com/books/download/A_child_s_garden_of_verses.acsm?id=3QI-AAAAYAAJ&amp;format=epub&amp;output=acs4_fulfillment_token"/>
    <link rel="alternate" type="text/html" href="http://books.google.com/books?id=3QI-AAAAYAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1"/>
    <link rel="self" type="application/atom+xml" href="http://www.google.com/books/feeds/volumes/3QI-AAAAYAAJ"/>
    <gbs:embeddability value="http://schemas.google.com/books/2008#embeddable"/>
    <gbs:openaccess value="http://schemas.google.com/books/2008#enabled"/>
    <gbs:viewability value="http://schemas.google.com/books/2008#view_all_pages"/>
    <dc:creator>Robert Louis Stevenson</dc:creator>
    <dc:date>1914</dc:date>
    <dc:description>IN winter I get up at night And dress by yellow candle-light. In summer, quite 
the other way, I have to go to bed by day. I have to go to bed and see The ...</dc:description>
    <dc:format>136 pages</dc:format>
    <dc:format>book</dc:format>
    <dc:identifier>3QI-AAAAYAAJ</dc:identifier>
    <dc:identifier>CORNELL:31924052752262</dc:identifier>
    <dc:subject>Children's poetry, Scottish</dc:subject>
    <dc:title>A child's garden of verses</dc:title>
    <dc:title>by Robert Louis Stevenson; illustrated by Charles Robinson</dc:title>
  </entry>
  <entry>
    <id>http://www.google.com/books/feeds/volumes/Gmk-AAAAYAAJ</id>
    <updated>2010-08-30T20:37:27.000Z</updated>
    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/books/2008#volume"/>
    <title type="text">Travels with a donkey in the Cevennes</title>
    <link rel="http://schemas.google.com/books/2008/thumbnail" type="image/x-unknown" href="http://bks5.books.google.com/books?id=Gmk-AAAAYAAJ&amp;printsec=frontcover&amp;img=1&amp;zoom=5&amp;edge=curl&amp;sig=ACfU3U1CM_jn5vHlfF0va-U32zu2Rr2QIg&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/info" type="text/html" href="http://books.google.com/books?id=Gmk-AAAAYAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/preview" type="text/html" href="http://books.google.com/books?id=Gmk-AAAAYAAJ&amp;printsec=frontcover&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;cd=6&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/annotation" type="application/atom+xml" href="http://www.google.com/books/feeds/users/me/volumes"/>
    <link rel="http://schemas.google.com/books/2008/acsepubfulfillmenttoken" type="application/vnd.adobe.adept+xml" href="http://books.google.com/books/download/Travels_with_a_donkey_in_the_Cevennes.acsm?id=Gmk-AAAAYAAJ&amp;format=epub&amp;output=acs4_fulfillment_token"/>
    <link rel="alternate" type="text/html" href="http://books.google.com/books?id=Gmk-AAAAYAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1"/>
    <link rel="self" type="application/atom+xml" href="http://www.google.com/books/feeds/volumes/Gmk-AAAAYAAJ"/>
    <gbs:embeddability value="http://schemas.google.com/books/2008#embeddable"/>
    <gbs:openaccess value="http://schemas.google.com/books/2008#enabled"/>
    <gbs:viewability value="http://schemas.google.com/books/2008#view_all_pages"/>
    <dc:creator>Robert Louis Stevenson</dc:creator>
    <dc:date>1916</dc:date>
    <dc:description>THE DONKEY, THE PACK, AND THE PACK - SADDLE IN a little place called Le 
Monastier, in a pleasant highland valley fifteen miles from Le Puy, I spent 
about a ...</dc:description>
    <dc:format>287 pages</dc:format>
    <dc:format>book</dc:format>
    <dc:identifier>Gmk-AAAAYAAJ</dc:identifier>
    <dc:identifier>HARVARD:HWP541</dc:identifier>
    <dc:subject>Cévennes Mountains (France)</dc:subject>
    <dc:title>Travels with a donkey in the Cevennes</dc:title>
    <dc:title>An inland voyage</dc:title>
  </entry>
  <entry>
    <id>http://www.google.com/books/feeds/volumes/f3A-AAAAYAAJ</id>
    <updated>2010-08-30T20:37:27.000Z</updated>
    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/books/2008#volume"/>
    <title type="text">St. Ives</title>
    <link rel="http://schemas.google.com/books/2008/thumbnail" type="image/x-unknown" href="http://bks6.books.google.com/books?id=f3A-AAAAYAAJ&amp;printsec=frontcover&amp;img=1&amp;zoom=5&amp;edge=curl&amp;sig=ACfU3U0HtuxZqcqgneZTtM0LH5rk4F2E4w&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/info" type="text/html" href="http://books.google.com/books?id=f3A-AAAAYAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/preview" type="text/html" href="http://books.google.com/books?id=f3A-AAAAYAAJ&amp;printsec=frontcover&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;cd=7&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/annotation" type="application/atom+xml" href="http://www.google.com/books/feeds/users/me/volumes"/>
    <link rel="http://schemas.google.com/books/2008/acsepubfulfillmenttoken" type="application/vnd.adobe.adept+xml" href="http://books.google.com/books/download/St__Ives.acsm?id=f3A-AAAAYAAJ&amp;format=epub&amp;output=acs4_fulfillment_token"/>
    <link rel="alternate" type="text/html" href="http://books.google.com/books?id=f3A-AAAAYAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1"/>
    <link rel="self" type="application/atom+xml" href="http://www.google.com/books/feeds/volumes/f3A-AAAAYAAJ"/>
    <gbs:embeddability value="http://schemas.google.com/books/2008#embeddable"/>
    <gbs:openaccess value="http://schemas.google.com/books/2008#enabled"/>
    <gbs:viewability value="http://schemas.google.com/books/2008#view_all_pages"/>
    <dc:creator>Robert Louis Stevenson</dc:creator>
    <dc:date>1906</dc:date>
    <dc:description>IVES CHAPTER IA TALE OF A LION RAMPANT IT was in the month of May,, that I was 
so unlucky as to fall at last into the hands of the enemy. ...</dc:description>
    <dc:format>528 pages</dc:format>
    <dc:format>book</dc:format>
    <dc:identifier>f3A-AAAAYAAJ</dc:identifier>
    <dc:identifier>HARVARD:HWP61W</dc:identifier>
    <dc:title>St. Ives</dc:title>
    <dc:title>being the adventures of a French prisoner in England</dc:title>
  </entry>
  <entry>
    <id>http://www.google.com/books/feeds/volumes/4mb8LuKKwocC</id>
    <updated>2010-08-30T20:37:27.000Z</updated>
    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/books/2008#volume"/>
    <title type="text">Cruising with Robert Louis Stevenson</title>
    <link rel="http://schemas.google.com/books/2008/thumbnail" type="image/x-unknown" href="http://bks6.books.google.com/books?id=4mb8LuKKwocC&amp;printsec=frontcover&amp;img=1&amp;zoom=5&amp;edge=curl&amp;sig=ACfU3U3VC0jTy4rEC4rjtFjLofSY7bAf2Q&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/info" type="text/html" href="http://books.google.com/books?id=4mb8LuKKwocC&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/preview" type="text/html" href="http://books.google.com/books?id=4mb8LuKKwocC&amp;printsec=frontcover&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;cd=8&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/annotation" type="application/atom+xml" href="http://www.google.com/books/feeds/users/me/volumes"/>
    <link rel="http://schemas.google.com/books/2008/acsepubfulfillmenttoken" type="application/vnd.adobe.adept+xml" href="http://books.google.com/books/download/Cruising_with_Robert_Louis_Stevenson.acsm?id=4mb8LuKKwocC&amp;format=epub&amp;output=acs4_fulfillment_token"/>
    <link rel="alternate" type="text/html" href="http://books.google.com/books?id=4mb8LuKKwocC&amp;dq=Stevenson&amp;ie=ISO-8859-1"/>
    <link rel="self" type="application/atom+xml" href="http://www.google.com/books/feeds/volumes/4mb8LuKKwocC"/>
    <gbs:embeddability value="http://schemas.google.com/books/2008#embeddable"/>
    <gbs:openaccess value="http://schemas.google.com/books/2008#disabled"/>
    <gbs:viewability value="http://schemas.google.com/books/2008#view_partial"/>
    <dc:creator>Oliver S. Buckton</dc:creator>
    <dc:date>2007</dc:date>
    <dc:description>Cruising with Robert Louis Stevenson: Travel, Narrative, and the Colonial Body is the first book-length study about the influence of travel on Robert Louis ...</dc:description>
    <dc:format>344 pages</dc:format>
    <dc:format>book</dc:format>
    <dc:identifier>4mb8LuKKwocC</dc:identifier>
    <dc:identifier>ISBN:0821417568</dc:identifier>
    <dc:identifier>ISBN:9780821417560</dc:identifier>
    <dc:publisher>Ohio Univ Pr</dc:publisher>
    <dc:subject>Literary Criticism</dc:subject>
    <dc:title>Cruising with Robert Louis Stevenson</dc:title>
    <dc:title>travel, narrative, and the colonial body</dc:title>
  </entry>
  <entry>
    <id>http://www.google.com/books/feeds/volumes/4yo9AAAAYAAJ</id>
    <updated>2010-08-30T20:37:27.000Z</updated>
    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/books/2008#volume"/>
    <title type="text">New Arabian nights</title>
    <link rel="http://schemas.google.com/books/2008/thumbnail" type="image/x-unknown" href="http://bks0.books.google.com/books?id=4yo9AAAAYAAJ&amp;printsec=frontcover&amp;img=1&amp;zoom=5&amp;edge=curl&amp;sig=ACfU3U1_NeiJKS1J279NoYk98NzRZURI3Q&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/info" type="text/html" href="http://books.google.com/books?id=4yo9AAAAYAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/preview" type="text/html" href="http://books.google.com/books?id=4yo9AAAAYAAJ&amp;printsec=frontcover&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;cd=9&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/annotation" type="application/atom+xml" href="http://www.google.com/books/feeds/users/me/volumes"/>
    <link rel="http://schemas.google.com/books/2008/acsepubfulfillmenttoken" type="application/vnd.adobe.adept+xml" href="http://books.google.com/books/download/New_Arabian_nights.acsm?id=4yo9AAAAYAAJ&amp;format=epub&amp;output=acs4_fulfillment_token"/>
    <link rel="alternate" type="text/html" href="http://books.google.com/books?id=4yo9AAAAYAAJ&amp;dq=Stevenson&amp;ie=ISO-8859-1"/>
    <link rel="self" type="application/atom+xml" href="http://www.google.com/books/feeds/volumes/4yo9AAAAYAAJ"/>
    <gbs:embeddability value="http://schemas.google.com/books/2008#embeddable"/>
    <gbs:openaccess value="http://schemas.google.com/books/2008#enabled"/>
    <gbs:viewability value="http://schemas.google.com/books/2008#view_all_pages"/>
    <dc:creator>Robert Louis Stevenson</dc:creator>
    <dc:date>1922</dc:date>
    <dc:description>THE SUICIDE CLUB STORY OF THE YOUNG MAN WITH THE CREAM TARTS DURING his 
residence in London, the accomplished Prince Florizel of Bohemia gained the ...</dc:description>
    <dc:format>386 pages</dc:format>
    <dc:format>book</dc:format>
    <dc:identifier>4yo9AAAAYAAJ</dc:identifier>
    <dc:identifier>HARVARD:HWP51H</dc:identifier>
    <dc:subject>Fiction</dc:subject>
    <dc:title>New Arabian nights</dc:title>
  </entry>
  <entry>
    <id>http://www.google.com/books/feeds/volumes/z2Yf1FX02EkC</id>
    <updated>2010-08-30T20:37:27.000Z</updated>
    <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/books/2008#volume"/>
    <title type="text">Robert Louis Stevenson</title>
    <link rel="http://schemas.google.com/books/2008/thumbnail" type="image/x-unknown" href="http://bks2.books.google.com/books?id=z2Yf1FX02EkC&amp;printsec=frontcover&amp;img=1&amp;zoom=5&amp;edge=curl&amp;sig=ACfU3U0gOHJkzL_2WLHxXwdINCOTt03bMw&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/info" type="text/html" href="http://books.google.com/books?id=z2Yf1FX02EkC&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/preview" type="text/html" href="http://books.google.com/books?id=z2Yf1FX02EkC&amp;printsec=frontcover&amp;dq=Stevenson&amp;ie=ISO-8859-1&amp;cd=10&amp;source=gbs_gdata"/>
    <link rel="http://schemas.google.com/books/2008/annotation" type="application/atom+xml" href="http://www.google.com/books/feeds/users/me/volumes"/>
    <link rel="http://schemas.google.com/books/2008/acsepubfulfillmenttoken" type="application/vnd.adobe.adept+xml" href="http://books.google.com/books/download/Robert_Louis_Stevenson.acsm?id=z2Yf1FX02EkC&amp;format=epub&amp;output=acs4_fulfillment_token"/>
    <link rel="alternate" type="text/html" href="http://books.google.com/books?id=z2Yf1FX02EkC&amp;dq=Stevenson&amp;ie=ISO-8859-1"/>
    <link rel="self" type="application/atom+xml" href="http://www.google.com/books/feeds/volumes/z2Yf1FX02EkC"/>
    <gbs:embeddability value="http://schemas.google.com/books/2008#embeddable"/>
    <gbs:openaccess value="http://schemas.google.com/books/2008#disabled"/>
    <gbs:viewability value="http://schemas.google.com/books/2008#view_partial"/>
    <dc:creator>Richard Ambrosini</dc:creator>
    <dc:creator>Richard Dury</dc:creator>
    <dc:date>2006</dc:date>
    <dc:description>As the editors point out in their Introduction, Stevenson reinvented the “personal essay” and the “walking tour essay,” in texts of ironic stylistic ...</dc:description>
    <dc:format>377 pages</dc:format>
    <dc:format>book</dc:format>
    <dc:identifier>z2Yf1FX02EkC</dc:identifier>
    <dc:identifier>ISBN:0299212246</dc:identifier>
    <dc:identifier>ISBN:9780299212247</dc:identifier>
    <dc:publisher>Univ of Wisconsin Pr</dc:publisher>
    <dc:subject>Literary Criticism</dc:subject>
    <dc:title>Robert Louis Stevenson</dc:title>
    <dc:title>writer of boundaries</dc:title>
  </entry>
</feed>

Now it would be nice if the Atom included <link> elements for the epubs themselves. Perhaps the feed could even use the recently released “acquisition” link relation defined by OPDS v1.0. For example, by including something like the following in each atom:entry element:

<link type="application/epub+zip" rel="http://opds-spec.org/acquisition/open-access" href="http://books.google.com/books/download/Kidnapped.epub?id=ENMWAAAAYAAJ&output=epub" />

Theoretically it should be possible to construct the appropriate link for the epub, based on what data is available in the Atom. But it would enable quite a bit of use of the epubs to make their URLs available explicitly in a programmatic way. Unfortunately we would still be limited to dipping into the full dataset using a query, instead of being able to crawl the entire archive, with something like a paged Atom feed. From a conversation over on get-theinfo it appears that this approach might not be as easy as it sounds. Also, it turns out that magically, many of the books have been uploaded to the Internet Archive. 902,188 of them in fact.

So maybe not that much work needs to be done. But presumably more public domain content will become available from Google Books, and it would be nice to be able to say there was at least one other copy of it elsewhere, for digital preservation purposes. It would be great to see Google step up and do some good, by making their API usable for folks wanting to replicate the public domain content. Still, at least they haven’t of done evil by locking it away completely. Dan Brickley had an interesting suggestion to possibly collaborate on this work.