lobid-gnd

Search: /gnd/search?q=text

Alles
/gnd/search?q=*&format=json
Alle Felder
/gnd/search?q=london&format=json
Feldsuche
/gnd/search?q=preferredName:Twain&format=json
Filter
/gnd/search?q=preferredName:Twain&filter=type:Person&format=json
Paginierung
/gnd/search?q=london&from=50&size=100&format=json

GET by ID: /gnd/<id>.json

London
/gnd/4074335-4.json
hbz
/gnd/2047974-8.json
Goethe
/gnd/118540238.json

Inhaltstypen

Standardmäßig liefert dieser Dienst strukturierte API-Antworten (als JSON):

curl http://test.lobid.org/gnd/4074335-4

Er unterstützt Content-Negotiation über den Accept-Header für JSON (application/json) oder HTML (text/html):

curl --header "Accept: application/json" http://test.lobid.org/gnd/search?q=london

Der Query-Parameter "format" (Werte: html,json,bulk) kann verwendet werden, um den Accept-Header aufzuheben, z.B. zur Anzeige von JSON im Browser:

/gnd/4074335-4?format=json

Der Wert des Format-Parameters kann für Einzeltreffer auch in URLs als Dateiendung verwendet werden:

/gnd/4074335-4.json

Einzeltreffer unterstützen zudem verschiedene RDF-Serialisierungen (siehe Abschnitt zu JSON-LD).

Autovervollständigung

Die API unterstützt ein spezielles Antwortformat mit Vorschlägen zur Autovervollständigung.

Standardformat für Vorschläge verwenden: "format=json:suggest"
/gnd/search?q=Twain&format=json:suggest
Bestimmtes Feld für Vorschläge verwenden: "format=json:preferredName"
/gnd/search?q=Twain&format=json:preferredName
Vorschläge aus mehreren Feldern zusammenbauen: "format=json:preferredName,professionOrOccupation"
/gnd/search?q=Twain&format=json:preferredName,professionOrOccupation

Damit kann z.B. eine Autovervollständigung umgesetzt werden, bei der zur Suche an Stelle des gewählten Labels die entsprechende ID verwendet werden kann:

Dieses Beispiel ist folgendermaßen mit JavaScript und jQuery UI implementiert:

$('input.search-gnd').autocomplete({
  source : function(request, response) {
    $.ajax({
      //  use full URL in your code, i.e. http://lobid.org/gnd/search
      url : "/gnd/search",
      dataType : "jsonp",
      data : {
        q : request.term,
        format : "json:preferredName,professionOrOccupation"
      },
      success : function(data) {
        response(data);
      }
    });
  },
  select: function(event, ui) {
    $('#id').val('id:"'+ui.item.id+'"');
  }
});

JSON-LD

JSON-API-Anfragen liefern JSON-LD. Um damit zu experimentieren können sie das JSON-LD oder URLs im JSON-LD Playground einfügen.

JSON-LD Context
/gnd/context.jsonld
RDF-Konvertierung
Mit einem JSON-LD-Prozessor können sie API-Antworten in andere RDF-Serialisierungen umwandeln, z.B. in N-Quads mit jsonld-cli:

jsonld format --nquads http://test.lobid.org/gnd/4074335-4

Einzeltreffer können per Accept Header auch direkt als RDF/XML, Turtle oder N-Triples angefordert werden:

curl --header "Accept: application/rdf+xml" http://test.lobid.org/gnd/4074335-4

curl --header "Accept: text/turtle" http://test.lobid.org/gnd/4074335-4

curl --header "Accept: application/n-triples" http://test.lobid.org/gnd/4074335-4

Dabei werden wie im Abschnitt zu Inhaltstypen beschrieben neben dem Format-Parameter auch URLs mit Formatendungen unterstützt:

/gnd/4074335-4.rdf

/gnd/4074335-4.ttl

/gnd/4074335-4.nt