Simple Ruby access to the CultureGrid API
Ruby
Permalink
Failed to load latest commit information.
lib
spec
.gitignore Version bump to 0.1.2 Jan 15, 2011
Gemfile
Gemfile.lock add rcov Jan 15, 2011
LICENSE.txt add bundler support and turn it into a gem Jan 15, 2011
Rakefile
VERSION Version bump to 0.1.2 Jan 15, 2011
culturegrid.gemspec
readme.md omgz it is a JSON API waiting to happen Jan 15, 2011

readme.md

Culturegrid

Culturegrid provides an XML API for searching cultural datasets in the UK. I don't know about you, but to be honest I find these kinds of things quite hard to work with in their raw form. Lots of Dublin Core metadata floating around in nested XML tags, and so on.

So, here's a ruby gem that simplifies a few use cases for the API and let's you get on with your mashup.

To use

gem install culturegrid

Example:

require 'culturegrid'

grid = CultureGrid::Index.new
=> #<CultureGrid::Index:0x10139a920 @base="http://culturegrid.org.uk/index/select/">

results = grid.search("scree")

results.size
=> 10

ascent_of_snowdon = results.last

pp ascent_of_snowdon
=> {"aggregator.internal.id"=>"2103130",
 "aggregator.internal_record_link"=>
  "/dpp/resource/2103130/stream/CultureGrid_Item",
 "dc.language"=>"EN-GB",
 "dc.title"=>["Ascent of Snowdon from Rhyd-ddu, Screes near top"],
 "dcterms.rightsHolder"=>"Kirklees",
 "dcterms.spatial"=>["Kirklees"],
 "timestamp"=>"2010-12-07T09:38:02.324Z",
 "dc.contributor"=>["Kirklees"],
 "dcterms.isPartOf_AllNames"=>
  "People's Network|CG_BREAK|Kirklees Image Archive",
 "cached_thumbnail"=>"/dpp/resource/2103130/stream/thumbnail_image_jpeg",
 "dc.identifier"=>
  "http://www.kirkleesimages.org.uk/frontend.php?keywords=Ref_No_increment;EQUALS;kw01090&pos=2&action=zoom",
 "dcmi.type"=>["Image"],
 "pndsterms.thumbnail"=>
  "https://www.hpacde.org.uk/kirklees/jpgs_kirklees/kw01090.jpg",
 "dc.related.link"=>
  "http://www.kirkleesimages.org.uk/frontend.php?keywords=Ref_No_increment;EQUALS;kw01090&pos=2&action=zoom",
 "have_temporal"=>"false",
 "dc.format"=>["JPEG/IMAGE"],
 "dc.publisher"=>"Kirklees",
 "authority"=>"KirkleesImages",
 "authority_name"=>"Kirklees Image Archive OAI Feed",
 "dc.subject"=>["Kirklees"],
 "dcterms.license"=>"http://creativecommons.org/licenses/by-nc-nd/2.0/uk/",
 "dc.location"=>"Kirklees",
 "dcterms.isPartOf"=>["PN", "KirkleesImageArchive"],
 "dcterms.isPartOf_AllIDs"=>"PN|CG_BREAK|KirkleesImageArchive",
 "dcterms.isPartOf_Name"=>["People's Network", "Kirklees Image Archive"],
 "dcterms.audience"=>["General_Educational"],
 "restp"=>"ServiceProvider"}

ascent_of_snowdon.authority
=> "KirkleesImages"

ascent_of_snowdon.title
=> "Ascent of Snowdon from Rhyd-ddu, Screes near top"

ascent_of_snowdon["dcterms.isPartOf"]
=> ["PN", "KirkleesImageArchive"]

Each result is a CultureGrid::Doc, which is a Hashie::Mash, so look at this:

require 'json'
require 'culturegrid'

CultureGrid.search("joy").first.to_json
=> "{\"dcterms.rightsHolder\":\"Leeds Central Library\",\"dc.title\":[\"York Road, Joy's Fold\"],\"aggregator.internal_record_link\":\"/dpp/resource/2541087/stream/CultureGrid_Item\",\"aggregator.internal.id\":\"2541087\",\"dcterms.spatial\":[\"World, Europe, United Kingdom\"],\"timestamp\":\"2010-12-07T11:08:13.869Z\",\"dcterms.isPartOf_AllNames\":\"People's Network|CG_BREAK|Leodis\",\"pndsterms.thumbnail\":\"http://www.leodis.net/imagesLeodis/thumbnail/24/20091124_169824.jpg\",\"dcmi.type\":[\"Image\"],\"dc.identifier\":\"http://www.leodis.net/display.aspx?id=20091124_169824\",\"dc.description\":[\"18th September 1935.\\nView of Joy's Fold, a yard off York Road near the junction with Marsh Lane. In the centre are the premises of Cecil Gilbert, shoeing smith, of no.15 Joy's Fold. These buildings were all soon to be demolished as part of the slum clearance programme in the area.\"],\"cached_thumbnail\":\"/dpp/resource/2541087/stream/thumbnail_image_jpeg\",\"have_temporal\":\"false\",\"dc.related.link\":\"http://www.leodis.net/display.aspx?id=20091124_169824\",\"dcterms.license\":\"http://www.leodis.net/article.aspx?id=12\",\"dc.subject\":[\"York Road\",\"Joy's Fold\"],\"authority_name\":\"Leodis - A photographic archive of Leeds\",\"authority\":\"Leodis\",\"dcterms.isPartOf_AllIDs\":\"PN|CG_BREAK|Leodis\",\"dcterms.isPartOf\":[\"PN\",\"Leodis\"],\"dcterms.isPartOf_Name\":[\"People's Network\",\"Leodis\"],\"restp\":\"ServiceProvider\"}"