DH-crud Service

The DARIAH-DE CRUD Service is the core storage service for the DARIAH-DE Repository. It talks to both the DARIAH-DE OwnStorage and PublicStorage. Two instances of the DH-crud are in use within the DARIAH-DE Repository: An only internally used instance that actually is creating and importing objects (via Publikator) and an externally used instance (the documented one) that is delivering publicly available data and metadata to the users.

API Documentation

To retrieve data and metadata you would need the object’s Handle PID or DataCite DOI, such as

21.11113/0000-000B-C8EF-7

or

10.20275/0000-000B-C8EF-7

All requests below using the Handle PID can be equally stated using the DataCite DOI of the object. Just exchange the Handle PID prefix with the DataCite DOI prefix, such as:

#VERSION

To check the current productive DH-crud version simply try:

and you get the currently deployed version of the productive public DH-crud.

Content Negotiation

Access on root object level provides content negotiated responses depending on Request Accept Header:

  • Accept: text/html will provide the HTML landing page,
  • Accept: application/zip will provide the ZIPped BagIt bag, and finally
  • leaving out the Accept-header will return the data object itself in it’s original mimetype.

#GET Data

RESPONSE: A file object with appropriate Content-Type.

#GET BagIt Bag

RESPONSE: A DARIAH-DE Repository BagIt ZIP file object with Content-Type application/zip.

#GET RDA BagPack (Research Data Repository Interoperability WG)

RESPONSE: A RDA WG Repository Interoperability BagIt ZIP file object with Content-Type application/zip (see ´working group web site ´<https://www.rd-alliance.org/groups/research-data-repository-interoperability-wg.html>´_).

#GET Descriptive Metadata (DMD)

Descriptive metadata are in DC namespace and to be added by the user importing data into the repository. Only the dc:identifier tags holding the URL, DOI, and Handle PID are added by the DH-crud service.

RESPONSE: text/plain (TURTLE)

@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dariah: <http://de.dariah.eu/rdf/dataobjects/terms/> .
@prefix dc:    <http://purl.org/dc/elements/1.1/> .

<http://hdl.handle.net/21.11113/0000-000B-C8EF-7>
        a               dariah:Collection ;
        dc:creator      "DARIAH-DE" ;
        dc:description  "The collection containing the terms of use for the DARIAH-DE Repository." ;
        dc:format       "text/vnd.dariah.dhrep.collection+turtle" ;
        dc:identifier   <http://dx.doi.org/10.20375/0000-000B-C8EF-7> , <http://hdl.handle.net/21.11113/0000-000B-C8EF-7> ;
        dc:rights       "CC0" , "https://creativecommons.org/choose/zero/" ;
        dc:title        "DARIAH-DE Repository – Terms of Use" .

Different formats can be requested using

#GET Administrative Metadata (ADMMD)

Administrative metadata are in DCTERMS namespace and created by the DH-crud service itself at importing time.

RESPONSE: text/plain (TURTLE)

@prefix premis: <http://www.loc.gov/premis/rdf/v1#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix dariah: <http://de.dariah.eu/rdf/dataobjects/terms/> .

<http://hdl.handle.net/21.11113/0000-000B-C8EF-7>
        a                            dariah:Collection ;
        dcterms:created              "2017-12-04T19:25:31.028" ;
        dcterms:creator              "StefanFunk@dariah.eu" ;
        dcterms:extent               "436" ;
        dcterms:format               "text/vnd.dariah.dhrep.collection+turtle" ;
        dcterms:identifier           <http://dx.doi.org/10.20375/0000-000B-C8EF-7> , <http://hdl.handle.net/21.11113/0000-000B-C8EF-7> ;
        dcterms:modified             "2017-12-04T19:25:31.028" ;
        dcterms:source               "https://cdstar.de.dariah.eu/dariah/EAEA0-4CA2-C619-F79F-0" ;
        premis:hasMessageDigest      "be66b89927c01eb13a0f924f1f7de5a0" ;
        premis:hasMessageDigestOriginator
                "dhcrud-base-7.36.0-DH.201712041055" ;
        premis:hasMessageDigestType  "md5" .

Different formats can be requested using

#GET Technical Metadata (TECHMD)

Technical metadata is extracted from each single object (content file) at import. A File Information Tool Set (FITS) service is used by the DH-crud.

RESPONSE: text/xml (FITS XML)

<?xml version="1.0" encoding="UTF-8"?>
<fits xmlns="http://hul.harvard.edu/ois/xml/ns/fits/fits_output" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hul.harvard.edu/ois/xml/ns/fits/fits_output http://hul.harvard.edu/ois/xml/xsd/fits/fits_output.xsd" version="1.1.0" timestamp="12/4/17 7:25 PM">
  <identification>
    <identity format="Plain text" mimetype="text/plain" toolname="FITS" toolversion="1.1.0">
      <tool toolname="Droid" toolversion="6.1.5" />
      <tool toolname="Jhove" toolversion="1.16" />
      <tool toolname="file utility" toolversion="5.14" />
      <externalIdentifier toolname="Droid" toolversion="6.1.5" type="puid">x-fmt/111</externalIdentifier>
    </identity>
  </identification>
  <fileinfo>
    <size toolname="Jhove" toolversion="1.16">436</size>
    <filepath toolname="OIS File Information" toolversion="0.2" status="SINGLE_RESULT">/tmp/tomcat-crud-tmp/dhrep_c8de478714e64a69a60a01d6e8354f88/dhrep_21.11113_0000-000B-C8EF-7.bagit/data.txt</filepath>
    <filename toolname="OIS File Information" toolversion="0.2" status="SINGLE_RESULT">data.txt</filename>
    <md5checksum toolname="OIS File Information" toolversion="0.2" status="SINGLE_RESULT">be66b89927c01eb13a0f924f1f7de5a0</md5checksum>
    <fslastmodified toolname="OIS File Information" toolversion="0.2" status="SINGLE_RESULT">1512411931000</fslastmodified>
  </fileinfo>
  <filestatus>
    <well-formed toolname="Jhove" toolversion="1.16" status="SINGLE_RESULT">true</well-formed>
    <valid toolname="Jhove" toolversion="1.16" status="SINGLE_RESULT">true</valid>
  </filestatus>
  <metadata>
    <text>
      <linebreak toolname="Jhove" toolversion="1.16" status="SINGLE_RESULT">LF</linebreak>
      <charset toolname="Jhove" toolversion="1.16">US-ASCII</charset>
      <standard>
        <textMD:textMD xmlns:textMD="info:lc/xmlns/textMD-v3">
          <textMD:character_info>
            <textMD:charset>US-ASCII</textMD:charset>
            <textMD:linebreak>LF</textMD:linebreak>
          </textMD:character_info>
        </textMD:textMD>
      </standard>
    </text>
  </metadata>
  <statistics fitsExecutionTime="66">
    <tool toolname="MediaInfo" toolversion="0.7.75" status="did not run" />
    <tool toolname="OIS Audio Information" toolversion="0.1" status="did not run" />
    <tool toolname="ADL Tool" toolversion="0.1" status="did not run" />
    <tool toolname="VTT Tool" toolversion="0.1" status="did not run" />
    <tool toolname="Droid" toolversion="6.1.5" executionTime="5" />
    <tool toolname="Jhove" toolversion="1.16" executionTime="44" />
    <tool toolname="file utility" toolversion="5.14" executionTime="56" />
    <tool toolname="Exiftool" toolversion="10.00" status="did not run" />
    <tool toolname="NLNZ Metadata Extractor" toolversion="3.6GA" status="did not run" />
    <tool toolname="OIS File Information" toolversion="0.2" executionTime="21" />
    <tool toolname="OIS XML Metadata" toolversion="0.2" status="did not run" />
    <tool toolname="ffident" toolversion="0.2" executionTime="23" />
    <tool toolname="Tika" toolversion="1.10" executionTime="32" />
  </statistics>
</fits>

#GET Provenance Metadata (PROVMD)

The DARIAH-DE Repository is not yet using provenance matadata.

RESPONSE: HTTP 500 – Internal Server Error (not yet implemented)

Sources

See dhcrud_sources

Bugtracking

See dhcrud_bugtracking

Licence

See LICENCE