Auf dieser Seite finden Sie

CSV


CSV allgemein

CSV (Comma-Seperated Values, selten auch Character-Separated Values) ist ein textbasiertes Datenaustauschformat, in dem einzelne Records abgebildet werden, deren Felder und Werte z. B. durch Kommata voneinander getrennt werden. Anhand dieser können IT-Systeme erkennen, wann ein Wert beginnt und endet. Auf welche Weise einzelne Werte beim Datenimport interpretiert werden, hängt neben den Trennzeichen auch von der Reihenfolge der Datenwerte ab.

Für den genauen Aufbau von CSV-Dateien gibt es keinen einheitlichen Standard, was zu einer großen Anzahl von Interpretationsmöglichkeiten dieser führt. Allerdings gibt es einige grundlegende Konventionen, denen die meisten CSV-Dateien folgen:

  • Jede Zeile innerhalb einer CSV-Datei repräsentiert einen Record. 
  • Jeder Metadaten-Wert ist durch ein Trennzeichen vom nächsten Wert abgegrenzt. Leerzeichen müssen dann nicht als Trennzeichen gelten, sondern können Teil des Feldinhalts sein.
  • Optional kann die erste Zeile als CSV-Header verwendet werden. Dieser definiert dann die Metadatenfelder für die Records ab Zeile 2. Die Feldbezeichner werden durch die gleichen Trennzeichen (z. B. Kommata) getrennt, wie die Felder der Records und korrespondieren mit den darunter liegenden Metadaten.
  • Der letzte Record einer CSV-Datei muss nicht zwingend mit einem Trennzeichen enden.

CSV-Dateien können zum Beispiel in MS Excel oder Libre Office erstellt und bearbeitet  werden. Mit Notepad++ können schon vorhandene CSV-Dateien ebenfalls bearbeitet werden. Dargestellt werden können sie dabei mitsamt ihrer Trennzeichen oder auch als Tabelle.



Weiterführende Infos:

RFC-Dokumentation für CSV



Gut zu wissen

Generell gilt es bei der Verwendung von CSV-Dateien darauf zu achten, dass Feldinhalte in denen das verwendete Trennzeichen genutzt wird, in Anführungszeichen gesetzt werden, z. B.

Titel,Autor,Mitwirkende/r,Datum
Dissertation,"Susanne Super, Erwin Einzig",Mark Meier,2023




CSV in Rosetta

Der CSV-Ingest ist eines von mehreren Ingest-Verfahren zur Überführung digitaler Ressourcen in das LZV-System Rosetta. Eine CSV-Datei dient hierbei als Quelle für Metadaten zu digitalen Ressourcen, die in Rosetta eingeliefert werden. 

Beim CSV-Ingest können Metadaten auf den Ebenen Submission Information Packages (SIP), Intellectual Entity (IE), Representation, File und Collection abgebildet werden. Neben deskriptiven Metadaten im Dublin-Core-Metadatenschema können auch administrative Metadaten im DNX-Schema nach Rosetta überführt werden. Der CSV-Ingest bietet sich damit - ähnlich wie der METS-Ingest - als Einlieferungsverfahren für komplexe digitale Ressourcen an.  

Die CSV-Ordnerstruktur bildet die Grundlage für SIPs, die in das Rosetta-System eingeliefert und dort zu Archival Information Packages (AIPs) weiterverarbeitet werden. Dabei beschreibt eine CSV-Datei jeweils ein SIP und enthält Metadaten zu 1-n IEs, REPs und Files sowie Metadaten zu einer aus mehren IEs bestehenden Collection.

Die Rosetta-Benutzeroberfläche bietet die Möglichkeit, Templates zur Erstellung von Rosetta-konformen CSV-Dateien zu generieren, in denen die jeweilige Metadatenstruktur für die einzuliefernden digitalen Ressourcen festgelegt wird. Erstellte CSV-Templates können aus Rosetta heruntergeladen und als Vorlage für die automatische Erstellung von CSV-Dateien genutzt werden. 

Damit ein CSV-Ingest in Rosetta erfolgreich stattfinden kann, sind einige Besonderheiten hinsichtlich CSV-Ordnerstruktur und Aufbau einer CSV-Datei zu beachten, die im Folgenden näher beschrieben werden.



Gut zu wissen

Beim CSV-Ingest ist die Übermittlung von deskriptiven und administrativen Metadaten nach Rosetta sowie die Abbildung komplexer digitaler Ressourcen möglich. Das CSV-Einlieferungsverfahren bietet dadurch mehr Optionen zur Dateneinlieferung als das BagIt-Einlieferungsverfahren.




Anforderungen an die CSV-Ordnerstruktur

Für einen halbautomatisierten CSV-Ingest wird eine Ordnerstruktur benötigt, die ebenso wie die beim METS-Ingest verwendete Ordnerstruktur der Rosetta-Konvention für Networking File System-Deposits (NFS-Deposits) entspricht.

Nutzdateien können entweder einzeln oder in einem .zip-Container gebündelt im Streams-Ordner abgelegt werden.






/PollingFolder/- (Ordner)

Beim Ingest werden die Daten aus diesem Ordner und den dazugehörigen Unterordnern (Subfolder) ausgelesen und in Rosetta eingeliefert. Dieser Ordner muss im Submission Format konfiguriert werden. Im vom hbz betriebenen Rosetta-System ist an dieser Stelle der Upload-Ordner der jeweiligen Institution auf dem I/O-Server anzugeben. Je nach Anzahl einzuliefernder SIPs befinden sich auf dieser Ebene ein oder mehrere SIP-Ordner.


/PollingFolder/SIPFolder/ (Ordner)

In diesem Unterordner SIP befindet sich der Ordner content.


/PollingFolder/SIPFolder/content/ (Ordner)

Im Ordner content befindet sich die CSV-Datei mit den beschreibenden Metadaten sowie der Ordner streams für die Nutzdateien.


/PollingFolder/SIPFolder/content/metadata.csv (Datei)

Der Name der CSV-Datei sollte dem des genutzten CSV-Templates entsprechen. Dieses wird im Bereich Content Structure auf der Rosetta Oberfläche angelegt und kann dort benannt werden.


/PollingFolder/SIPFolder/content/streams (Ordner)

Der Ordner streams enthält die Nutzdateien, die in Rosetta langzeitverfügbar gehalten werden sollen.




Anforderungen an Struktur und Inhalt einer CSV-Datei 

Trennzeichen, Pflichtfelder, hierarchische Struktur

Rosetta extrahiert Metadaten aus einer CSV-Datei Zeile für Zeile. Dabei repräsentiert jede Zeile unterhalb des CSV-Headers einen Record. 

Eine CSV-Datei muss verschiedene allgemeine Anforderungen hinsichtlich Trennzeichen, Pflicht-Metadatenfeldern und Abbildung der hierarchischen Ebenen einer digitalen Ressource (SIP - IE - REP - File) erfüllen, um von Rosetta beim Ingest verarbeitet werden zu können. Bei der Erstellung eines CSV-Templates über die Rosetta-Benutzeroberfläche werden diese Anforderungen automatisch umgesetzt. 




Gut zu wissen

Wie bei allen Einlieferungsverfahren sollen Metadaten auch beim CSV-Ingest möglichst vollständig nach Rosetta überführt werden. Bei deskriptiven Metadaten gilt, dass mindestens ein Identifier in dc:identifier sowie ein Rechtehinweis in dc:rights bzw. dcterms:license angegeben werden muss. 




Aufbau einer Rosetta-konformen CSV-Datei

  • Definition der Metadatenfelder im Header der CSV-Datei:
    • In der ersten Zeile findet sich der CSV-Header, der die Metadaten-Felder für die Records festlegt, die in der CSV-Datei aufgeführt werden.  
    • Pflicht-Metadatenfelder innerhalb einer Rosetta-CSV-Datei sind: 

      • Object Type: Bildet die hierarchische Struktur einer digitalen Ressource ab. Erlaubte Werte sind hier: SIP, Collection, IE, REP und File.
      • File Original Path:  Referenziert den Speicherort einer Nutzdatei. Das Feld File Original Path kann leer bleiben, wenn die vorgegebene Rosetta-Ordnerstruktur für CSV verwendet und im Submission Format ein Verweis zu dieser Ordnerstruktur im Feld NFS Path angegeben wird. 
      • File Original Name: Referenziert die Nutzdateien. Hier muss der Name der Nutzdatei inklusive deren Dateiendung aufgeführt werden, z. B. beispiel_datei.pdf. 
  • Komma als Trennzeichen in der CSV-Datei
    • Beim CSV-Ingest in Rosetta gelten ausschließlich Kommata als Trennzeichen. Vor dem ersten und nach dem letzten Record stehen keine Kommata. Bleibt ein Feldinhalt leer, folgen zwei Kommata direkt aufeinander.
  • Abbildung von Records für SIPs, Collections, IEs, Representations und Files in der CSV-Datei
    • Jede Zeile unterhalb des CSV-Headers repräsentiert einen Record. Hierbei gilt:

      • Records können auf allen Ebenen, also auf SIP-, Collection-, IE-, REP- und File-Ebene, abgebildet werden.
      • Metadaten-Werte zu jedem Record werden an der Stelle gelistet, wo das entsprechende Metadaten-Feld im Header aufgeführt ist.
      • Die hierarchische Struktur digitaler Ressourcen liest Rosetta Zeile für Zeile aus der Reihenfolge der Records ab. Unterhalb eines IE-Records muss daher immer der Record zur dazugehörigen Representation und darunter müssen wiederum die Records der dazugehörigen Files gelistet werden. Liegen mehrere Representations zu einer IE vor, muss das Feld Preservation Type verwendet werden und eine Zuordnung als PRESERVATION_MASTER , MODIFIED_MASTER, oder DERIVATIVE_COPY erfolgen.








Deskriptive, administrative und strukturelle Metadaten

Beim CSV-Ingest können deskriptive und administrative Metadaten an Rosetta übermittelt werden. Deskriptive Metadaten können auf den Ebenen SIP, Collection, IE, Representation und File abgebildet werden. Das hierfür vorgeschriebene Metadatenschema ist Dublin Core.

Darüber hinaus können beim CSV-Ingest auch ausgewählte DNX-Metadatenfelder für administrative Metadaten auf IE-, Representation- und File-Ebene ergänzt werden. Die Liste der verfügbaren Felder findet sich in der Konfiguration des CSV-Templates. 

Strukturelle Metadaten bilden die hierarchische Struktur von IEs, Representations und Files ab. Sie werden von Rosetta automatisch aus dem Feld Object Type und aus der Reihenfolge der Records in der CSV-Datei ausgelesen. Sie müssen nicht separat in der CSV-Datei aufgeführt werden.

Weiterführende Infos:

Mehr zum Thema Metadaten in Rosetta finden Sie auf diesen Wiki-Seiten:

Deskriptive Metadaten in Rosetta

Administrative Metadaten in Rosetta

Strukturelle Metadaten in Rosetta



Erstellen eines CSV-Templates in Rosetta

Ein CSV-Template bildet den Rahmen für eine Rosetta-konforme CSV-Datei. Im CSV-Template sind die für den Ingest gewünschten Metadatenfelder der einzuliefernden Nutzdateien festgelegt. Es muss über die Rosetta-Benutzeroberfläche unter Deposits: Deposit Arrangements → CSV Templates erstellt und konfiguriert werden. Ebenso ist es notwendig, das  CSV-Template innerhalb der Content Structure anzugeben. 

Auf der rechten Seite des Konfigurationsmenüs befindet sich eine Auswahl aller nutzbaren deskriptiven, administrativen und technischen Metadatenfeldern. Aus dieser können die Felder, die dem CSV-Template hinzugefügt werden sollen, nach links verschoben werden. Dies ist für alle Ebenen einer Ressource möglich, also für die SIP-, Collection-, IE-, REP- und File-Ebene.

Basierend auf den hier festgelegten Feldern wird dann das CSV-Template von Rosetta generiert, sobald es mit einer Content Structure verknüpft wurde. Die Pflichtfelder Object Type, File Original Name und File Original Path müssen nicht hinzugefügt werden. Sie werden von Rosetta automatisch an den richtigen Stellen eingefügt, wenn das Template generiert wird. Wird der Object Type Collection verwendet, werden die Felder Title (DC) und Is Part Of (DCTERMS), welche Pflichtfelder zur Collectionbildung sind, automatisch von Rosetta hinzugefügt.

Bei Bedarf kann dieses Template aus Rosetta heruntergeladen werden und als Vorlage für die automatische Erstellung von CSV-Dateien genutzt werden. 





Besonderheiten der Konfiguration eines Material Flows für den CSV-Ingest

Content Structure

Bei der Erstellung einer neuen Content Structure für einen CSV-Ingest muss der CSV Loader Converter ausgewählt werden. In der Konfiguration wird mittels Drop Down-Menü ein vorher erstelltes CSV-Template ausgewählt.



Unter Generate CSV Option wird ausgewählt, wie Rosetta die Nutzdateien beim Ingest zu IEs verarbeiten soll. Diese Optionen sind hier:

  • Simple: jede Nutz-Datei bildet jeweils eine IE
  • Complex: aus allen Nutz-Files wird eine IE
  • Collections: jedes File bildet eine IE  und alle IEs werden zusätzlich zu einer neuen Collection in Rosetta zusammengefasst

Mit einem Klick auf Download CSV Template wird das Template heruntergeladen und kann lokal gespeichert werden, um die generierten Felder mit Metadaten zu befüllen.


Weiterführende Infos:

Mehr zum Thema Material Flow finden Sie auf dieser Wiki-Seite:

Material Flow-Konfiguration



Submission Format

Bei CSV-Ingests können zwei Submission Formats ausgewählt werden:  

  • NFS 
    • Hierbei werden die Ressourcen per NFS aus einem Verzeichnis oder von einem Server geingested. Dafür muss im Feld NFS Path der richtige Dateipfad oder eine valide URL angegeben werden. Das Feld Name ist ein Pflichtfeld. Zudem sollte ein Häckchen in Allow Navigation gesetzt werden.


  • Detailed
    • Hierbei handelt es sich um ein Submission Format, das Rosetta Out-of-the-Box zur Verfügung stellt. Dieses Format eignet sich für manuelle und halbautomatisierte Ingests, bei denen sich die Nutzdateien in einem ZIP-Archiv befinden. Das Archiv muss verpflichtend die Endung .zip haben, um von Rosetta verarbeitet werden zu können.





Metadata Form

Da für einen CSV-Ingest kein Metadata Form benötigt wird, kann hier unter Select Metadata form das bereits hinterlegte Generic Metadata Form genutzt werden.





  • Keine Stichwörter