Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Simple Ruby access to the CultureGrid API
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
spec
.gitignore
Gemfile
Gemfile.lock
LICENSE.txt
Rakefile
VERSION
culturegrid.gemspec
readme.md

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\"}"
Something went wrong with that request. Please try again.