Header

Suche

REST API

Einleitung

DSpace(-CRIS) verfügt über eine umfangreiche REST API.  Siehe dazu die RestContract Dokumentation:

Basis-URLs für die ZORA Einstiegspunkte

ZORA Produktion https://www.zora.uzh.ch/server  (/api)
ZORA Test (nur im UZH-Netzwerk) https://www.zoratest.uzh.ch/server  (/api)

Architektur

Die DSpace REST API basiert auf drei sich ergänzenden Standards:

HAL (Hypertext Application Language): Jede Antwort enthält _links, die verfügbare Operationen und zugehörige Ressourcen beschreiben.
HATEOAS  (Hypermedia as the Engine of Application State): Die REST API ist selbstnavigierbar: Man beginnt an der Wurzel und folgt den Links, anstatt URLs manuell zu erstellen.
ALPS (Application-Level Profile Semantics): Maschinell lesbare semantische Profile dokumentieren, was jeder Endpunkt akzeptiert und zurückgibt.

Alle Antworten liegen im JSON-Format vor. Für anonyme User ist die API schreibgeschützt; authentifizierte User können Daten mit entsprechenden Berechtigungen auch ändern.

HAL-Browser

Der HAL-Browser bietet eine interaktive, selbstdokumentierende Schnittstelle zu allen verfügbaren Endpunkten.  Mit ihm lassen sich die API-Struktur erkunden und Anfragen testen, ohne Code schreiben zu müssen.

Authentifizierung

Ein API Token wird benötigt bei Benutzung der empfohlenen API Libraries und für schreibende Zugriffe, z.B. Einreichungen von Dokumenten.

Im Account-Profil muss ein Personal Access Token eingerichtet werden: Unter «Profile» bis zu «Personal Access Token» scrollen, Token erzeugen und in einen Zwischenspeicher kopieren.

Search API

Über die Search API können Metadaten als JSON zu einer ausformulierten Suchabfrage abgegriffen werden.

Dokumentation für den Einstiegspunkt zu Suchen:DSpace RestContract/search-endpoint.md

Search Endpoint: https://www.zora.uzh.ch/server/api/discover/search

Beispiel 1

Publikationen der WWF, die im 2025 hinzugefügt wurden (also auch ältere):

https://www.zora.uzh.ch/server/api/discover/search/objects?scope=9e8a319a-6d8f-4882-bf2a-684e358e6fff&query=dc.date.accessioned:2025

Parameter in diesem Beispiel:

  1. scope: UUID der jeweiligen Community oder Collection, die abgefragt werden muss, siehe z.B. 03 Faculty of Economics  für die WWF

    bzw. https://www.zora.uzh.ch/community-list  für andere  Communities/Collections

    Hilfe zu Communities & Collections

  2. query: Solr query, hier auf das Feld dc.date.accessioned und Wert 2025 (alle ab 2025 akquirierten Publikationen) eingeschränkt.

Siehe Metadaten-Profil für Felder in ZORA.

Beispiel 2

Publikationen der WWF mit Publikationsjahr 2025:

https://www.zora.uzh.ch/server/api/discover/search/objects?scope=9e8a319a-6d8f-4882-bf2a-684e358e6fff&query=dateIssued.year=2025

Beispiel 3

Publikationen zu einer bestimmten ORCID ID:

https://www.zora.uzh.ch/server/api/discover/search/objects?scope=9e8a319a-6d8f-4882-bf2a-684e358e6fff&query=orcid:(0000-0002-0128-4602)

Im Antwort-JSON sind die Daten jeweils gepaged, mit den next und last links kommt man zur nächsten bzw. letzten Seite. Mit dem size Parameter kann die Zahl der Einträge pro Seite gesteuert werden. Maximal möglich ist size=1000. Stellt man mehr ein, werden trotzdem nur 1000 Einträge pro Seite geliefert.  Ebenso gibt es einen sort Parameter, siehe DSpace RestContract/search-endpoint.md

Submission API

Bitte kontaktieren Sie das ZORA IT-Team (Martin Brändle, Jens Witzel), wenn Sie Einreichungen über die DSpace REST API erstellen möchten. Es wird eine detaillierte Anleitung zugeschickt  und der Test- und Implementationsprozess wird begleitet.

Gegenwärtig machen die Philosophische Fakultät und die Mathematisch-Naturwissenschaftliche Fakultät von dieser Möglichkeit Gebrauch, um Dissertationen aus ihren Verwaltungssystemen einzuspielen.

API Libraries und Tools

REST API Libraries und Tools verschiedener Hersteller:

Programmiersprache Beschreibung URLs Hersteller Lizenz
Python DSpace Python REST Client Library PyPI
GitHub
The Library Code Open Source

 

Weiterführende Informationen

Fragen zu ZORA?

Martin Brändle
Margit Dellatorre
Tessa Gerber
Laetitia Kaiser
Anita Sbalzarini
Olivier Vogel
Jens Witzel

oa@ub.uzh.ch

+41 44 635 41 62