Navigation und Service

29. März bis 01. April 2024

Die Deutsche Nationalbibliothek ist an beiden Standorten geschlossen. Die Ausstellungen des Deutschen Buch- und Schriftmuseums sind von 10 bis 18 Uhr geöffnet.

Gezielte Suche und Übernahme von Titel- und Normdaten

Über SRU (Search/Retrieve via URL) können Sie mit Suchindizes und Suchbegriffen gezielt in den Daten der Deutschen Nationalbibliothek suchen und diese anschließend in die eigene Umgebung übernehmen. Die Ergebnisse der Suche stehen in einem definierten XML-Format zur Verfügung.
Anfragen werden in der Retrievalsprache CQL (Contextual Query Language) formuliert.

Der SRU-Standard wurde von der Library of Congress veröffentlicht und ist eine Weiterentwicklung des Z39.50-Protokolls.

Eine Übersicht aller verfügbaren Metadaten und der verschiedenen Bezugsmöglichkeiten finden Sie hier.

Standards der SRU-Schnittstelle

Protokoll SRU: Version 1.1
Retrievalsprache CQL Context Set Version 1.2, Conformance-Level 2

SRU-Funktionen

SRU umfasst die Basisfunktionen:

  • Explain: Selbstbeschreibung im XML-Standardformat, enthält Informationen über

    • Katalog
    • Indizes und unterstützte Sortierparameter
    • Datenformate
  • Search/Retrieve: Suchanfrage

    • Retrievalsprache: CQL (Contextual Query Language)
    • Boolesche Operatoren (and, or, not) werden unterstützt. Zu jedem Suchbegriff muss ein Indexkürzel angegeben werden, ansonsten erfolgt die Suche im voreingestellten Standardindex WOE. Syntax einer Suchanfrage:

      ... Indexkürzel%3DSuchbegriff%20or%20Indexkürzel%3DSuchbegriff ...

    • Hilfe zur Formulierung von Suchanfragen mit CQL
  • Sort: Sortierung der Ergebnismenge

    • Der Sortierparameter wird nicht im Rahmen der SRU Version 1.1 unterstützt, sondern als Teil der CQL Context Set Version 1.2. Bei welchen Indizes der Sortierparameter unterstützt wird, ist im katalogspezifischen SRU-Explain dokumentiert und durch die Angabe sort="true" erkennbar, eine Kombination ist nicht möglich.
      Syntax einer Suchanfrage: sort.descending oder sort.ascending

Zugangsvoraussetzungen

Der Zugang zur SRU-Schnittstelle ist kostenfrei und ohne Registrierung möglich.

Verfügbare Kataloge und Formate

Kataloge
KatalogauswahlBeginn einer Suchanfrage auf diesen Katalog
Katalog der Deutschen Nationalbibliothek (DNB) ohne Gemeinsame Normdatei (GND)https://services.dnb.de/sru/dnb?version=1.1&operation=searchRetrieve&query=…
Katalog des Deutschen Musikarchivs (DMA)https://services.dnb.de/sru/dnb.dma?version=1.1&operation=searchRetrieve&query=…
Authorities: Katalog der Gemeinsamen Normdatei (GND)
Einschränkungen nach Entitäten
https://services.dnb.de/sru/authorities?version=1.1&operation=searchRetrieve&query=…
Katalog der Zeitschriftendatenbank (ZDB)https://services.dnb.de/sru/zdb?version=1.1&operation=searchRetrieve&query=…

Folgende Formate werden in der Codierung UTF-8 decomposed („zerlegt“) angeboten:

Formate
FormatFormatbezeichnungStandardisiertes XML-Schema Beispiele
MARC21-xmlMARC 21 in einer XML-Struktur Standard für MARC 21 in einer XML-StrukturMARC21-xml
DNB Casual (oai_dc)Auswahl von Dublin-Core-Elementen
nur für Titeldaten
Standard für Dublin Core (oai_dc)DNB Casual (oai_dc)
RDF (RDFxml)Linked Data ServiceStandard für Resource Description Framework (RDF)RDF (RDFxml)

Für die Metadaten der Zeitschriftendatenbank (ZDB) sind weitere Formate verfügbar.

Nutzungs- und Bezugsbedingungen

Detaillierte Informationen zu den Nutzungs- und Bezugsbedingungen finden Sie hier.

Praktische Beispiele

Syntax einer SRU-Anfrage
BeispielErklärung
https://services.dnb.de/sru
Anfrage an SRU-Server der DNB
/dnbFestlegen des Kataloges (z. B. DNB)
?version=1.1Angabe der SRU-Version, Standard
&operation=searchRetrieveBefehl an den Server
&query=Anfrage formulieren
SW%3DGoethe
%20or%20
SW%3DSchiller
SW ist die Indexbezeichnung, %3D ist die URL-Kodierung für =, Suchbegriffe hier: Goethe oder Schiller (boolesche Verknüpfung)
%20sortby%20tit/sort.ascendingSortierung der Ergebnismenge nach Titel aufsteigend von A-Z
&recordSchema=MARC21-xmlgewünschtes Format der SRU-Antwort

SRU-Anfrage für die Titeldaten eines Heftes bzw. Kalenderwoche (KW) einer Reihe der Deutschen Nationalbibliografie: Die Angabe einer Kalenderwoche erfolgt nach dem Muster: JJ,ReiheKW = 22,A05 im Index „WVN“. Die Kalenderwoche wird immer zweistellig angegeben, bei Kalenderwoche 1 bis 9 mit führender Null.

Beispiel: https://services.dnb.de/sru/dnb?version=1.1&operation=searchRetrieve&query=WVN%3D22A05&recordSchema=MARC21-xml

Folgende Einschränkungen sind möglich:

Einschränkung nach Entitäten im Katalog „authorities“
EntitätenBibliografische Gattung
GeografikumTg
KongressTf
KörperschaftTb
PersonTp
SachbegriffTs
WerkTu

Das Sternchen * (Asterisk) steht als Platzhalter für eine beliebige Anzahl von Zeichen und ist unbedingt direkt an den Wert anzufügen.

Beispiele für entsprechende SRU-Anfragen:

Tp* (Person)

https://services.dnb.de/sru/authorities?version=1.1&
operation=searchRetrieve&
query=PER%3DRupp%20Elisabeth%20and%20BBG%3DTp*&
recordSchema=MARC21-xml

Ts* (Sachbegriff)

https://services.dnb.de/sru/authorities?version=1.1&
operation=searchRetrieve&
query=WOE%3DMarketing%20and%20BBG%3DTs*&
recordSchema=MARC21-xml

Schlagwörter erhalten Sie über die Einschränkung mittels "COD=s"

https://services.dnb.de/sru/authorities?version=1.1&
operation=searchRetrieve&
query=WOE%3Dsozialistenkongress%20and%20COD%3Ds&
recordSchema=MARC21-xml

URL-Kodierung

In der URL-Kodierung werden Umlaute nach UTF-8 und mit vorangestelltem %-Zeichen kodiert (Prozentkodierung).
Beispiel: Kleinbuchstabe ö in UTF-8 = C3 B6 und mit vorangestellten %-Zeichen = %C3%B6.

URL-Kodierung
ZeichenUTF-8 hexadezimal
Ä=%C3%84
Ö=%C3%96
Ü=%C3%9C
ä=%C3%A4
ö=%C3%B6
ü=%C3%BC
ß=%C3%9F
(Leerschritt, Spatium)=%20
" (Anführungszeichen)=%22
/ (Slash)=%2F
\ (Backslash)=%5C
Liste weiterer Zeichen

Zur Verwendung von „=“ in einer Anfrage (... query=dc.title=musik ...) empfehlen die Vorgaben die Ersetzung des 2. „=“ durch „%3D“ (... query=dc.title%3Dmusik ...) und die Ersetzung von Sonderzeichen (z. B. Diakritika durch UTF-8 hexadezimal) im Suchbegriff (siehe Standard).
Leerzeichen zum Beispiel vor und nach booleschen Operatoren sind mit %20 (... SW%3DKRAFTWERK%20not%20SW%3DROBOTER ...) zu ersetzen (abhängig vom Client).

Anzahl der gelieferten Datensätze pro Anfrage

Standard (default): 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=101 (mögliche Werte 1 bis 99.000)

Häufig gestellte Fragen (FAQ)

Was ist der Unterschied zwischen SRU und OAI?

SRU ermöglicht die dezidierte Recherche, ohne eine eigene Datenbank vorzuhalten.
OAI ermöglicht eine ständige Synchronisation großer Datenbestände, dies setzt den Datenimport eines aktuellen Grundbestandes in eine eigene Datenbank voraus.

Wo erhalte ich Programme/Software zur Nutzung von SRU?

Auf der SRU-Webseite der Library of Congress gibt es eine entsprechende Übersicht von Software zur Nutzung von SRU.

Wie lautet der Servername, Hostname, Port, Datenbankname der SRU-Schnittstelle?

Adresse oder Benennung der Datenquelle: z. B. https://services.dnb.de/sru oder DNB-Katalog (in den meisten Fällen kann dieses Feld mit einem frei wählbaren Begriff gefüllt werden).
Servername/Hostname/Rechner: services.dnb.de
Port: 443 (HTTPS-Protokoll)
Datenbankname/Pfad: sru/dnb bzw. sru/zdb bzw. sru/authorities usw.
Format/Syntax: MARC 21/USMARC
Codierung: UTF-8 (decomposed)

Was passiert bei einem nicht korrekten oder unterstützten Parameter in der URL-Anfrage?

Die SRU-Schnittstelle liefert dem Standard entsprechend eine Fehlerdiagnose in XML (diagnostic) zurück.

Beispiel:

<diagnostics>
<diag:diagnostic xmlns:diag="http://www.loc.gov/zing/srw/diagnostic/">
<diag:uri>info:srw/diagnostic/1/8</diag:uri>
<diag:details>Unsupported parameter</diag:details>
<diag:message>[quer]</diag:message>
</diag:diagnostic>
</diagnostics>

Was passiert bei einer Anfrage ohne Angabe eines Index?

Wird kein Index in der SRU-Anfrage angegeben, wird die Anfrage an den umfangreichsten Index des ausgewählten Katalogs geleitet (Fallback).

Wie müssen Diakritika, Leerzeichen oder das Zeichen Slash in einer Anfrage kodiert werden?

Diese müssen in einer SRU-Anfrage in URL-Kodierung (UTF-8 hexadezimal, auch Prozentkodierung genannt) umgewandelt werden: zum Beispiel der Buchstabe ä in %C3%A4, ein Leerzeichen in %20 und ein Slash in %2F. Suchbegriffe können durch Anführungszeichen ("Suchbegriff") umschlossen werden. Enthält ein Suchbegriff die Zeichen < > = / ( ) oder Leerzeichen, muss dieser durch Anführungszeichen (zum Beispiel für das Sigel "1w/r" in URL-Kodierung: "1w%2Fr") umschlossen werden (siehe Standard)

Wie werden Markup-Zeichen in einer SRU-Antwort transportiert?

Innerhalb einer SRU-Antwort werden Markup-Zeichen (<, > und &) in einem CDATA-Abschnitt transportiert.

Was passiert bei einer Anfrage, für die keine passenden Daten existieren?

Die SRU-Schnittstelle liefert „number of records 0“ zurück.

Mit welcher Software kann ich die Metadaten weiterverarbeiten?

Für den ersten Einstieg geeignet ist zum Beispiel das Programm MarcEdit, die Übersicht MARC Specialized Tools, die Software-Suite Catmandu, OpenRefine oder Metafacture, zur Datenanalyse der „Konstanz Information Miner“ (KNIME) oder das Metadata Quality Assurance Framework. Eine weiterführende Übersicht bieten die Vortragsfolien „Open Source Software zur Verarbeitung und Analyse von Metadaten“ und der Artikel Survey of Tools for Linked Data Consumption.

Wie erhalte ich wichtige Informationen z. B. über Änderungen oder Störungen an der SRU-Schnittstelle?

Um über Änderungen und Neuerungen sowie Störungen oder Wartungsarbeiten zeitnah informiert zu werden, empfehlen wir Ihnen die Eintragung in den Mailverteiler SRU-Schnittstelle.

Kontakt

schnittstellen-service@dnb.de

Aktuelles

Letzte Änderung: 24.04.2023
Kurz-URL: https://www.dnb.de/sru
Kontakt: schnittstellen-service@dnb.de

nach oben