Inhalt

Die TIB bietet eine neue Anfragemöglichkeit ihrer Daten über das standardisierte Webservice-Protokoll SRU (Search/Retrieve via URL) an.
Search/Retrieve via URL (SRU) ist ein technischer Standard für Bibliotheken (eine Weiterentwicklung des Z39.50-Protokolls), der von der Library of Congress veröffentlicht wurde.
Das SRU-Protokoll ist XML basiert und verwendet die HTTP GET Methode zum Empfang und Rückgabe von SRU kompatiblen Suchanfragen und -Ergebnissen.
Über die SRU-Schnittstelle sind die TIB-Datenbanken verfügbar. Die spezifischen Anfragen sind mittels Retrievalsprache CQL  und solr-Syntax formuliert.

Die Ergebnisse der Suche sind in verschiedenen XML-Formaten (MARCXML, Dublin core, RDF_XML) verfügbar.

Standards der SRU-Schnittstelle

Protokoll SRU: Version 2.0 (Version 1.1 und Version 1.2 sind unterstützt)
Retrievalsprache CQL: Version 1.2

SRU-Funktionen

SRU umfasst zwei Basisfunktionen: Explain und Search/Retrieve.
Jede Anfrage muss einen Parameter query oder  queryType enthalten.

Je nach Operation (searchRetrieve, explain) kommen weitere GET-Parameter hinzu. Werden keine GET-Parameter angegeben, so verhält sich der Server so, als hätte er eine Anfrage für explain erhalten.

Parameters  in einer SRU-Anfrage:

Parameter

Typ

Default

Beschreibung

operation

enum


Gewünschte SRU-Operation: explain oder searchRetrieve  (erforderlich für Version 1.1 und 1.2)

version

string

1.2

SRU-Version (erforderlich für Version 1.1 und 1.2)

query

string


Suchanfrage als CQL

queryTypestringcql

startRecord

integer

1

Erster darzustellender Eintrag der Ergebnisliste (beginnend mit 1)

maximumRecords

integer

10

Maximale Anzahl gewünschter Ergebnisse (max = 50)

sortKeysstring

recordSchema

string

dc

Das gewünschte Ausgabeformat für die Ergebnisse. Unterstützt wird derzeit dc (Dublin Core) und marcxml (XML-Format für Marc 21)

facetLimitstring

explain

explain ist die Selbstbeschreibung der SRU-Server im XML-Standardformat, enthält Informationen über:

  • Datenbank
  • Indizes
  • Datenformate

Beispiel:

https://www.tib.eu/sru/tibkat

searchRetrieve

Dies ist die eigentliche Suchoperation.

GET-Parameter query  muss eine Anfrage  enthalten.

SRU-Schnittstelle von TIB bietet drei Anfragetypen: cql, solr und searchTerms. GET-Parameter queryType ist dafür verantwortet. Wenn keine  queryType Parameter angegeben, wird queryType als cql eingesetzt.

  • cql - Anfragetype

Die Suchanfragen werden in CQL formuliert. Es ist Default-Anfragetype. Die CQL-Syntax ist   nachfolgend beschrieben. Es gelt für alle SRU-Version (1.1, 1.2 und 2.0).

 Beispiel:

https://www.tib.eu/sru/tibkat?query=classField=mat and date any 2001

  • solr - Anfragetype

Die gleiche Anfragesyntax wie in Tib Portal und die gleiche Treffenzahlen bei Suchen. Die Daten sind im Solr-Index in verschiedenen Felder abgelegt. Zur Suche in einem speziellen wird der Feldname und der Suchterm durch ein Doppelpunkt getrennt:

https://www.tib.eu/sru/tibkat?queryType=solr&query=isbn:2* AND issued:2010  

Nur für SRU-Version 2.0 funktioniert.

  • searchTerms

Die Anfrage besteht aus einer Liste der Suchterms. Zum Beispiel: 'solid laser water' , dass  als  'solid OR laser OR water' interpretiert wird. Parameter query  ist für diesen Anfragetyp nicht erforderlich.

Nur für SRU-Version 2.0 funktioniert.

Zum Beispiel:

https://www.tib.eu/sru/tibkat?queryType=searchTerms=mama papa baba

CQL - Contextual Query Language

CQL   ist eine formale Sprache zur Wiedergabe von Anfragen. Für die feldweise Suche werden alle Dublin-Core Felder und TIB spezifischen Felder benutzt.
Folgende Relationen und boolsche Operatoren werden unterstützt:

  • all AND-Verknüpfung
  • any OR-Verknüpfung
  • and, or

Beispiele für Abfrageformulierungen:

query=creator=James or Stirling 
query=creator=Stirlin and title=Mikro-KWK-Anlage
query=creator any Stirling and date any 2001

S. auch https://www.loc.gov/standards/sru/cql/spec.html

Ohne Eingabe des CQL-Dublin-Core-Feldes (entspricht cql.serverChoice oder serverChoice) wird in den folgenden Feldern gesucht: Titel, alternative Titel, Subtitel, Journal Titel, Konferenztitel, Autor, Publikationscodes (ISSN, ISBN uzw.), Identifikatoren (PPN, FTX-ID), Schlüsselworte, Abstract, Volltext, Publisher  und Erscheinungsjahr.

Die Tabelle stellt Für die feldweise Suche dar:

CQL-Felder 

Beschreibung (TIB spezifisch FTX-Felder)

(ohne Eingabe)  oder
cql.serverChoice  oder
serverChoice

mainTitle, alternativeTitle, subTitle, journalTitle
keywords, abstract, fulltext, author, issued, numbers,
conference, publisher

title     oder
dc.title

mainTitle, alternativeTitle, subTitle, journalTitle

creator    oder
dc.creator

author

date   oder
dc. date

issued (Jahresangabe)

description    oder
dc.description

abstract, fulltext, dissertationInfo

identifier    oder
dc. identifier

Id (FTX-ID / TIB spezifische ID)

subject     oder
dc. subject

keywords

volume

volumeNumber

issue

issueNumber

firstPage

firstPage

license

licenseModel

numbers

Identifikatoren und Codes (außer FTX-ID): PPN, EPN, isbn, issn, publishingNumber uzw

ppn

PPN (mit der Prüfziffer)

coverDate

coverDate

classField

classification

genreCode

documentGenreCode

format

documentTypeCode

journaljournalTitle

Die Werte für genreCode:

WertSuchterm
AAudiovisuelles Material
BBuch (einschl. Konferenzbände, Dissertationen etc.)
BCKapitel (Buch)
CKonferenzband (Teilmenge von Buch)
CABeitrag (Konferenz)
DDissertation (Teilmenge von Buch)
FDForschungsdaten
IBild
JZeitschriftentitel
KKarte
JLAufsatz (Zeitschrift)
PPPreprint
LAArtikel (Lexikon)
M3D-Modell
PPatent
PAPaper
RReport
STechnische Regel
TAudio-Material
XUnbekannt


Die Werte für format:

WertSuchterm
AVAudiovisuelles Material
CDCD-ROM / DVD
DCDigitalisat
Digital Copy
ELElektronische Ressource
MFMikroform
PRPrint
XXUnbekannt

Beispiele:

genreCode=JL
format=PR

Die Werte für license:

Wert

Suchterm

alAllianzlizenz
klKonsortiallizenz

oa

Open-Access-Dokumente (Freier Zugriff)

com

kommerzielle Dokumente

nl

Dokumente mit Nationallizenz


Die Werte für classField : 

Wert

Suchterm

arc

Architektur

che

Chemie

inf

Informatik

mat

Mathematik

phy

Physik

tec

Technik

bioBiologie
paeErziehungswissenschaften
horGartenbau
geoGeowissenschaften
hisGeschichte
linLinguistik
litLiteraturwissenschaften
phiPhilosophie
jurRecht
relTheologie
sowSozialwissenschaften
spoSport
oekWirtschaftswissenschaften

SRU verfügbare Kataloge

Über die SRU-Schnittstelle sind folgende Kataloge verfügbar:

KatalogName in SRU-AnfrageBeschreibungBeispiel
TIBKATtibkatKatalog Daten von TIBhttps://www.tib.eu/sru/tibkat?query=solid&recordSchema=marcxml
KMO-AVkmoTIB AV-Portal - Dokumente, die für externe Export frei sindhttps://www.tib.eu/sru/kmo?query=solid&recordSchema=marcxml
OLColcOnline Contents Dokumente, die für externe Export frei sindhttps://www.tib.eu/sru/olc?query=solid&recordSchema=marcxml
OPENopenall open access Datensätze in TIB-Portalhttps://www.tib.eu/sru/open?query=solid&recordSchema=marcxml
FREEfree

alle Datensätze in TIB-Portal, die für externe Export frei sind:

TIBKAT, Online Contents (exportRestricted_flag:false), TIB AV-Portal (exportRestricted_flag:false) und alle open access Dokumente

https://www.tib.eu/sru/free?query=solid&recordSchema=marcxml

Suchanfrage

Suche nach FTX-ID ( TIB spezifische ID)

Beispiele:

  1. Suche nach dem Datensatz mit der FTX-ID = TIBKAT:12939193X

    query=identifier="TIBKAT:12939193X"
    queryType=solr&query=id:"TIBKAT:12939193X"

  2. Suche nach dem Datensatz mit der FTX-ID = awi:doi~10.2312%2FBzPM_0684_2015
    (warning) URL-Encoding  für ein '%' - Zeichen: '%' - '%25'

    query=identifier="awi:doi~10.2312%252FBzPM_0684_2015"
    queryType=solr&query=id:"awi:doi~10.2312%252FBzPM_0684_2015"

Suche nach Identifikatoren und Codes

Es wird im Standardsuchfeld (ohne Angabe des CQL- /Solr-Felders) gesucht. Wenn eine genauere Suche nötig ist, kann man das Feld numbers benutzen.

Bei der Suche mit Wildcards (*, ?) ist queryType=solr und das Feld numbers empfohlen.

  1. Suche nach PPN = 129110248

    query=129110248
    queryType=solr&query=129110248
    queryType=solr&query=numbers:1291*

  2. Suche nach isbn = 0952701111

    query=0952701111
    queryType=solr&query=0952701111
    queryType=solr&query=numbers:09527?1111

  3. Suche nach issn = 0165-6074

    query=0165-6074
    query=01656074
    queryType=solr&query=01656074
    queryType=solr&query=numbers:0165*

  4. Suche nach doi = 10.5170/CERN-2016-001

    query="10.5170/CERN-2016-001"
    query=numbers="10.5170/CERN-2016-001"
    queryType=solr&query="10.5170/CERN-2016-001"
    queryType=solr&query=numbers:10.5170\/CERN*

  5. Suche nach coden = PIXXD2

    query=PIXXD2
    queryType=solr&query=PIXXD2
    queryType=solr&query=numbers:PIX*

  6. Suche nach Patentangaben = WO99-11806

    query=WO99-11806
    queryType=solr&query=WO99-11806
    queryType=solr&query=numbers:WO99*

Sortierung

Im SRU 1.1 war die Sortierung ein Teil des Protokolls - ein Parameter sortKeys. Im SRU 1.2 wurde es vom Protokoll entfernt und eine Funktion von CQL gemacht - CQl-Parameter sortBy .

Im SRU 2.0 ist die beiden Wege der Sortierung möglich. Der Grund besteht darin, dass im SRU 2.0 man eine andere Anfragensprache außer CQL verwenden kann, und dass diese Anfragensprache die Sortierung nicht unterstützen könnte.

Die SRU - Schnittstelle von TIB ünterstürtzt die Sortierung bei zwei Felder: date und mainTitle.

Beispiele mit dem CQl Parameter sortBy :

Beispiele mit dem Parameter sortKeys:

Faceted Analyse

Faceted Search ist Neues in SRU 2.0.

SRU 2.0 kann die faceted Ergebnisse für eine Abfrage anbieten: wie die Suchergebnisse über verschiedene Kategorien verteilt werden.

SRU-Schnittstelle von TIB bietet ein faceted Analyse für  folgenden Kategorien: creator, license, issued, format und genreCode

Facet Request Parameter - facetLimit

Parameter facetLimit bestimmt eine minimale Anzahl der Suchtreffer.  Man  kann eine Grenze pro Feldbasis und/oder eine globale Grenze angeben, die für alle Felder gilt.

Besondere Werte für facetLimit:

  •      -1   -  die Grenze nicht bestimmt, unlimited
  •      0    -  keine faceted Analyse

Zum Beispiel:

1.     facetLimit=100
legt die Grenze zu 100 für jedes Feld fest.

2.     facetLimit=100:creator
die Grenze 100 nur für creator ist; keine faceted Analyse für anderes Feld

3.     The combination: facetLimit=10,100:creator
die Grenze 100 nur für creator ist und die Grenze 10 für alle Felder

4.     The combination: facetLimit=10,100:creator,200:license
die Grenze 100  für creator; 200 - für license und  10 für alle andere Felder

5.     The combination: facetLimit=100:license,200:issued
die Grenze 100  für license ; 200 - für issued; keine faceted Analyse für anderes Feld

6.     The combination:facetLimit= -1,100: format
die Grenze 100  für format und unlimited für alle andere Felder

7.     facetLimit=0
keine faceted Analyse

https://www.tib.eu/sru/tibkat?queryType=searchTerms=mama%20papa&facetLimit=100

https://www.tib.eu/sru/tibkat?queryType=searchTerms=mama&facetLimit=-1,5:creator

https://www.tib.eu/sru/tibkat?queryType=solr&query=isbn:2*&facetLimit=10:license

Syntax einer SRU-Anfrage

Beispielanfrage:

Version 2.0

https://www.tib.eu/sru/tibkat?query=title=solid&startRecord=1&maximumRecords=5&recordSchema=marcxml

Version 1.2
https://www.tib.eu/sru/tibkat?version=1.2&operation=searchRetrieve&query=title=solid&startRecord=1&maximumRecords=5&recordSchema=marcxml


URL

Erklärung

https://www.tib.eu/sru/tibkat


Anfrage an den SRU-Server der TIB (nur für interne Butzer)
Festlegen des Kataloges

?version=1.2

?

Angabe der SRU-Version: Version 1.2 /1.1

Version 2.0

&operation=searchRetrieve

-  ----- -

Befehl an den Server

Version 2.0

&queryType

cql (Default), solr, searchTerms

nur bei Version 2.0

&query=

Anfrage formulieren

&startRecord=1

Erster darzustellender Eintrag der Ergebnisliste

&maximumRecords=5

Maximale Anzahl den Datensätzen pro Anfrage

&recordSchema=marcxml

Gewünschtes Format der SRU-Antwort

Formate

Folgende Formate werden extern angeboten:

Format

Name in SRU-Anfrage

MARC-21-XML

marcxml

Datacitedatacite

Dublin core
(Auswahl von Dublin-Core-Elementen)

dc

Dublin Core Extensiondcx
Oai Dublin Coreoai_dc
BibTeXbibtex
Research Information System Formatris
Text DEtext_de
Text ENtext_en

RDF_XML

rdf_xml
RDF/Turtlerdf_turtle
RDF/N3rdf_n3
RDF/Jsonrdf_json
JSON-based Serialization for Linked Datajson_ld


Anzahl der gelieferten Datensätze pro Anfrage

  • Standard: 10 Datensätze pro Antwort
  • Maximal: 100 Datensätze pro Antwort bei Angabe von ...&maximumRecords=100 (mögliche Werte 1 bis 100)
  • Abruf weiterer Datensätze: ...&startRecord=51 (mögliche Werte 1 bis unendlich)

Zusätzlich: der Link zur Vollanzeige des Datensatzes in TIB Portal

Der Link zur Vollanzeige des Datensatzes in Tib Portal wird mit dieser Regel gebaut:

https://www.tib.eu/de/suchen/id/<FTX-ID>

Zum Beispiel: Für Datensatz mit der FTX-ID = TIBKAT:506054543

https://www.tib.eu/de/suchen/id/TIBKAT:506054543/
oder
https://www.tib.eu/de/suchen/id/TIBKAT%3A506054543/

Der Datensatz im Marcxml-Format enthält diesen Link im Feld 500 (subfield code="a"):

<datafield ind1=" " ind2=" " tag="500">
 <subfield code="a">https://www.tib.eu/de/suchen/id/TIBKAT%3A506054543/</subfield>
</datafield>
  • No labels