Getting the whole story

A couple of months ago, I hacked up a really simple proof-of-concept Sinatra that took an LCCN, called the Library of Congress’ LCCN Permalink service’s MARCXML output for that particular LCCN and tried to model it into linked data. It was really basic: it only returned RDF/XML and had no persistence layer to it, so I ran it using Heroku’s free hosting plan.

It worked pretty well but as I applied more and more functionality to it (looking for matches in Musicbrainz, LinkedMDB, DBpedia, Freebase, etc. — especially inefficient SPARQL regex queries), I kept running into execution timeout errors on Heroku. These are the exact same sorts of problems that the Umlaut ran into years ago and the solution required complicated threading and, eventually, AJAX requests to offload some of the response time of waiting for synchronous web services requests to return (or timeout or fail).

One thing I began doing with LinkedLCCN was persisting the graph into a Platform store, so once stored, any subsequent request for a resource was quite speedy. The problem was the initial request, the one that gathered all of the data to fill out the graph before it stored. Quite often this would timeout or throw an error (which, given that this was still very much a work in progress, would result a 500 error) meaning the resource was never saved to the Platform meaning all of the following requests would have to go through the same process until one of them finally succeeded. Since the freebie access on Heroku lets you run one process at a time, these long running (and timing out) requests would cause a backlog which would throw more errors.

It was becoming the embodiment of the phrase I used during my Code4Lib presentation: “Amateur Hour on the Internet”.

What was obviously needed was some asynchronous mechanism for giving back part of the graph, indicating to the requester that this was a partial response, and firing off a background task to complete the rest of the processing. Because there was no HTML interface, AJAX wasn’t an option. Even if there was an HTML interface (as there is now), AJAX still wouldn’t have been an option, because this was a service intended for web agents following their nose, not human surfers, so even if the agent is satisfied with the HTML response (for instance, when it eventually gets RDFa), curl (and its ilk) don’t have javascript, so the background process would never even have a chance to be called, anyway.

This meant the only viable solution to this problem was going to be via multiple processes. This also meant that Heroku wasn’t an option anymore (at least, not without a price), so I was going to migrate to my personal web host. In Ruby web frameworks, asynchronous processing comes in one of two forms:

  1. Threads/forks/etc.
  2. Queue schedulers

Based on my experience with the Umlaut, I wanted to avoid #1, if at all possible, or at the very least, use an existing, packaged solution that could drop fairly painlessly into Sinatra. I found a port of Merb’s run_later, but I could only ever get it to run once. Any succeeding request never seemed to fire off the process.

The queue schedulers generally required their own set of baggage: namely their own running daemon and a RDBMS. Since almost all of these projects originally started out as Rails plugins, they expect the application to have ActiveRecord and an RDBMS to store their jobs in. I didn’t have either.

I had settled on using Delayed Job, since there was, again, a Sinatra port. It took quite a bit of hacking to get this to work right (mainly around marshaling/unmarshaling objects), and I never could get the job logging to work very well, but it was successfully queuing and executing jobs in the background.

It was hard to manage, though. I use Capistrano for deployment and it was very difficult to control the Delayed Job daemon so that it would stop and start with the regular webservice. Again, it worked, but it felt very fragile. The sort of thing I could see breaking and having to spend hours trying to figure out how to fix it.

Last night, while I was trying to pull together my thoughts and links and whatnot for this post, I ran across Spork, which is a Sinatra port of Spawn. A couple hours later, LinkedLCCN was refactored to use Spork instead, and that’s how it’s running now.

So, LinkedLCCN now works like this:
$ curl -v -H “accept: application/rdf+xml” http://lccn.lcsubjects.org/93707283#i

* About to connect() to lccn.lcsubjects.org port 80 (#0)
*   Trying 208.83.140.6... connected
* Connected to lccn.lcsubjects.org (208.83.140.6) port 80 (#0)
> GET /93707283#i HTTP/1.1
> User-Agent: curl/7.19.6 (i386-apple-darwin9.8.0) libcurl/7.19.6 zlib/1.2.3
> Host: lccn.lcsubjects.org
> accept: application/rdf+xml
>
< HTTP/1.1 206 Partial Content
< Date: Fri, 12 Mar 2010 20:19:50 GMT
< Server: Apache/2.2.12 (Ubuntu)
< X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 2.2.11
< Content-Length: 6472
< Status: 206
< Content-Type: application/rdf+xml
<
<rdf:RDF xmlns:dcterms="http://purl.org/dc/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:bibo="http://purl.org/ontology/bibo/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:umbel="http://umbel.org/umbel#" xmlns:rda="http://RDVocab.info/Elements/"><rdf:Description rdf:about="http://purl.org/NET/lccn/93707283#i"><rda:placeOfPublication><rdf:Description rdf:about="http://purl.org/NET/marccodes/countries/nyu#location"></rdf:Description></rda:placeOfPublication><rda:titleProper>The freewheelin' Bob Dylan</rda:titleProper><foaf:isPrimaryTopicOf><rdf:Description rdf:about="http://lccn.loc.gov/93707283"></rdf:Description></foaf:isPrimaryTopicOf><bibo:uri>http://hdl.loc.gov/loc.mbrsrs/lp0001.dyln</bibo:uri><bibo:lccn>93707283</bibo:lccn><dcterms:title>The freewheelin' Bob Dylan</dcterms:title><dcterms:creator><rdf:Description rdf:about="http://purl.org/NET/lccn/people/n50030190#i"><owl:sameAs><rdf:Description rdf:about="http://dbpedia.org/resource/Bob_Dylan"></rdf:Description></owl:sameAs><foaf:name>Dylan, Bob, 1941-</foaf:name><umbel:isAbout><rdf:Description rdf:about="http://viaf.org/viaf/46946176.rwo"><foaf:name>Dylan, Bob, pseud</foaf:name><foaf:name>Dylan, Bob, 1941-</foaf:name><foaf:page rdf:resource="http://dbpedia.org/page/Wikipedia:WikiProject_Bob_Dylan" /><foaf:page rdf:resource="http://www.worldcat.org/wcidentities/lccn-n50-030190" /><foaf:page rdf:resource="http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Bob_Dylan" /><skos:altLabel>Thomas, Robert Milkwood,</skos:altLabel><skos:altLabel>Dylan, B.</skos:altLabel><skos:altLabel>Thomas, Robert Milkwood</skos:altLabel><skos:altLabel>Landy, Bob,</skos:altLabel><skos:altLabel>Landy, Bob</skos:altLabel><skos:altLabel>Zimmermann, Robert Allen</skos:altLabel><skos:altLabel>Zimmerman, Roberto Allen</skos:altLabel><skos:altLabel>Zimmerman, Robert,</skos:altLabel><skos:altLabel>Porterhouse, Tedham,</skos:altLabel><skos:altLabel>Petrov, Sergei</skos:altLabel><skos:altLabel>Zimmerman, Robert Allen,</skos:altLabel><skos:altLabel>Blind Boy Grunt,</skos:altLabel><skos:altLabel>Gook, Roosevelt,</skos:altLabel><skos:altLabel>Dylan, Bob, 1941-</skos:altLabel><skos:altLabel>Zimmerman, Robert</skos:altLabel><skos:altLabel>Alias,</skos:altLabel><skos:altLabel>Zimmerman, Roberto Allen,</skos:altLabel><skos:altLabel>Dylan, Bob, pseud</skos:altLabel><skos:altLabel>Zimmerman, Robert Allen</skos:altLabel><skos:inScheme rdf:resource="http://viaf.org/viaf-scheme/#personalNames" /><skos:inScheme rdf:resource="http://viaf.org/viaf-scheme/#concept" /><skos:changeNote xml:lang="en">Modified by agency: OCoLC</skos:changeNote><skos:changeNote xml:lang="en">Transcribed by agency: OCoLC</skos:changeNote><skos:exactMatch rdf:resource="http://viaf.org/viaf/46946176.viaf" /><skos:exactMatch rdf:resource="http://libris.kb.se/auth/184248" /><skos:exactMatch rdf:resource="http://viaf.org/viaf/46946176.m21" /><skos:exactMatch rdf:resource="http://id.loc.gov/authorities/n50030190#concept" /><skos:exactMatch rdf:resource="http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Bob_Dylan" /><skos:exactMatch rdf:resource="http://viaf.org/viaf/46946176.unimarc" /><skos:exactMatch rdf:resource="http://viaf.org/processed/BNF%7C13893566" /><skos:exactMatch rdf:resource="http://viaf.org/processed/NKC%7Cjn20000700458" /><skos:exactMatch rdf:resource="http://d-nb.info/gnd/118528408" /><skos:exactMatch rdf:resource="http://catalogo.bne.es/uhtbin/authoritybrowse.cgi?action=display&amp;authority_id=XX821701" /><skos:exactMatch rdf:resource="http://viaf.org/processed/NLA%7C000035052711" /><skos:exactMatch rdf:resource="http://viaf.org/processed/NLIlat%7C000041704" /><skos:exactMatch rdf:resource="http://dbpedia.org/page/Wikipedia:WikiProject_Bob_Dylan" /><skos:exactMatch rdf:resource="http://viaf.org/processed/LAC%7C0008D6165" /><skos:exactMatch rdf:resource="http://viaf.org/processed/PTBNP%7C1270067" /><rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept" /><dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2010-02-22T06:44:10+00:00</dcterms:modified><dcterms:type>person</dcterms:type><dcterms:identitifer>46946176</dcterms:identitifer><dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2009-03-03T12:03:19+00:00</dcterms:created></rdf:Description></umbel:isAbout><rdf:type><rdf:Description rdf:about="http://xmlns.com/foaf/0.1/Person"></rdf:Description></rdf:type></rdf:Description></dcterms:creator><dcterms:language><rdf:Description rdf:about="http://purl.org/NET/marccodes/languages/eng#lang"></rdf:Description></dcterms:language><dcterms:subject><rdf:Description rdf:about="http://id.loc.gov/authorities/sh87003307#concept"><owl:sameAs><rdf:Description rdf:about="info:lc/authorities/sh87003307"></rdf:Description></owl:sameAs><skos:inScheme><rdf:Description rdf:about="http://id.loc.gov/authorities#topicalTerms"></rdf:Description></skos:inScheme><skos:inScheme><rdf:Description rdf:about="http://id.loc.gov/authorities#conceptScheme"></rdf:Description></skos:inScheme><skos:prefLabel>Popular music--1961-1970</skos:prefLabel><rdf:type><rdf:Description rdf:about="http://www.w3.org/2004/02/skos/core#Concept"></rdf:Description></rdf:type><dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">1987-07-14T11:37:03-04:00</dcterms:modified><dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">1987-05-22T00:00:00-04:00</dcterms:created></rdf:Description></dcterms:subject><dcterms:subject><rdf:Description rdf:about="http://id.loc.gov/authorities/sh87003285#concept"><owl:sameAs><rdf:Description rdf:about="info:lc/authorities/sh87003285"></rdf:Description></owl:sameAs><skos:inScheme><rdf:Description rdf:about="http://id.loc.gov/authorities#topicalTerms"></rdf:Description></skos:inScheme><skos:inScheme><rdf:Description rdf:about="http://id.loc.gov/authorities#conceptScheme"></rdf:Description></skos:inScheme><skos:prefLabel>Blues (Music)--1961-1970</skos:prefLabel><rdf:type><rdf:Description rdf:about="http://www.w3.org/2004/02/skos/core#Concept"></rdf:Description></rdf:type><dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">1987-07-14T16:41:41-04:00</dcterms:modified><dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">1987-05-22T00:00:00-04:00</dcterms:created></rdf:Description></dcterms:subject></rdf:Description></rdf:RDF>
* Connection #0 to host lccn.lcsubjects.org left intact
* Closing connection #0

The important thing to note here is the HTTP status code sent back. LinkedLCCN sends back a 206, partial content because it wants the agent to try again later. “Thank you for waiting, here is some data to get you started. If you come back, it’s possible I might have some more.”

And, indeed, if the agent came back:
$ curl -v -H “accept: application/rdf+xml” http://lccn.lcsubjects.org/93707283#i

* About to connect() to lccn.lcsubjects.org port 80 (#0)
*   Trying 208.83.140.6... connected
* Connected to lccn.lcsubjects.org (208.83.140.6) port 80 (#0)
> GET /93707283#i HTTP/1.1
> User-Agent: curl/7.19.6 (i386-apple-darwin9.8.0) libcurl/7.19.6 zlib/1.2.3
> Host: lccn.lcsubjects.org
> accept: application/rdf+xml
>
< HTTP/1.1 200 OK
< Date: Fri, 12 Mar 2010 20:26:18 GMT
< Server: Apache/2.2.12 (Ubuntu)
< X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 2.2.11
< Content-Length: 40807
< Status: 200
< Content-Type: application/rdf+xml
<
<rdf:RDF xmlns:n0="http://dbtune.org/musicbrainz/resource/vocab/" xmlns:mo="http://purl.org/ontology/mo/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:n1="http://www.holygoat.co.uk/owl/redwood/0.1/tags/" xmlns:n2="http://purl.org/vocab/bio/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:bibo="http://purl.org/ontology/bibo/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:umbel="http://umbel.org/umbel#" xmlns:rda="http://RDVocab.info/Elements/"><rdf:Description rdf:about="http://purl.org/NET/lccn/93707283#i"><mo:label><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/label/011d1192-6f65-45bd-85c4-0400dd45693e"><n0:label_sortname>Columbia Records</n0:label_sortname><n0:label_name>Columbia Records</n0:label_name><n0:label_labelcode>162</n0:label_labelcode><n0:tag_count>1</n0:tag_count><n0:label_type>4</n0:label_type><n0:alias>Columbia Phonograph Company</n0:alias><n0:alias>Columbia</n0:alias><n0:alias>Colombia Records</n0:alias><n0:alias>Columbia d (Sony BMG)</n0:alias><n0:alias>Columbia Records</n0:alias><n0:alias>Columbia US</n0:alias><rdfs:label>Columbia Records</rdfs:label><n1:taggedWithTag><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/tag/20"></rdf:Description></n1:taggedWithTag><n1:taggedWithTag><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/tag/748"></rdf:Description></n1:taggedWithTag><n1:taggedWithTag><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/tag/1584"></rdf:Description></n1:taggedWithTag><n1:taggedWithTag><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/tag/111"></rdf:Description></n1:taggedWithTag><n1:taggedWithTag><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/tag/273"></rdf:Description></n1:taggedWithTag><n1:taggedWithTag><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/tag/343"></rdf:Description></n1:taggedWithTag><n1:taggedWithTag><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/tag/7179"></rdf:Description></n1:taggedWithTag><n1:taggedWithTag><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/tag/284"></rdf:Description></n1:taggedWithTag><n2:event><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/label/011d1192-6f65-45bd-85c4-0400dd45693e/birth"></rdf:Description></n2:event><foaf:based_near><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/country/US"></rdf:Description></foaf:based_near><dc:description>1931-1990: only USA, Canada&amp;Japan. 1990 to present: worldwide</dc:description><rdf:type><rdf:Description rdf:about="http://purl.org/ontology/mo/Label"></rdf:Description></rdf:type></rdf:Description></mo:label><mo:catalogue_number>CS 8786</mo:catalogue_number><mo:track><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/track/5857b092-93ae-434d-b3f1-3f959396732b"></rdf:Description></mo:track><mo:track><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/track/98846b10-8951-43bc-ab24-c960e330cec8"></rdf:Description></mo:track><mo:track><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/track/88621637-8f03-427e-855f-4f52f712e80e"></rdf:Description></mo:track><mo:track><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/track/6d2b3714-478f-4fb1-9dfb-4a70c266453e"></rdf:Description></mo:track><mo:track><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/track/b654f8ad-071a-41c1-a1f7-1134de178ee8"></rdf:Description></mo:track><mo:track><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/track/9b08a5da-da77-4df8-b3ad-dcb481959013"></rdf:Description></mo:track><mo:track><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/track/f96f9b50-959d-4ef0-adc0-2995d179e6c8"></rdf:Description></mo:track><mo:track><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/track/2160818f-ce54-4502-a480-535389abef61"></rdf:Description></mo:track><mo:track><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/track/2f528602-ea36-480a-b1df-f7a5af36598e"></rdf:Description></mo:track><mo:track><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/track/19f571b4-b396-4113-9858-ab032074a3c7"></rdf:Description></mo:track><mo:track><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/track/00e37446-2e4c-409a-a8a1-ed94f1b01a57"></rdf:Description></mo:track><mo:track><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/track/536247b1-a87a-40c7-93e8-dd02fe3f3d54"></rdf:Description></mo:track><mo:track><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/track/67a68273-fa05-4ecf-aa85-648868a91b01"></rdf:Description></mo:track><rda:placeOfPublication><rdf:Description rdf:about="http://purl.org/NET/marccodes/countries/nyu#location"></rdf:Description></rda:placeOfPublication><rda:titleProper>The freewheelin' Bob Dylan</rda:titleProper><foaf:isPrimaryTopicOf><rdf:Description rdf:about="http://lccn.loc.gov/93707283"></rdf:Description></foaf:isPrimaryTopicOf><bibo:uri>http://hdl.loc.gov/loc.mbrsrs/lp0001.dyln</bibo:uri><bibo:lccn>93707283</bibo:lccn><rdf:type><rdf:Description rdf:about="http://purl.org/ontology/mo/Recording"></rdf:Description></rdf:type><dcterms:title>The freewheelin' Bob Dylan</dcterms:title><dcterms:creator><rdf:Description rdf:about="http://purl.org/NET/lccn/people/n50030190#i"><owl:sameAs><rdf:Description rdf:about="http://dbpedia.org/resource/Bob_Dylan"></rdf:Description></owl:sameAs><foaf:name>Dylan, Bob, 1941-</foaf:name><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r64001976#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007568523#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700813#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700816#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/unk84175336#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/95769390#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/99567433#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2002560219#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2002603175#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/72343809#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/78762560#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700762#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700760#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r64001986#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2001036739#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700847#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/76762320#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93727595#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93726950#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/00536083#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/unk84158135#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93727467#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2003636870#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93723725#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/88753098#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2008640899#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700841#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r65000579#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93705362#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700812#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700817#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007642887#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93711197#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700805#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700771#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700763#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/72762075#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2002042823#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700818#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700774#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/72763265#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/00717921#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/72761611#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93707558#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2002578760#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2010616561#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r68000463#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007657614#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/00725480#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/95776698#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2004304721#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/77760065#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700843#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700775#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/94771432#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700807#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r65001916#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/91759862#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2004593548#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/74217252#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/68128332#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700811#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2003696014#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/91762191#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700770#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007657624#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/71224759#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/71763700#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/74760392#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007659104#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93726958#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/98028826#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/74760100#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700748#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/unk84196471#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93712912#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/94023183#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700777#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/91759844#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/91759501#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/74762095#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2005045677#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93712878#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2009602196#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/85161136#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/99580439#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700758#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2001536938#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93703756#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700751#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700806#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700756#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700819#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/90750957#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/95701312#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2005434462#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/unk84219598#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/95786124#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93703149#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/99573938#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/79761946#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2002572371#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700804#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/66041425#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93710188#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/78056239#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93712977#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r67001398#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700244#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/66025502#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/86463558#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700815#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700768#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93727732#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/72002339#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93703465#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700844#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2005560717#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700753#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/91759880#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2008643295#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/unk84085959#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/76013692#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700800#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/92776389#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93711016#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93851416#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007657612#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/95129257#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700801#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700840#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700761#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/76760788#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007656198#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/70761002#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2003385743#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700765#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700755#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2008655199#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/73762412#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700242#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/92755348#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r64000162#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700846#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/77275475#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700769#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/80760343#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/97751545#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2006656398#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2008038164#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93715284#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700837#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700764#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700752#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700759#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2006657054#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/94770754#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93712995#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/00584949#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2004590181#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93729841#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/00717773#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2004592553#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2010616562#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2008300626#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/79761354#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93707283#i"><mo:label rdf:resource="http://dbtune.org/musicbrainz/resource/label/011d1192-6f65-45bd-85c4-0400dd45693e" /><mo:catalogue_number>CS 8786</mo:catalogue_number><mo:track rdf:resource="http://dbtune.org/musicbrainz/resource/track/5857b092-93ae-434d-b3f1-3f959396732b" /><mo:track rdf:resource="http://dbtune.org/musicbrainz/resource/track/98846b10-8951-43bc-ab24-c960e330cec8" /><mo:track rdf:resource="http://dbtune.org/musicbrainz/resource/track/88621637-8f03-427e-855f-4f52f712e80e" /><mo:track rdf:resource="http://dbtune.org/musicbrainz/resource/track/6d2b3714-478f-4fb1-9dfb-4a70c266453e" /><mo:track rdf:resource="http://dbtune.org/musicbrainz/resource/track/b654f8ad-071a-41c1-a1f7-1134de178ee8" /><mo:track rdf:resource="http://dbtune.org/musicbrainz/resource/track/9b08a5da-da77-4df8-b3ad-dcb481959013" /><mo:track rdf:resource="http://dbtune.org/musicbrainz/resource/track/f96f9b50-959d-4ef0-adc0-2995d179e6c8" /><mo:track rdf:resource="http://dbtune.org/musicbrainz/resource/track/2160818f-ce54-4502-a480-535389abef61" /><mo:track rdf:resource="http://dbtune.org/musicbrainz/resource/track/2f528602-ea36-480a-b1df-f7a5af36598e" /><mo:track rdf:resource="http://dbtune.org/musicbrainz/resource/track/19f571b4-b396-4113-9858-ab032074a3c7" /><mo:track rdf:resource="http://dbtune.org/musicbrainz/resource/track/00e37446-2e4c-409a-a8a1-ed94f1b01a57" /><mo:track rdf:resource="http://dbtune.org/musicbrainz/resource/track/536247b1-a87a-40c7-93e8-dd02fe3f3d54" /><mo:track rdf:resource="http://dbtune.org/musicbrainz/resource/track/67a68273-fa05-4ecf-aa85-648868a91b01" /><rda:placeOfPublication rdf:resource="http://purl.org/NET/marccodes/countries/nyu#location" /><rda:titleProper>The freewheelin' Bob Dylan</rda:titleProper><foaf:isPrimaryTopicOf rdf:resource="http://lccn.loc.gov/93707283" /><bibo:uri>http://hdl.loc.gov/loc.mbrsrs/lp0001.dyln</bibo:uri><bibo:lccn>93707283</bibo:lccn><rdf:type rdf:resource="http://purl.org/ontology/mo/Recording" /><dcterms:title>The freewheelin' Bob Dylan</dcterms:title><dcterms:creator rdf:resource="http://purl.org/NET/lccn/people/n50030190#i" /><dcterms:language rdf:resource="http://purl.org/NET/marccodes/languages/eng#lang" /><dcterms:subject rdf:resource="http://id.loc.gov/authorities/sh87003307#concept" /><dcterms:subject rdf:resource="http://id.loc.gov/authorities/sh87003285#concept" /><dcterms:isVersionOf rdf:resource="http://dbtune.org/musicbrainz/resource/record/942be4b0-12a2-4264-93a3-b45fa94c95c0" /></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/99583697#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93724609#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/75766013#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/66041424#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2008273503#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/96789283#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700776#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700820#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93711987#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700839#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2004585875#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/94162315#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700808#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/80772269#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r68000263#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700754#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2010616563#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2004577731#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/94770756#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2004571741#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/97109960#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r62000368#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/76353124#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93711249#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93037274#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/86753728#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/72760404#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700749#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700772#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/77018965#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700809#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/75762080#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r67001399#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2003643362#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/78531019#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2010617063#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93701439#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r68000262#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2003577486#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700766#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/76762851#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/unk84126692#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/94762678#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007657649#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700243#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93728350#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/92750713#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/94762887#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/95769054#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/72373613#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/99571326#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/91755140#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/92774846#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/77761257#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93711137#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2003643131#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2009015567#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/76770532#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/91761855#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93721323#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700803#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700810#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2010615421#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/94746592#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/72373606#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/92757783#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2002603171#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93712772#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700767#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2004056454#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r65000580#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/91759726#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93712861#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/81047774#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2005048013#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93702899#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/unk84096809#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700245#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/85040408#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/92754060#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/66052234#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/72251264#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700757#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700845#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/91761627#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700814#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2002556777#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700750#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/87754788#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/94770755#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700773#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/91760389#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r62000369#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2004560796#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/94750639#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2006571042#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r65001917#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/92754813#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700802#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2003574417#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93707133#i"></rdf:Description></foaf:made><foaf:made>
<rdf:Description rdf:about="http://purl.org/NET/lccn/2007700842#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/95769314#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r67001260#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2003573910#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/87752098#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2004462312#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/r64000161#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/unk85066726#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/71763246#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/99567232#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2006530396#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2001545149#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/91761930#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/2007700799#i"></rdf:Description></foaf:made><foaf:made><rdf:Description rdf:about="http://purl.org/NET/lccn/93709800#i"></rdf:Description></foaf:made><umbel:isAbout><rdf:Description rdf:about="http://viaf.org/viaf/46946176.rwo"></rdf:Description></umbel:isAbout><rdf:type><rdf:Description rdf:about="http://xmlns.com/foaf/0.1/Person"></rdf:Description></rdf:type></rdf:Description></dcterms:creator><dcterms:language><rdf:Description rdf:about="http://purl.org/NET/marccodes/languages/eng#lang"></rdf:Description></dcterms:language><dcterms:subject><rdf:Description rdf:about="http://id.loc.gov/authorities/sh87003307#concept"><owl:sameAs><rdf:Description rdf:about="info:lc/authorities/sh87003307"></rdf:Description></owl:sameAs><skos:inScheme><rdf:Description rdf:about="http://id.loc.gov/authorities#conceptScheme"></rdf:Description></skos:inScheme><skos:inScheme><rdf:Description rdf:about="http://id.loc.gov/authorities#topicalTerms"></rdf:Description></skos:inScheme><skos:prefLabel>Popular music--1961-1970</skos:prefLabel><rdf:type><rdf:Description rdf:about="http://www.w3.org/2004/02/skos/core#Concept"></rdf:Description></rdf:type><dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">1987-07-14T11:37:03-04:00</dcterms:modified><dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">1987-05-22T00:00:00-04:00</dcterms:created></rdf:Description></dcterms:subject><dcterms:subject><rdf:Description rdf:about="http://id.loc.gov/authorities/sh87003285#concept"><owl:sameAs><rdf:Description rdf:about="info:lc/authorities/sh87003285"></rdf:Description></owl:sameAs><skos:inScheme><rdf:Description rdf:about="http://id.loc.gov/authorities#conceptScheme"></rdf:Description></skos:inScheme><skos:inScheme><rdf:Description rdf:about="http://id.loc.gov/authorities#topicalTerms"></rdf:Description></skos:inScheme><skos:prefLabel>Blues (Music)--1961-1970</skos:prefLabel><rdf:type><rdf:Description rdf:about="http://www.w3.org/2004/02/skos/core#Concept"></rdf:Description></rdf:type><dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">1987-07-14T16:41:41-04:00</dcterms:modified><dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">1987-05-22T00:00:00-04:00</dcterms:created></rdf:Description></dcterms:subject><dcterms:isVersionOf><rdf:Description rdf:about="http://dbtune.org/musicbrainz/resource/record/942be4b0-12a2-4264-93a3-b45fa94c95c0"></rdf:Description></dcterms:isVersionOf></rdf:Description></rdf:RDF>
* Connection #0 to host lccn.lcsubjects.org left intact
* Closing connection #0

There is a much richer graph waiting for it.

Now, I have no idea if this is a valid application of the 206 response. The only references I see to it on the web deal with either cache proxies or range requests, but this seems like best way to alert the client that they aren’t getting the entire graph on this request.

So try it out and enjoy the new (and very basic) HTML interface.

Any comments, suggestions or criticisms on this approach are extremely welcome.

Leave a Reply

Your email address will not be published. Required fields are marked *