Zum Hauptinhalt springen

Docuteam Dublin Core 1.0

Docuteam Dublin Core 1.0 ist ein Paketformat, das zur Ablieferung an das Deposition API von docuteam feeder dienen kann.

Definition

  • Ein docuteam Dublin Core SIP ist eine .zip-Datei, die einen Ordner namens sip enthält, der ein bagit-Container ist.
  • Das Bagit muss mindestens mit sha256-Prüfsummen erstellt werden (andere von Bagit unterstützte Prüfsummenalgorithmen sind optional).
  • Innerhalb des Bagit-Containers enthält ein hierarchischer Ordner Datenobjekte, die mit XML-DublinCore-Metadaten beschrieben sind.

Verweise

Bagit library:

DublinCore:

Struktur des Bagit-Containers

Das SIP im gezippten Bagit-Container ist wie folgt aufgebaut:

  • Der Bagit-Container enthält mindestens sha256-Prüfsummen
  • Der Wurzelordner (der dem Wurzelobjekt im SIP entspricht) hat den Namen data (dies wird von den Bagit-Bibliotheken automatisch so implementiert)
  • Unterordner können frei benannt werden
  • Unterordner können rekursiv organisiert werden
  • In jedem Ordner (auf allen Ebenen) gibt es eine obligatorische Metadaten-Datei mit dem Namen dc.xml.
  • Zusätzlich kann jeder Ordner (auf allen Ebenen) eines der folgenden Dinge enthalten (aber nicht beides!):
    • einen oder mehrere Unterordner
    • eine Datendatei, die frei benannt werden kann (ausser dc.xml)

Eine formale Definition der Struktur:

<rootfolder>     ::=  <metadata file> <children>*
<metadata file> ::= dc.xml
<children> ::= <folder>* | <file>
<folder> ::= <metadata file> <children>*
<file> ::= filename.ext

Beispiele für Container-Struktur

  • Beispiel 1: Container mit einer einzigen Datei
data/
├── dc.xml
└── filename1.ext
  • Beispiel 2: Container mit mehreren Dateien
data/
├── dc.xml
├── folder1
│ ├── dc.xml
│ └── fileA.ext
├── folder2
│ ├── dc.xml
│ └── fileB.ext
└── folder3
├── dc.xml
└── fileC.ext
  • Beispiel 3: komplexe Struktur mit mehreren Dateien
data/
├── dc.xml
├── folder1
│ ├── dc.xml
│ ├── folder2
│ │ ├── dc.xml
│ │ └── file3.ext
│ └── folder4
│ ├── dc.xml
│ └── folder5
│ ├── dc.xml
│ └── file5.ext
├── folder6
│ ├── dc.xml
│ └── file6.ext
└── folder7
├── dc.xml
└── folder8
├── dc.xml
└── folder9
├── dc.xml
└── file8.ext

Spezifikation für Metadaten

Die Metadaten sind auf das Dublin Core Metadata Element Set beschränkt, d.h. auf 15 Elemente (dc 1.1-Begriffe, siehe http://dublincore.org/documents/dcmi-terms/#section-3).

Darüber hinaus gelten die folgenden Beschränkungen:

  • Das Identifier Feld ist für jede Stufe in dc.xml obligatorisch und muss enthalten:
    • Für jede Stufe: der Client Application Identifier des Objekts mit dem Präfix clientid: (z.B. clientid:1234567 oder clientid:d4FTw3v6T).
    • Für das Wurzelobjekt ein obligatorischer Identifikator mit dem Kundennamensraum im Repository (dies ist oft der ISIL-Code) mit vorangestelltem namespace:, z.B. namespace:CH-1234-1.
  • Das Title Feld ist für jede Stufe in der dc.xml-Datei obgliatorisch. Es ist nicht wiederholbar. Alle anderen 13 Felder sind optional und wiederholbar:
    • Creator (z.B. die Autoren (können Personen oder Körperschaften sein). Bei mehreren Autoren kann das Feld wiederholt werden.)
    • Subject (z.B. Schlagwörter. Bei mehreren Schlagwörter kann das Feld wiederholt werden.)
    • Description (eine Beschreibung des Objektes oder des Ordners)
    • Publisher
    • Contributor
    • Date (gemäss ISO-8601, z.B. 2018-11-30)
    • Type
    • Format
    • Source
    • Language
    • Relation
    • Coverage
    • Rights

Beispiele für Metadaten

  • Beispiel 1: Minimale Metadaten für den Wurzelknoten
<?xml version="1.0" encoding="UTF-8"?>

<metadata
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:title>Minimalist Example</dc:title>
<dc:identifier>namespace:CH-123456-12</dc:identifier>
<dc:identifier>clientid:12345</dc:identifier>
</metadata>
  • Beispiel 2: Vollständige Metadaten für den Wurzelknoten
<?xml version="1.0" encoding="UTF-8"?>

<metadata
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:title>All fields are set</dc:title>
<dc:creator>Atreid, Leto</dc:creator>
<dc:creator>docuteam</dc:creator>
<dc:subject>dublincore</dc:subject>
<dc:subject>package</dc:subject>
<dc:subject>format</dc:subject>
<dc:description>Description of the docuteam dublin core package format, v. 1.0.</dc:description>
<dc:publisher>docuteam</dc:publisher>
<dc:contributor>Smith, John</dc:contributor>
<dc:contributor>Jaquard, Paul</dc:contributor>
<dc:date>2018-11-05</dc:date>
<dc:type>Text</dc:type>
<dc:format>application/pdf</dc:format>
<dc:identifier>namespace:CH-123456-12</dc:identifier>
<dc:identifier>clientid:999full</dc:identifier>
<dc:source>Dublin Core Package Structure (https://docs.google.com/document/d/ 1lxqiqkmlNYVWlwJSsIe4b5DwJxN6DZqNvpo0MouAFIA/edit)</dc:source>
<dc:language>en</dc:language>
<dc:relation>docuteam bridge api for client applications</dc:relation>
<dc:coverage>2018-2022</dc:coverage>
<dc:coverage>Baden</dc:coverage>
<dc:rights>CreativeCommons CC-By</dc:rights>
</metadata>