Federacja Bibliotek Cyfrowych posiada interfejs zgodny ze standardem OpenSearch w wersji 1.1. Standard ten daje praktycznie takie same możliwości wyszukiwawcze jak formularz wyszukiwania prostego i zaawansowanego na stronach FBC. Dzięki jego wykorzystaniu możliwe jest uzyskanie wyników wyszukiwania w FBC w formacie HTML oraz RSS z dodatkowymi znacznikami OpenSearch, pozwalającymi na automatyzację pobierania kolejnych stron wyników.
Deskryptor interfejsu OpenSearch FBC, pokazujący podstawową składnię adresu URL pozwalającego na wyszukiwanie we wszystkich elementach opisu publikacji, dostępny jest pod adresem http://fbc.pionier.net.pl/opensearch/description.xml.
Jak widać w najprostszym przypadku adres taki może mieć następującą strukturę:
http://fbc.pionier.net.pl/opensearch/search?searchTerms={searchTerms}
gdzie {searchTerms}
oznacza miejsce na wstawienie zapytania. Dla przykładu:
http://fbc.pionier.net.pl/opensearch/search?searchTerms=kultura
W kodzie źródłowym otrzymanego kanału RSS, poza standardowymi elementami RSS znajdują się:
opensearch
), zawierające m.in. informacje niezbędne do stronicowania wyników (por. specyfikacja protokołu OpenSearch),http://fbc.pionier.net.pl/opensearch/xsd/fbc-search-addins.xsd
),relevance:score
określający trafność wyniku w skali od 0 do 1 oraz znacznik ese:dataProvider
zawierający informacje o bibliotece cyfrowej, z której pochodzi dany wynik.Znacznik relevance:score
to jedno z oficjalnych rozszerzeń OpenSearch. Znaczniki xmlns=http://fbc.pionier.net.pl/search-addins
to elementy specyficzne dla FBC. Ich formalną specyfikację zawiera plik XSD dostępny pod adresem http://fbc.pionier.net.pl/opensearch/xsd/fbc-search-addins.xsd.
Poza standardowymi znacznikami dla kanału RSS (np.: title
, link
), wyniki wyszukiwania posiadają:
dc:
), który został pobrany ze źródłowej biblioteki cyfrowej,ese:
), które zostały dodatkowo przygotowane przez FBC:
ese:type
– przyporządkowuje publikacje do jednego z góry zdefiniowanych typów: tekst, obraz, dzwięk, wideo,ese:dataProvider
– nazwa instytucji dostarczającej daneW celu zawężenia wyszukiwania do pojedynczego elementu metadanych należy użyć adresu URL o następującej składni:
http://fbc.pionier.net.pl/opensearch/search?searchTerms={metElementIdFilter}%3A({searchTerms})
gdzie {metElementFilterId} o miejsce na wstawienie filtru identyfikatora tego elementu metadanych, do którego ma zostać zawężone zapytanie. Dla przykładu:
http://fbc.pionier.net.pl/opensearch/search?searchTerms=dc_subject%3A(kultura)
Lista identyfikatorów poszczególnych elementów metadanych wspieranych obecnie przez FBC jest następująca:
dc
)
title
(filtr dc_title
) – tytuł,creator
(filtr dc_creator
) – twórca,subject
(filtr dc_subject
) – temat i słowa kluczowe,description
(filtr dc_description
) – opis,publisher
(filtr dc_publisher
) – wydawca,contributor
(filtr dc_contributor
) – współtwórca,date
(filtr dc_date
) – data,type
(filtr dc_type
) – typ zasobu,format
(filtr dc_format
) – format,identifier
(filtr dc_identifier
) – identyfikator zasobu,source
(filtr dc_source
) – źródło,language
(filtr dc_language
) – język,relation
(filtr dc_relation
) – powiązania,coverage
(filtr dc_coverage
) – zakres,rights
(filtr dc_rights
) – prawa,ese
)
type
(filtr europeana_type
) – typ zasobu,dataProvider
(filtr europeana_dataProvider
) – dostawca zasobu,Konstruowanie złożonych zapytań wyszukiwawczych możliwe jest przez zastosowanie adresu URL o następującej składni:
http://fbc.pionier.net.pl/opensearch/search?searchTerms={metElementIdFilter1}%3A({searchTerms1})%20{boolOp1}{metElementIdFilter2}%3A({searchTerms2})...
przy czym znaczenie poszczególnych zmiennych jest następujące (N
oznacza kolejne liczby naturalne odpowiadające kolejnym częściom złożonego zapytania):
{metElementFilterIdN}
– filtr identyfikatora elementu metadanych dla części N zapytania (lista dozwolonych wartości taka sama jak w przypadku zawężania zapytania dla pojedynczego elementu metadanych – patrz wyżej){searchTermsN}
– treść części N zapytania{boolOpN}
– łącznik logiczny pomiędzy częścią N zapytania i częścią N-1 (dozwolone wartości: AND
, OR
)Przykładowe zapytanie może zatem wyglądać następująco:
Wybór przeszukiwanych bibliotek cyfrowych możliwy jest przez zastosowanie adresu URL o następującej składni:
http://fbc.pionier.net.pl/opensearch/search?searchTerms=
{searchTerms}%20AND%20(europeana_dataProvider%3A(%22{FBCDataProvider1}%22)
%20OR%20europeana_dataProvider%3A(%22{FBCDataProvider2}%22))...
przy czym zmienna {FBCDataProviderIdN}
wskazuje na dostawcę danych (ese:dataProvider
) w Federacji Bibliotek Cyfrowych.
Przykład: wyszukiwanie w publikacjach biblioteki cyfrowej u dwóch dostawców (FBCDataProvider1=CBN%20Polona
i FBCDataProvider2=Wielkopolska%20Biblioteka%20Cyfrowa
):
http://fbc.pionier.net.pl/opensearch/search?searchTerms=%22Pan%20Tadeusz%22%20AND%20 […]