Wie bekomme ich meine Daten ins
Semantic Web
Was benötigt ihr System
Herunterladen der Applikation
Entpacken der Applikation
Erzeugen eines MappingFile
Automatisch erzeugtes MappingFile
Konfigurieren des MappingFile
Erzeugen der RDF Datei
TranslationTable
Eine d2rq:TranslationTable ist eine zusätzliche Schicht
zwischen Datenbank und RDF. Es werden zwischen Werten der Datenbank
und RDF URIs bzw. Literale in beide Richtungen übersetzt. Eine
TranslationTable kann zu einer ClassMap bzw. PropertyBridge mit der
d2rq:translateWith Eigenschaft hinzugefügt werden.
TranslationTables können nur bei einem einzigartigen Mapping
(1:1) verwendet werden.
Eigenschaften
|
d2rq:translation
|
Fügt eine d2rq:Translation zu der Tabelle
|
|
d2rq:href
|
Verlinkt zu einer CSV Datei, welche Translations enthält.
Jede Zeile ist eine Translation und enthält zwei durch ein
Komma geteilte Strings. Der Erste ist der Datenbankwert, der
Zweite der Wert des RDFs.
|
|
d2rq:javaClass
|
Der name einer Java Classe, die das Mapping durchführt.
Diese Classe muss dieses Translator
Interface implementieren. Benutzerdefinierte Translators können
beispielsweise für kodieren und dekodieren hilfreich sein,
sind aber auf 1:1 Translations limitiert. Mehr Informationen
finden sie in der Translator
Javadoc.
|
Translation
Ein d2rq:Translation ist ein Eintrag in einer
d2rq:TranslationTable.
Eigenschaften
|
d2rq:databaseValue
|
Ein Wert, welcher in einer Datenbankspalte vorkommen kann bzw.
von einem d2rq:pattern ereugt wurde
|
|
d2rq:rdfValue
|
Die Übersetzung dieses Wertes, der in der RDF-Datei
verwendet wird
|
Beispiel: Übersetzen von Farben-Codes
Eine typische Anwendung sind Datenbankspalten, die Codes enhalten.
Eine TranslationTable kann nun verwendet werden um diese Codes in die
RDF Dateien zu bringen. In diesem Beispiel enhält die Spalte
ShinyObject.Color die Farben-Codes „R“ für red und „G“
für green. Diese Codes müssen im RDF in red, green, ...
übersetzt werden
:red a :Color;
:green a :Color;
# ... more colors omitted ...
:blue a :Color;
map:ColorBridge a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:ShinyObjectMap;
d2rq:property :color;
d2rq:uriColumn "ShinyObject.Color";
d2rq:translateWith map:ColorTable.
map:ColorTable a d2rq:TranslationTable;
d2rq:translation [ d2rq:databaseValue "R"; d2rq:rdfValue :red; ];
d2rq:translation [ d2rq:databaseValue "G"; d2rq:rdfValue :green; ];
# ... more translations omitted ...
d2rq:translation [ d2rq:databaseValue "B"; d2rq:rdfValue :blue; ].
Das d2rq:translateWith Statment sagt D2RQ, dass es die Datenbankwerte
in der map:ColorTable suchen soll. Dort müssen Übersetzungen
für jeden möglichen Wert stehen. Falls die Datenbank Werte
enhält, die nicht in der TranslationTable stehen, so wird kein
:color Statement für diese :ShinyObject Instanz generiert.
|