Skip to content
This repository

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…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 LICENSE.txt
Octocat-spinner-32 Rakefile
Octocat-spinner-32 VERSION
Octocat-spinner-32 culturegrid.gemspec
Octocat-spinner-32 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.