Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Die OAI-Schnittstelle der DDB benutzt die nach außen öffentlich sichtbaren Identifier (ID). Das sind ( Teile des ) URI der DDB-Objekte.

  • DDB-Objekt (Peterchens Mondfahrt): http://www.deutsche-digitale-bibliothek.de/item/IDEYVAM52SZTJUSL347PX6JUIFR545ZD

Datenzusammenstellungen, darunter fallen u.a. OAI-Datensets bekommen zukünftig einen eigenen Identifier. Einstweilen werden OAI-Datensetz wie u.g eindeutig identifiziert. (warning)

  • Sammlung: http://www.deutsche-digitale-bibliothek.de/dataset/ABCDEFGHIJKLMNOPQRSTU0123456789

...

OAI-

...

OAI-Datensets:

...

Datensets

Lieferung an Europeana

Kriterium

Benennung der Datensets

Kommentar

Beispiele (in Solr-Query-Syntax)

dataset_id 

<dataset_id>

ID des Datensets. (dies wird am häufigsten benutzt) 

dataset-id:5738807392711401XjYt 

dataset_id AND provider_id 

<dataset_id>_:<provider_id>

Ein Datenpartner kann mehrere Provider liefern. Nur einige müssen an Europeana weitergegeben werden (z.B. Digicult) 

dataset-id:5738807392711401XjYt AND provider_id:VSHJWG7QLS7Y3NS2HKE43E5Q5NJ7OCLS 

dataset_id AND type_fct 

<dataset_id>_:<type_fct>

Ein Datenpartner möchte z.B. nur die Videos aus einem Datenset liefern. 

dataset-id:5738807392711401XjYt AND type_fct:mediatype_005 

dataset_id AND license 

<dataset_id>_:<license>

Ein Datenpartner möchte nur die Objekte mit der Lizenz “RV-FZ” innerhalb eines Datensets liefern 

dataset-id:5738807392711401XjYt AND license:"http://www.deutsche-digitale-bibliothek.de/lizenzen/rv-fz/" 

Blacklisting:

TODO Büchner, Michael

Weitere Anforderungen 

Anforderungen

Allgemein

  1. Das Harvesting einzelner DDB-IDs sollte möglich sein (GetRecord). ist über die Methode GetRecord möglich. 
  2. Veränderungen innerhalb einen OAI-Datensets müssen über die Zeit können durch einen Timestamp abfragbar sein. 

    Fragen & Antworten 

    • Zusammenhang: Europeana-Weitergabe und Blacklisting 
    • Stand der Dinge: Das ist ein vertragliches Problem und muss auch an dieser Stelle gelöst werden. Ein Blacklisting (Daten eines Datenpartners lassen sich nicht über die DDB-API abrufen) sollte nicht mit einer Datenlieferung über die DDB an Europeana kombiniert werden können. 
      Für alle nicht-geblacklisteten Daten werden OAI-Sets erstellt. 
    • Ist eine Freischaltung auf dem OAI Server noch nötig? (Whitelist) 
    • Nein, eine zusätzliche Freischaltung ist nicht vorgesehen. Jedes DDB-Objekt bekommt auf dem OAI-Server einen OAI/DC-Datensatz, der erst einmal nur die DDB-ID enthält. J). 
    • Daten in den Lieferformate harvesten (Anforderung FS Archiv für EAD) 
    • Anforderung ist erst einmal zurückgestellt. 
    • Umgang mit Deleted Records 
    • Deleted Records werden gemäß der OAI/PMH-Spezifikation unterstützt. 
    • Löschen von OAI-Sets 
    • Komplette Neuindexierung notwendig. Das ist bisher nicht implementiert 
    1. Deleted Records werden gemäß der OAI/PMH-Spezifikation unterstützt. 
    2. Das Löschen von OAI-Sets ist zunächst nicht vorgesehen, da es eine komplette Neuindexierung notwendig macht. Das ist bisher nicht implementiert.

    Blacklisting und Whitelisting

    1. Der (koopertations-) vertragliche Zusammenhang von Europeana-Weitergabe und API-Blacklisting hat keine Auswirkungen auf die OAI-Schnittstelle. Das ist ein vertragliches Problem und muss auch an dieser Stelle gelöst werden. Ein Blacklisting (Daten eines Datenpartners lassen sich nicht über die DDB-API abrufen) sollte nicht mit einer Datenlieferung über die DDB an Europeana kombiniert werden können. Für alle nicht-geblacklisteten Daten werden OAI-Sets erstellt. Die weitere Klärung obliegt DDB/DNB bzw. SSt.
    2. Eine Freischaltung auf dem OAI-Server (Whitelisting) ist nicht vorgesehen. Jedes DDB-Objekt bekommt auf dem OAI-Server einen OAI/DC-Datensatz, der erst einmal nur die DDB-ID enthält. 

    Konventionen/ Festlegungen

    1. Alle Datumswerte werden als UTC-Zeit (ohne Zeitzone) verwendet.
      Das Format ist „yyyy-mm-ddTHH:mm:ssZ“, z. B. 2016-07-01T09:27:00Z}}
    2. Die OAI-Schnittstelle der DDB ist unter https://oai.deutsche-digitale-bibliothek.de/ erreichbar. http://oai.deutsche-digitale-bibliothek.de/ leitet auf die verschlüsselte Schnittstelle weiter.

    Schemata/XSLT-Stylesheet

    Zur besseren Verwendbarkeit der Schnittstelle ist das OAI PMH 2.0-Schema eingebunden.

    Code Block
    languagexml
    linenumberstrue
    <OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" 
      xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">

    Weiterhin ist mittels einer Prozessoranweisung ein XSLT-Stylesheet eingebunden. Das ermöglicht den meisten Webbrowsern aus den XML-Daten der OAI-Schnittstelle eine HTML-Ansicht zu generieren.

    ...

    languagexml
    linenumberstrue

    ...

    1. Konfiguration der OAI-Schnittstelle (Logo: DDBpro_Logo_2_s_pos_RGB_G.svg)

      No Format
      branding.logo=DDBpro_Logo_2_s_pos_RGB_G.svg
      branding.header.color=#f8f8f8
      branding.service.name=DDBoai
      branding.service.url=https://api.deutsche-digitale-bibliothek.de
      branding.welcome.text=This is an OAI/PMH interface that allows users to access and harvest metadata provided by the Deutsche Digitale Bibliothek (DDB). 
      branding.imprint.url=https://www.deutsche-digitale-bibliothek.de/

    ...

    1. content/impressum
      branding.privacy.url=https://www.deutsche-digitale-bibliothek.de/content/datenschutzerklaerung
      branding.font.family=Calibri, Arial, sans-serif;
      branding.font.color=#3e3a37;


    Beschreibung

    GetRecord

    URL

    https://oai.deutsche-digitale-bibliothek.de?verb=GetRecord

    Parameter

    identifier (benötigt)


     

    metadataPrefix (benötigt)

    Metadatenformat: „oai_dc” oder „edm“

    Request

    https://oai.deutsche-digitale-bibliothek.de?verb=GetRecord&metadataPrefix=edm&identifier=https%3A%2F%2Fwww.deutsche-digitale-bibliothek.de%2Fitem%2FIDEYVAM52SZTJUSL347PX6JUIFR545ZDIDEYVAM52SZTJUSL347PX6JUIFR545ZD

    Code Block
    languagexml
    titleResponse
    linenumberstrue
    collapsetrue
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <?xml-stylesheet type='text/xsl' href='https://oai.deutsche-digitale-bibliothek.de/oai2.xsl'?>
    <OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
      <responseDate>2017-01-17T13:33:19.399Z</responseDate>
      <request 
        identifier="https://www.deutsche-digitale-bibliothek.de/item/IDEYVAM52SZTJUSL347PX6JUIFR545ZD" 
        metadataPrefix="edm" 
        verb="GetRecord">https://oai.deutsche-digitale-bibliothek.de/</request>
      <GetRecord>
        <record>
          <header>
            <identifier>https://www.deutsche-digitale-bibliothek.de/item/IDEYVAM52SZTJUSL347PX6JUIFR545ZD</<identifier>IDEYVAM52SZTJUSL347PX6JUIFR545ZD</identifier>
            <!-- Datum vom ingestDate -->
            <datestamp>2015-06-15T01:11:30Z</datestamp>
            <!-- Auflistung ALLER Sets in denen der Datensatz vorkommt -->
            <setSpec>5738807392711401XjYt</setSpec>
            <setSpec>5738807392711401XjYt_VSHJWG7QLS7Y3NS2HKE43E5Q5NJ7OCLS</setSpec>
            <setSpec>5738807392711401XjYt_mediatype_005</setSpec>
          </header>
          <metadata>
            <!-- Nicht valide. Bessere Vorschläge sind willkommen! Europeana macht es auch so. -->
            <rdf:RDF 
              xmlns:edm="http://www.europeana.eu/schemas/edm/" 
              xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
              <!-- ... -->
            </rdf:RDF>
          </metadata>
        </record>
      </GetRecord>
    </OAI-PMH>

    ...

    Code Block
    languagexml
    titleResponse
    linenumberstrue
    collapsetrue
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type='text/xsl' href='https://oai.deutsche-digitale-bibliothek.de/oai2.xsl'?>
    <OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
       <responseDate>2017-01-13T08:45:20.794Z</responseDate>
       <request metadataPrefix="oai_dc" verb="ListIdentifiers">https://oai.deutsche-digitale-bibliothek.de/</request>
       <ListIdentifiers>
          <header>
             <identifier>https://www.deutsche-digitale-bibliothek.de/item/IDEYVAM52SZTJUSL347PX6JUIFR545ZD</<identifier>IDEYVAM52SZTJUSL347PX6JUIFR545ZD</identifier>
             <!-- Datum vom ingestDate -->
             <datestamp>2015-06-15T01:11:30Z</datestamp>
             <!-- Auflistung ALLER Sets in denen der Datensatz vorkommt -->
             <setSpec>5738807392711401XjYt</setSpec>
             <setSpec>5738807392711401XjYt_VSHJWG7QLS7Y3NS2HKE43E5Q5NJ7OCLS</setSpec>
             <setSpec>5738807392711401XjYt_mediatype_005</setSpec>
          </header>
          <header>
             <identifier>K6UAEV22DSH4GC2VAKPRTF4ZOHIOU6EJ</identifier>
             <datestamp>2015-06-15T01:11:32Z</datestamp>
             <setSpec>5738807392711401XjYt</setSpec>
             <setSpec>5738807392711401XjYt_VSHJWG7QLS7Y3NS2HKE43E5Q5NJ7OCLS</setSpec>
             <setSpec>5738807392711401XjYt_mediatype_005</setSpec>
          </header>
          <!-- ... -->
          <resumptionToken completeListSize="6200747" cursor="0" expirationDate="2017-01-13T09:15:20Z">mCgPm-947-0</resumptionToken>
       </ListIdentifiers>
    </OAI-PMH>

    ...

    Code Block
    languagexml
    titleResponse
    linenumberstrue
    collapsetrue
     <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <?xml-stylesheet type='text/xsl' href='https://oai.deutsche-digitale-bibliothek.de/oai2.xsl'?>
    <OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
      <responseDate>2017-01-17T15:50:20Z</responseDate>
      <request metadataPrefix="edm" verb="ListRecords">https://oai.deutsche-digitale-bibliothek.de/</request>
      <ListRecords>
        <record>
          <header>
            <identifier>https://www.deutsche-digitale-bibliothek.de/item/IDEYVAM52SZTJUSL347PX6JUIFR545ZD<<identifier>IDEYVAM52SZTJUSL347PX6JUIFR545ZD</identifier>
            <!-- Datum vom ingestDate -->
            <datestamp>2015-06-15T01:11:30Z</datestamp>
            <!-- Auflistung ALLER Sets in denen der Datensatz vorkommt -->
            <setSpec>5738807392711401XjYt</setSpec>
            <setSpec>5738807392711401XjYt_VSHJWG7QLS7Y3NS2HKE43E5Q5NJ7OCLS</setSpec>
            <setSpec>5738807392711401XjYt_mediatype_005</setSpec>
          </header>
          <metadata>
            <rdf:RDF 
              xmlns:edm="http://www.europeana.eu/schemas/edm/" 
              xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
              <!-- ... -->
            </rdf:RDF>
          </metadata>
        </record>
        <record>
          <!-- ... -->
        </record>
        <resumptionToken completeListSize="16240" cursor="0" expirationDate="2017-01-17T16:20:35Z">mCgPm-1042-0</resumptionToken>
      </ListRecords>
    </OAI-PMH>

    ...