{"id":1556,"date":"2013-03-07T15:01:49","date_gmt":"2013-03-07T14:01:49","guid":{"rendered":"http:\/\/www.meanboyfriend.com\/overdue_ideas\/?p=1556"},"modified":"2013-03-07T15:01:49","modified_gmt":"2013-03-07T14:01:49","slug":"discovery-api-at-the-national-archives","status":"publish","type":"post","link":"http:\/\/www.meanboyfriend.com\/overdue_ideas\/2013\/03\/discovery-api-at-the-national-archives\/","title":{"rendered":"Discovery API at The National Archives"},"content":{"rendered":"<p>Aleks Drozdov &#8211; enterprise architect for Discovery system at the National Archive (TNA). Going to speak about APIs and Data and how implemented in Discovery system at TNA.<\/p>\n<p>My <a href=\"http:\/\/www.meanboyfriend.com\/overdue_ideas\/2013\/02\/introduction-to-apis\/\">Introduction to APIs<\/a> post is relevant to this talk.<\/p>\n<p><strong>API and Data<\/strong><\/p>\n<p>An API = Application Programming Interface.\u00a0Web API &#8211; in web context the API is typically defined as a set of messages over HTTP.\u00a0Response messages usually in XML or JSON format.<\/p>\n<p>Data &#8211; explosion in amount of data available. Common to &#8216;mashup&#8217; (combine) data from a number of sources. Also User contributed data.<\/p>\n<p><strong>Discovery Architecture<\/strong><\/p>\n<p>At the base has a &#8216;Object Data Store&#8217; &#8211; NoSQL object oriented database (MongoDB)<\/p>\n<p><strong>Getting data into Discovery<\/strong><\/p>\n<p>Vast number of different formats feeding into Discovery:<\/p>\n<p>XML, RDBMS, Text, Spreadsheets etc. Go through a complex\/sophisticated data normalisation process. Then fed into MongoDb \u00a0&#8211; the Object Data Store<\/p>\n<p><strong>Discovery data structure<\/strong><\/p>\n<p>Discovery treats all things as &#8216;informational asset&#8217; \u00a0&#8211; you can build hierarchies by links between assets<\/p>\n<p>http:\/\/discovery.nationaarchives.gov.uk\/SearchUI\/details?Uri=C10127419<\/p>\n<p>Last number here is a unique and persistent identifier for an information asset [not clear what level this is<\/p>\n<p><strong>Discovery API examples<\/strong><\/p>\n<p>Documentation at\u00a0<a href=\"http:\/\/discovery.nationalarchives.gov.uk\/SearchUI\/api.htm\">http:\/\/discovery.nationalarchives.gov.uk\/SearchUI\/api.htm<\/a><\/p>\n<p>API endpoint at: http:\/\/discovery.nationalarchives.gov.uk\/DiscoveryAPI<\/p>\n<p>Just 6 calls supported (see\u00a0http:\/\/discovery.nationalarchives.gov.uk\/SearchUI\/api.htm)<\/p>\n<p>Can specify xml or json as format for response: http:\/\/discovery.nationalarchives.gov.uk\/DiscoveryAPI\/xml\/ or\u00a0http:\/\/discovery.nationalarchives.gov.uk\/DiscoveryAPI\/json<\/p>\n<p>Search: http:\/\/discovery.nationalarchives.gov.uk\/DiscoveryAPI\/xml\/search\/{page}\/query= or\u00a0http:\/\/discovery.nationalarchives.gov.uk\/DiscoveryAPI\/json\/search\/{page}\/query=<\/p>\n<p>3o results per page<\/p>\n<p>e.g. <a href=\"http:\/\/discovery.nationalarchives.gov.uk\/DiscoveryAPI\/json\/search\/1\/query=C%20203\">http:\/\/discovery.nationalarchives.gov.uk\/DiscoveryAPI\/json\/search\/1\/query=C%20203<\/a><\/p>\n<p>See documentation at\u00a0<a href=\"http:\/\/discovery.nationalarchives.gov.uk\/SearchUI\/api.htm\">http:\/\/discovery.nationalarchives.gov.uk\/SearchUI\/api.htm<\/a>\u00a0for details of other calls.<\/p>\n<p><strong>Next steps<\/strong><\/p>\n<p>Now have Discovery Platform and getting people to use API &#8211; next plan to build a Data Import API &#8211; so that External data can be brought into Discovery platform. Also want to build User Participation API.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aleks Drozdov &#8211; enterprise architect for Discovery system at the National Archive (TNA). Going to speak about APIs and Data and how implemented in Discovery system at TNA. My Introduction to APIs post is relevant to this talk. API and Data An API = Application Programming Interface.\u00a0Web API &#8211; in web context the API is [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1556","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/www.meanboyfriend.com\/overdue_ideas\/wp-json\/wp\/v2\/posts\/1556","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.meanboyfriend.com\/overdue_ideas\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.meanboyfriend.com\/overdue_ideas\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.meanboyfriend.com\/overdue_ideas\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.meanboyfriend.com\/overdue_ideas\/wp-json\/wp\/v2\/comments?post=1556"}],"version-history":[{"count":1,"href":"http:\/\/www.meanboyfriend.com\/overdue_ideas\/wp-json\/wp\/v2\/posts\/1556\/revisions"}],"predecessor-version":[{"id":1558,"href":"http:\/\/www.meanboyfriend.com\/overdue_ideas\/wp-json\/wp\/v2\/posts\/1556\/revisions\/1558"}],"wp:attachment":[{"href":"http:\/\/www.meanboyfriend.com\/overdue_ideas\/wp-json\/wp\/v2\/media?parent=1556"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.meanboyfriend.com\/overdue_ideas\/wp-json\/wp\/v2\/categories?post=1556"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.meanboyfriend.com\/overdue_ideas\/wp-json\/wp\/v2\/tags?post=1556"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}