API » History » Version 2

Version 1 (Tomasz Blazejczyk, 2018-12-10 16:08) → Version 2/4 (Tomasz Blazejczyk, 2018-12-10 16:09)

h1. API

System Yadda umożliwia pobieranie i eksplorację danych w oparciu o standardowe API. Dzięki temu możliwe jest wzbogacanie własnych serwisów o dane bibliograficzne zgromadzone w bibliograficznej bazie danych

h2. OAI-PHM


Standard OAI-PMH jest dokładnie opisany pod adresem

https://www.openarchives.org/OAI/openarchivesprotocol.html

System Yadda udostępnia server pod adresem:

http://agro.icm.edu.pl/agro/api/oai

Przydatne operacje udostępniane przez serwer:

Informacje identyfikacyjne
http://agro.icm.edu.pl/agro/api/oai?verb=Identify

Lista udostępnianych formatów
http://agro.icm.edu.pl/agro/api/oai?verb=ListMetadataFormats

Listowanie rekordów w formacie Dublin Core
http://agro.icm.edu.pl/agro/api/oai?verb=ListRecords&metadataPrefix=oai_dc

Listowanie rekordów w formacie NLM JATS
http://agro.icm.edu.pl/agro/api/oai?verb=ListRecords&metadataPrefix=nlm

Opensearch

Technologia Opensearch umożliwia bezpośrednią integrację z przeglądarkami i desktopowym oprogramowaniem do prezentacji danych.
Standard wymiany danych został zdefiniowany tutaj http://www.opensearch.org/Specifications/OpenSearch

W przypadku systemu Yadda kluczowe są następujące elementy:

Identyfikacja interfejsu wyszukiwania

Strona główna zawiera link do opisu interfejsu Opensearch który jest jednoznacznie interpretowany przez przeglądarki typu Firefox czy Chrome

<link rel="search" type="application/opensearchdescription+xml"
href="http://agro.icm.edu.pl/agro/api/search/description"
title="Biblioteka Wirtualna Nauki" />

Możliwe jest wybranie domyślnej wyszukiwarki z proponowanego zestawu

Opis definiuje punkt dostępu do wyników wyszukiwania w określonych formatach

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Biblioteka Wirtualna Nauki</ShortName>
<Description>Biblioteka Wirtualna Nauki - Yadda search engine.</Description>
<Tags>yadda search library</Tags>

<Url type="application/rss+xml"
template="http://lodowy.vls.icm.edu.pl/agro-test/api/search/description?q={searchTerms}&amp;startIndex={startIndex?}&amp;count={count?}&amp;rf={resultFields?}&amp;format=rss"/>
<Url type="application/xhtml+xml"
template="http://lodowy.vls.icm.edu.pl/agro-test/api/search/description?q={searchTerms}&amp;startIndex={startIndex?}&amp;count={count?}&amp;rf={resultFields?}&amp;format=html"/>
<Url type="text/html"
template="http://lodowy.vls.icm.edu.pl/agro-test/search.action?SCHEME=general&amp;EQUALS_all={searchTerms}"/>
<Url type="application/xml"
template="http://lodowy.vls.icm.edu.pl/agro-test/api/search/description?q={searchTerms}&amp;startIndex={startIndex?}&amp;count={count?}&amp;rf={resultFields?}&amp;format=xml"/>

<Query role="example" searchTerms="article"/>
<OutputEncoding>UTF-8</OutputEncoding>
<InputEncoding>UTF-8</InputEncoding>
</OpenSearchDescription>

placeholdery w postaci {} określają parametry wypełniane przez klienta wyszukiwania

Przykład wyszukiwania z wynikami w formacie RSS

http://agro.icm.edu.pl/agro/api/search/description?q=nawóz&format=rss

Przykład wyszukiwania z wynikami w formacie Atom

http://agro.icm.edu.pl/agro/api/search/description?q=nawóz&f