Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Aleks Drozdov
Enterprise Architect
Agenda
API and Data Discovery architecture Getting data into Discovery Discovery data structure Discovery API (Scenarios) Next steps
Application Programming Interface A language and message format used by an application program to communicate with the operating system or some other control program such as a database management system (DBMS) or communications protocol.
UI
Personal computer
Application
API
Operating System
Web API
When used in the context of web development, an API is typically defined as a set of Hypertext Transfer Protocol (HTTP) request messages. Response messages, which is usually in an Extensible Markup Language (XML) or JavaScript Object Notation (JSON) format. While "Web API" is virtually a synonym for web service, the recent trend (so-called Web 2.0) has been moving away from Simple Object Access Protocol (SOAP) based services towards more direct Representational State Transfer (REST) style communications. Source: Wikipedia
Web browser
Personal computer
Application
API
Discovery System
Data
Explosion in the amount of data It is common to mashup data from a number of sources User contributed data
Since 80s processor speed increas of 360 RAM price from $1000/MB to $25/GB Reduction in RAM size
Discovery Architecture
Discovery Architecture
Information Asset
Core of the Discovery is an Information Asset object. Information Asset models The National Archives data in the hierarchical way and uses Collections and parent-child relationship. Properties of the Information Asset object dont change across different data sets and hierarchies. Different data sources are using different schemas, which can lead to missing properties in the Information Assets. Still, the structure of the Information Asset stays unchanged. The main challenge in the design Information Asset object is to find minimum common set of properties which will work across all data sources.
Information Asset
Series
Collection<InformationAsset>
Piece
Information Asset
Information Asset
Information Asset
Item
Information Asset
Information Asset
Discovery API
Operations at http://discovery.nationalarchives.gov.uk/DiscoveryAPI
Uri Method Description
informationasset/{id}
GET
children/{id}/{page}
GET
totalchildren/{id}
parent/{id}
GET
GET
siblings/{id}/{PAGE}
GET
search/{PAGE}?{query}
GET
Documentation: http://discovery.nationalarchives.gov.uk/SearchUI/api.htm
http://discovery.nationalarchives.gov.uk/DiscoveryAPI/xml/informationasset/C10127419
JSON
Scenarios
http://discovery.nationalarchives.gov.uk/DiscoveryAPI/xml/totalchildren/C3775
109
http://discovery.nationalarchives.gov.uk/DIscoveryAPI/xml/children/C3735/1
<InformationAssetIdentity> <ObjectId>4f24d14055e0f1922313380a</ObjectId> <IAID>C3413406</IAID> <ParentIAID>C3735</ParentIAID> <SourceLevelId>6</SourceLevelId> <ReferenceComponent>1</ReferenceComponent> <Title>Description available at other catalogue level</Title> <PhysicalDescription> </PhysicalDescription> <CoveringDates /> <HasChildren>true</HasChildren> <ChildrenTotal>0</ChildrenTotal> <ContextPath /> </InformationAssetIdentity>
Scenario - search
http://discovery.nationalarchives.gov.uk/DiscoveryAPI/xml/search/1/query=witchcraft
http://discovery.nationalarchives.gov.uk/DiscoveryAPI/xml/search/2/query=witchcraft
<TotalResults>53</TotalResults> <SearchResultList> <AssetView> <IAID>C2341588</IAID> <CitableReference>DO 119/1373</CitableReference> <Title>Ritual murder and <span class="highlight">witchcraft</span>; Rex vs Chiefs Bereng and Gabashane and others</Title> <Description>High Commissioner for South Africa, and High Commissioner for Basutoland, the Bechuanaland Protectorate and Swaziland, and UK High Commissioner for the Union of South Africa: Correspondence. Basutoland. Ritual murder and <span class="highlight">witchcraft</span>; Rex vs Chiefs Bereng and Gabashane and others.</Description> <Places /> <People /> <Subjects> <string>C10125 Africa</string> <string>C10117 Witchcraft</string> <string>C10023 Crime</string> </Subjects> <StartDate>01-01-1949</StartDate> <EndDate>31-12-1949</EndDate> <References> <string>9657 II</string> </References> <URLParams>066/1/C86/C495/C6128/C51353/0/C2341588</URLParams> <Department>DO</Department> </AssetView>
Next steps
External Data
External Data
External Data
Data Import API Discovery Platform Data Export API User participation API
Thank you!
http://discovery.nationalarchives.gov.uk http://discovery.nationalarchives.gov.uk/DiscoveryAPI
adrozdov@nationalarchives.gov.uk