Was kann ich mit d:swarm machen? Um den aktuellen Funktionsumfang von d:swarm zu veranschaulichen, wollen wir Ihnen einige beispielhafte Transformationen näher beschreiben:
- Wie kann mit Hilfe von d:swarm das RDA Element Publication Statement aus MAB erzeugt werden?
- Wie kann mit Hilfe der von d:swarm bereitgestellten Transformationsfunktionen eine 10- oder 13-Stellige ISBN ergänzt werden?
- Wie kann die jeweilige Ressource über eine stabile http-uri verlinkt werden?
Zur Veranschaulichung haben wir einen Beispieldatensatz „zoologie“ erstellt und diesen in unserer Demo-Installation (http://demo.dswarm.org) im Projekt „Example1“ verwendet. In unserer Anwenderdokumentation finden Sie eine tabellarische Übersicht aller Mappings des Beispielprojekts.
Das erste zu betrachtende Attribut unseres Zielschemas (bibo:Document) ist das RDA-Element „publication statement“. Der Inhalt dieses Attributes speist sich aus den MAB-Feldern 410 (Verlagsort), 412 (Verleger), und 425 (Erscheinungsjahr) des o.g. Beispieldatensatzes „zoologie“. Die Erstellung eines Mappings erfolgt durch die Verknüpfung eines Elements des Quellschemas mit einem Element des Zielschemas. Dazu wird das erste benötigte Quellelement und das gewünschte Zielelement mit einem Mausklick aktiviert, was bei der Bearbeitung von MAB-Datensätzen eine Dialogmaske öffnet, welche die weitere Parametrisierung der benötigten Attributpfade erheblich erleichtert.
Der Dialog verlangt die Vergabe eines zum Mapping gehörenden Namens und ermöglicht über den Button „add a key definition“ das Hinzufügen jeweils eines weiteren Quellattributs mit den Parametern MAB-Tag und ggf. Indikator. Im vorliegenden Mapping ergänzen wir als Name des Mappings „rda:publicationStatement“ sowie als Quellattribute die o.g. MAB-Tags für Verlagsort, Verleger und Erscheinungsjahr. Der Dialog wird mit „OK“ beendet, wodurch das Mapping zur weiteren Bearbeitung in das Transformation Logic Widget übernommen wird.
Im nächsten Schritt werden Trennzeichen definiert, die die einzelnen Bestandteile des Publication Statements aus der Datenquelle separieren, während sie in einem Zielelement zusammengefasst werden: Mit Hilfe der Transformationsfunktion „compose“ wird an den Inhalten des Quellattributes MAB-Tag „410“ ein Doppelpunkt angefügt. Durch die Parametrisierung eines Leerzeichens als „delimiter“ der Funktion „concat“ werden die Quellattribute in der gewünschten Form voneinander getrennt und zu einem einzelnen String transferiert.
Das fertige Zielelement Publication Statement enthält damit den String „Frankfurt am Main: Fischer-Taschenbuch-Verl. 1963“.
Das zweite Element unseres Zielschemas, dessen Mapping wir im Folgenden beschreiben, ist der Bibliographic Ontology Tag „ISBN“. Da der Quelldatensatz nur die 10-stellige ISBN enthält, werden wir die 13-stellige mit Hilfe der Transformationsfunktion „isbn“ im Zielschema ergänzen.
Wir erstellen dazu wieder ein Mapping mit der notwendigen „key definition“, im vorliegenden Fall ist dies der MAB-Tag „540“ und der Indikator „a“. Für das Mapping vergeben wir den Namen „bibo:isbn (10)“. Die Ergänzung der 13-Stelligen Variante erfordert ein weiteres separates Mapping des gleichen Quellpfades, dass abweichend den Namen „bibo:isbn (13)“ erhält. Hier ist der Klick auf „New Mapping“ zu wählen, da sonst eine Verknüpfung mit dem bereits bestehenden Mapping erfolgt und die Daten konkateniert (aneinandergehängt) würden.
Im Transformation Logic Widget ergänzen wir an beiden Mappings die Transformationslogik um die Funktion „isbn“ und nehmen die entsprechende Parametrisierung vor. Für das Mapping „bibo:isbn (10)“ wählen wir den Parameter „clean“, damit wirklich nur die ISBN-Daten und keine weiteren Zeichen aus der Datenquelle übernommen werden. Für das Mapping „bibo:isbn (13) verwenden wir den Parameter „isbn13“.
Nach Ausführung der Transformation enthält das Zielelement bibo:isbn sowohl die 10- als auch die 13-stellige Variante der ISBN.
Das dritte und letzte Element unseres Zielschemas, dessen Mapping wir anhand unseres Beispieldatensatzes beschreiben wollen, ist „owl:sameAs“. Mit Hilfe dieses Elementes soll eine verlässliche http-uri bereitgestellt werden, die auf die jeweilige Ressource verweist. Von der Quellseite wird dazu der Inhalt des MAB-Feldes 001 (Identifikationsnummer PPN BSZ) gemappt, „key definition“ und Name des Mappings werden analog zu den beiden ersten Beispielen vergeben.
Um aus der ID eine auflösbare URI zu machen wird die Transformationslogik um die Funktion „compose“ ergänzt. Die ID erhält mit Hilfe dieser Funktion das Prefix „http://hub.culturegraph.org/about/BSZ-“ und das Postfix „/html“.
Der resultierende String „http://hub.culturegraph.org/about/BSZ-033314047/html“ wird durch die Ausführung der Transformation in das Zielschemaelement „owl:sameAs“ übernommen.
Dies ist nur ein kleines Beispiel, um die grundlegende Vorgehensweise zu verdeutlichen. Was wollen Sie mit d:swarm machen? Schildern Sie uns Ihre Anwendungsfälle auf unserer öffentlichen Mailingliste und wir antworten, wie Sie das mit d:swarm realisieren können.