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

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 pod adresem

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

Zapytania wyszukiwarek

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&format=xml