Scriptoteket

home » blog

Getting book descriptions from Worldcat – an attempt

Our starting point is an ISBN number from our own catalogue, 0226668002. To get from there to Worldcat we’ve been using OCLC’s xISBN API. While the service is really useful, it’s not really open data – it’s limited to non-commercial use and 1000 requests a day. Could we do without it?

Let’s start with xISBN:

GET http://xisbn.worldcat.org/webservices/xid/isbn/0226668002?method=getEditions&format=json&fl=form,year,lang,ed,url

{
  "stat": "ok",
  "list":
  [
    {
      "ed": "[Reprinted]",
      "url": ["http://www.worldcat.org/oclc/231409256?referer=xid"],
      "isbn": ["0226668002"],
      "year": "1992",
      "form": ["BA"],
      "lang": "eng"
    },
    {
      "ed": "[Nachdr.].",
      "url": ["http://www.worldcat.org/oclc/318274079?referer=xid"],
      "isbn": ["0226668010"],
      "year": "1992",
      "form": ["BC"],
      "lang": "eng"
    },
    {
      "url": ["http://www.worldcat.org/oclc/694361470?referer=xid"],
      "isbn": ["0226668207"],
      "year": "1992",
      "form": ["BA", "DA"],
      "lang": "eng"
    }
  ]
}

Worldcat has URLs on the form http://worldcat.org/isbn/0226668002. Requesitng RDF using content didn’t work (Accept: application/rdf+xml), but there’s RDFa in the large large blob of HTML – you can test it easily at http://www.easyrdf.org/converter .

@prefix schema: <http://schema.org/> .
@prefix ns0: <http://purl.org/library/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix wdrs: <http://www.w3.org/2007/05/powder-s#> .
@prefix dc: <http://purl.org/dc/terms/> .

<http://www.worldcat.org/oclc/694361470>
  a schema:Book, schema:MediaObject ;
  ns0:oclcnum "694361470"@en ;
  ns0:placeOfPublication <http://dbpedia.org/resource/Chicago>, <http://id.loc.gov/vocabulary/countries/ilu> ;
  rdf:value "Unknown value: dct"@en ;
  schema:about <http://experiment.worldcat.org/entity/work/data/27299880#Topic/sciences_aspect_social>, <http://experiment.worldcat.org/entity/work/data/27299880#Topic/theorie_de_la_connaissance>, <http://experiment.worldcat.org/entity/work/data/27299880#Topic/sciences_etude_et_enseignement>, <http://experiment.worldcat.org/entity/work/data/27299880#Topic/wissenschaftssoziologie>, <http://experiment.worldcat.org/entity/work/data/27299880#Topic/kultur>, <http://experiment.worldcat.org/entity/work/data/27299880#Topic/connaissance_theorie_de_la>, <http://experiment.worldcat.org/entity/work/data/27299880#Topic/technologietransfer>, <http://experiment.worldcat.org/entity/work/data/27299880#Topic/wetenschapssociologie>, <http://experiment.worldcat.org/entity/work/data/27299880#Topic/conocimiento_teoria_del>, <http://id.worldcat.org/fast/1108360>, <http://experiment.worldcat.org/entity/work/data/27299880#Topic/kennissociologie>, <http://experiment.worldcat.org/entity/work/data/27299880#Topic/science_philosophy_&_social_aspects>, <http://viaf.org/viaf/24609378>, <http://experiment.worldcat.org/entity/work/data/27299880#Topic/science_social_aspects>, <http://experiment.worldcat.org/entity/work/data/27299880#Topic/sociologie_des_sciences>, <http://id.worldcat.org/fast/988194>, <http://dewey.info/class/303.483/e22/>, <http://experiment.worldcat.org/entity/work/data/27299880#Topic/technology_&_engineering_social_aspects>, <http://experiment.worldcat.org/entity/work/data/27299880#Thing/science> ;
  schema:bookFormat schema:EBook ;
  schema:contributor <http://viaf.org/viaf/28274197> ;
  schema:datePublished "1992"@en ;

  schema:description "Some remarks about positionism : a reply to Collins and Yearley / Steve Woolgar -- Don't throw the baby out with the bath school! : a reply to Collins and Yearley / Michel Callon and Bruno Latour -- Journey into space / H.M. Collins and Steven Yearley -- Social epistemology and the research agenda of science studies / Steve Fuller -- Border crossings : narrative strategies in science studies and among physicists in Tsukuba Science City, Japan / Sharon Traweek."@en, "From science as knowledge to science as practice / Andrew Pickering -- The self-vindication of the laboratory sciences / Ian Hacking -- Putting agency back into experiment / David Gooding -- The couch, the cathedral, and the laboratory : on the relationship between experiment and laboratory in science / Karin Knorr Cetina -- Constructing quaternions : on the analysis of conceptual practice / Andrew Pickering and Adam Stephanides -- Crafting science : standardized packages, boundary objects, and \"translation\" / Joan H. Fujimura -- Extending Wittgenstein : the pivotal move from epistemology to the sociology of science / Michael Lynch -- Left and right Wittgensteinians / David Bloor -- From the \"will to theory\" to the discursive collage : a reply to Bloor's \"Left and right Wittgensteinians\" / Michael Lynch -- Epistemological chicken / H.M. Collins and Steven Yearley."@en, "Science as Practice and Culture explores one of the newest and most controversial developments within the rapidly changing field of science studies: the move toward studying scientific practice--the work of doing science--and the associated move toward studying scientific culture, understood as the field of resources that practice operates in and on. Andrew Pickering has invited leading historians, philosophers, sociologists, and anthropologists of science to prepare original essays for this volume. The essays range over the physical and biological sciences and mathematics, and are divided into."@en ;
  schema:genre "Electronic books"@en ;
  schema:inLanguage "en"@en ;
  schema:name "Science as practice and culture"@en ;
  schema:publication <http://www.worldcat.org/title/-/oclc/694361470#PublicationEvent/chicago_university_of_chicago_press_1992> ;
  schema:publisher <http://experiment.worldcat.org/entity/work/data/27299880#Agent/university_of_chicago_press> ;
  schema:workExample <http://worldcat.org/isbn/9780226668208> ;
  wdrs:describedby <http://www.worldcat.org/title/-/oclc/694361470> .

<http://dbpedia.org/resource/Chicago>
  a schema:Place ;
  schema:name "Chicago"@en .

<http://id.loc.gov/vocabulary/countries/ilu>
  a schema:Place ;
  dc:identifier "ilu"@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Topic/sciences_aspect_social>
  a schema:Intangible ;
  schema:name "Sciences--Aspect social."@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Topic/theorie_de_la_connaissance>
  a schema:Intangible ;
  schema:name "Théorie de la connaissance."@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Topic/sciences_etude_et_enseignement>
  a schema:Intangible ;
  schema:name "Sciences--Étude et enseignement."@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Topic/wissenschaftssoziologie>
  a schema:Intangible ;
  schema:name "Wissenschaftssoziologie."@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Topic/kultur>
  a schema:Intangible ;
  schema:name "Kultur."@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Topic/connaissance_theorie_de_la>
  a schema:Intangible ;
  schema:name "Connaissance, Théorie de la."@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Topic/technologietransfer>
  a schema:Intangible ;
  schema:name "Technologietransfer."@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Topic/wetenschapssociologie>
  a schema:Intangible ;
  schema:name "Wetenschapssociologie."@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Topic/conocimiento_teoria_del>
  a schema:Intangible ;
  schema:name "Conocimiento, Teoría del."@en .

<http://id.worldcat.org/fast/1108360>
  a schema:Intangible ;
  schema:name "Science--Social aspects."@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Topic/kennissociologie>
  a schema:Intangible ;
  schema:name "Kennissociologie."@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Topic/science_philosophy_&_social_aspects>
  a schema:Intangible ;
  schema:name "SCIENCE--Philosophy & Social Aspects."@en .

<http://viaf.org/viaf/24609378>
  a schema:Person ;
  schema:familyName "Wittgenstein"@en ;
  schema:givenName "Ludwig"@en ;
  schema:name "Wittgenstein, Ludwig."@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Topic/science_social_aspects>
  a schema:Intangible ;
  schema:name "Science--Social aspects."@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Topic/sociologie_des_sciences>
  a schema:Intangible ;
  schema:name "Sociologie des sciences."@en .

<http://id.worldcat.org/fast/988194>
  a schema:Intangible ;
  schema:name "Knowledge, Theory of."@en .

<http://dewey.info/class/303.483/e22/> a schema:Intangible .
<http://experiment.worldcat.org/entity/work/data/27299880#Topic/technology_&_engineering_social_aspects>
  a schema:Intangible ;
  schema:name "TECHNOLOGY & ENGINEERING--Social Aspects."@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Thing/science>
  a schema:Thing ;
  schema:name "Science"@en .

<http://viaf.org/viaf/28274197>
  a schema:Person ;
  schema:birthDate "1948"@en ;
  schema:familyName "Pickering"@en ;
  schema:givenName "Andrew"@en ;
  schema:name "Pickering, Andrew, 1948-"@en .

<http://www.worldcat.org/title/-/oclc/694361470#PublicationEvent/chicago_university_of_chicago_press_1992>
  a schema:PublicationEvent ;
  schema:location <http://dbpedia.org/resource/Chicago> ;
  schema:organizer <http://experiment.worldcat.org/entity/work/data/27299880#Agent/university_of_chicago_press> ;
  schema:startDate "1992"@en .

<http://experiment.worldcat.org/entity/work/data/27299880#Agent/university_of_chicago_press>
  a <http://bibliograph.net/Agent> ;
  schema:name "University of Chicago Press"@en .

<http://worldcat.org/isbn/9780226668208>
  a schema:ProductModel ;
  schema:description "electronic bk."@en ;
  schema:isbn "0226668207"@en, "9780226668208"@en .

<http://www.worldcat.org/title/-/oclc/694361470> a <http://www.w3.org/2006/gen/ont#InformationResource>, <http://www.w3.org/2006/gen/ont#ContentTypeGenericResource> .
[]
  a schema:WebPage ;
  schema:about <http://www.worldcat.org/oclc/694361470> .

Great! There’s a few oddities though. According to xISBN, our ISBN number 0226668002 is associated with OCLC number 231409256, but the data we received belongs to OCLC number 694361470 representing an electronic version of the book.

Also, when you ask for “data about <http://worldcat.org/isbn/0226668002>”, I found it peculiar that the response doesn’t containing any reference to that URI. Python’s rdflib will make up for this by inferring

<http://www.worldcat.org/isbn/0226668002> a schema:WebPage ;
    schema:about <http://www.worldcat.org/oclc/694361470> .

from the page URI and

<body typeof="http://schema.org/WebPage">
  <div property="http://schema.org/about" resource="http://www.worldcat.org/oclc/694361470"/>
  …

EasyRDF does no such thing, on the other hand. While it seems to make some sense (I’ve yet to read the RDFa spec), it might just cover the issue in this case that 0226668002 is not really about 694361470, but 231409256.

There’s a more serious oddity in there though: the table of contents is split into two schema:description values. Since RDF does not guarantee order, we don’t really have a way to tell for sure which one should come first. And there’s also no way to tell what is the table of contents, and what is the book description.

Finally all literals have language code “en” even though some subject headings etc. are clearly Spanish, German, Swedish etc.

It’s possible that I had back luck with my example book, but the RDF representation seems a bit immature yet.