R2D2 – Mapping zwischen relationalen Daten und RDF

Werbung
R2D2 – Mapping zwischen relationalen Daten und RDFbasierten Ontologien
Christian Lehmann
Universität Leipzig
Institut für Informatik
Augustusplatz 10-11, 04109 Leipzig, Germany
[email protected]
Abstract
gesetzt werden. Als Grundlage für das Semantic
Web werden die drei Basistechnologien XML
Das Semantic Web soll die unüberschaubare
(eXtensible Markup Language) [2], RDF (Resource
Masse an Daten des World Wide Web durch
Description
Metadaten, die mittels RDF beschrieben werden,
eingesetzt.
besser
strukturieren
und
Language)
[3]
und
Ontologien
maschinenlesbar
XML ist eine Auszeichnungssprache, welche
machen. Dabei spielt die Transformation der
die Vorteile von SGML (Standard Generalized
bereits in relationalen Datenbanken abgelegten
Markup Language) [4] und HTML (Hypertext
Daten nach RDF eine essentielle Rolle. Ein
Markup Language) [5] miteinander vereint. Für die
Mapping-Mechanismus, welcher Anfragen von
Anwendung im Web erwies sich der Einsatz von
RDF-Anwendungen
SGML
auf
relationale
Daten
als
grundsätzlich
zu
teuer
und
zu
abbildet, bietet eine komfortable Umsetzung ohne
kompliziert. Sämtliche semantischen Erweiterungen
Replikation der bestehenden
Dieses
in HTML erwiesen sich hingegen als permanent
Expose beschreibt R2D2, ein Mapping-Werkzeug
inadäquat. Dies führte zur Entwicklung von XML,
zur Abbildung von relationalen Daten auf RDF-
welches die wichtigsten Funktionen von SGML zur
basierte. R2D2 soll in PHP implementiert werden
Verfügung stellt und die bekannten Dinge aus
und als Basis RAP nutzen.
HTML nutzt. RDF unterstützt die Integration von
1
Daten.
Metadaten und benutzt XML zur Beschreibung der
Einleitung
Daten durch das Tripel Subjekt-Prädikat-Objekt.
Das WWW (World Wide Web) bietet eine
Dadurch werden Aussagen wie, „Leipzig“ (Subjekt)
unüberschaubare Menge an gespeicherten Daten,
„befindet
die vor allem in relationalen Datenbanksystemen
„Sachsen“ (Objekt) möglich. Ontologien sind
gehalten werden. Die Inhalte werden vornehmlich
Wissensbasen und dienen der Konzeption einer
durch CMS (Content Management Systeme)
Spezifikation
abgelegt und verwaltet und bei einer Anfrage
Metadaten. Eine Ontologie benutzt die in RDF
dynamisch aus den in Datenbanken abgelegten
spezifizierten Daten und Beziehungen, um einer
Daten ausgelesen. Die Vielzahl an Daten ist
Anwendung
maschinell nur sehr schwer zu durchsuchen und
Zusammenhänge zwischen den Daten deutlich zu
zu verwalten. Das Semantic Web ist eine
machen.
Initiative zur Erschaffung eines Netzes von Daten
sich
in“
durch
mit
(Prädikat
eine
Hilfe
/Eigenschaft)
Beschreibung
von
der
Inferenzregeln
Zur Überführung des derzeitigen WWW in ein
Datenformate
semantisches Web existieren verschiedene Ansätze.
austauschbar und über semantische Inhalten
Die uninterpretierten Daten befinden sich meist
[1],
in
welchem
verbreitete
interpretierbar
werden.
maschinenlesbare
Daten
um
dadurch
in relationalen Datenbanksystemen. Ein Mapping
Dies
der relationalen Daten in RDF-Triples wäre eine
geschieht, indem die Daten mit Metadaten
komfortable und kostengünstige Alternative zu
zu
erhalten.
versehen und mit anderen Daten in Beziehung
einer
aufwändigen
Überführung
dieser
relationalen Datenbank automatisch in das RDF-
Datenmassen in eine RDF-basierte Datenhaltung.
Format überführt.
2
REVERSE [8], ein Prototyp zur Abbildung von
Eine
Status Quo: Datenmanagement
zwischen SQL und RDF
relationalen Datenbanken gibt es verschiedene
Ansätze [6]. Einerseits existieren Systeme, welche
RDF-Tripel in relationalen Datenbanken ablegen
und diese direkt ansprechen können. Hierzu bietet
beispielsweise das Jena Framework [7] ein API
zur Speicherung und Abfrage von RDF-Tripels in
einer Datenbank. Auf der anderen Seite gibt es
Möglichkeiten eine konventionelle relationale
Datenhaltung auf RDF- Tripel abzubilden.
Einsatz
eines
Mappings
zwischen
relationalen Daten und RDF Ontologien empfiehlt
sich
aufgrund
zwei
wesentlicher
Entwicklung
bildet
KAON
Inhalten relationaler Datenbanken auf Ontologien,
Für eine Datenhaltung von RDF-Tripeln in
Der
frühe
welcher sowohl die Ablage von Instanzdaten als
auch die Anfrage dieser Daten ermöglicht [9]. Eine
weitaus umfangreichere Implementierung bietet
D2RQ [10]. D2RQ ist eine deklarative Sprache,
welche
eine
Abbildung
zwischen
applikationsspezifischen
Datenbankenschemata
relationalen
und
RDF-S/OWL
Ontologien beschreibt [11]. Das Open Source
Projekt D2RQ wurde in Java implementiert und
kann RDF-Daten in einen auf dem Jena API
basierenden virtuellen RDF-Graphen behandeln.
3
Ziele
Gründe.
Zunächst krankt der Einsatz von Semantic Web-
Für die Realisierung eines Mapping-Werkzeugs
Technologien an der Umsetzung bestehender
werden zwei wesentliche Ziele zusammengefasst:
Daten in Semantic Web Technologien. Derzeitige
1.
Implementierung
einer
Beschreibungs-
CMS, Foren und Web Shops greifen auf ein
sprache, welche die Beziehungen zwischen
relationales
einem relationalen Datenbankschema und
Datenbankschema
zurück
und
müssten somit manuell in eine RDF-Ontologie
überführt werden oder mit Semantic Web-
RDF-Ontologien herstellt.
2.
Implementierung eines Mappings von RDF-
Inhalten erweitert werden. Mit Hilfe eines
Anfragen auf die relationalen Daten auf
Mappings wäre eine automatische Überführung
Grundlage der Beschreibung. Die gefunden
möglich. Weiterhin führt die Speicherung der
Daten sollen anschließend als RDF-Triple
relationalen Daten in RDF-Format zu einer
zurückgegeben werden.
Replikation der Daten, die beim Einsatz eines
In
einem
ersten
Schritt
soll
die
Mapping-Werkzeugs wegfällt. Wird ein RDF-
Abbildungsbeschreibung der Beschreibungssprache
Triple Store eingesetzt, so müssen die relationalen
zunächst
Daten entweder vollständig in RDF-Tripels
Konfigurationsdatei erstellt werden. Später soll es
transferiert werden, oder redundant gehalten
möglich sein, eine automatische Map erstellen zu
werden. Die redundante Datenhaltung ist nötig,
lassen, welche Eigenschaften der relationalen Daten
um bestehende Web-Anwendungen weiterhin
ausließt
nutzen zu können. Ein Mapping-Mechanismus
auslesbare Daten mit Default-Werten versieht.
hingegen kann die relationalen Daten sowohl
Weiterhin soll in der ersten Stufe zunächst nur das
bestehenden
auch
Lesen von Daten in einer relationalen Datenbank
Semantic Web-Anwendungen zur Verfügung
möglich sein. In einer erweiterten Form soll sowohl
stellen, ohne eine redundante Datenhaltung zu
das Einfügen (Insert) als auch Ändern (Update) von
erfordern. Lediglich die Schnittstelle beschreibt,
Daten möglich sein, um ein bestehendes System
ob relationale Daten oder RDF-Tripel erwartet
weiter betreiben zu können und die Vorteile von
werden. Dem Anwender wird somit ein im
herkömmlichen
Hintergrund arbeitendes Werkzeug an die Hand
können.
Web-Anwendungen
als
gegeben, welches seine bestehenden Daten der
manuell
und
zuordnet
mit
Hilfe
beziehungsweise
Datenbanksystemen
einer
nicht
nutzen zu
Grundlage für die Implementierung bildet
[4] Overview of SGML Resources. November
D2RQ. Die zu implementierende Sprache R2D2
1995. http://www.w3.org/MarkUp/SGML/
(RDF to Database too) soll allerdings nicht in
Java, sondern in PHP entwickelt werden. PHP
[12] ist eine weit verbreitete und universelle
[5] ´perText Markup Language (HTML) Home
Page. 06.02.2006. http://www.w3.org/MarkUp/
[6] Beckett, D., Grant, J.: Mapping Semantic Web
Skriptsprache, die vor allem zur Entwicklung im
Data with RDBMSes. June 2004,
Web eingesetzt wird und leicht in HTML
http://www.w3.org/2001/sw/Europe/reports/sca
eingebettet
lable_rdbms_mapping_report/
werden
kann.
Durch
diese
Eigenschaften entsteht die Möglichkeit, ein
[7] Jena – A Semantic Web Framework for Java,
Mapping-Werkzeug direkt in Web-Technologien
März 2006. http://jena.sourceforge.net/
zu integrieren. In D2RQ werden die direkten
[8] Stojanovic, N., Stojanovic, L., Volz, R.: A
Anfragen auf die relationalen Daten weiterhin
reverse engineering approach for migrating
durch die Jena API durchgeführt. Eine ähnlich
data-intensive web sites to the Semantic Web,
komfortable API für PHP bietet das Open Source
IIP-2002, Montreal, 2002
Projekt RAP (RDF API for PHP) [13]. Die von
[9] KAON – The KArlsruhe Ontology and
R2D2 abgebildete Anfrage auf die Datenbank soll
Semantic Web Tool Suite.
somit über RAP realisiert werden.
http://kaon.semanticweb.org/. Oktober 2005
[10] Bizer, Ch., Cyganiak, R., Garbers, J., Maresch,
4
Zusammenfassung und Ausblick
O.: D2RQ V0.4-Treating Non-RDF Databases
In diesem Expose wurden grundlegende Ziele
von R2D2 beschrieben – einem MappingWerkzeug zur Abbildung von RDF-Ontologien
auf relationale Datenbankschemata. Dazu wurde
zunächst der aktuelle Stand der Datenhaltung von
Semantic
Web-Anwendungen
Mapping-Mechanismus
diskutiert.
erwies
sich
Ein
als
komfortable Möglichkeit, bestehende relationale
Daten auf RDF-Tripel abzubilden.
Die
Implementierung
wesentliche
von
Eigenschaften
entwickelten
R2D2
soll
in
Java
des
Mapping-Werkzeugs
D2RQ
übernehmen. Aufgrund der weiten Verbreitung
von
PHP
soll
R2D2
allerdings
in
PHP
implementiert werden. Der weitere Projektverlauf
wird unter http://sourceforge.net dokumentiert
und dort nach der Implementierungs- und
Testphase verfügbar sein.
Literatur
[1] Semantic Web, W3C. 15.03.2006.
http://www.w3c.org/2001/SW/
[2] Extensible Markup Language (XML).
05.02.2006. http://www.w3.org/XML/
[3] Resource Description Language (RDF).
09.03.2006. http://www.w3c.org/RDF/
as Virtual RDF Graphs, Projekt Homepage,
http://www.wiwiss.fuberlin.de/suhl/bizer/d2rq/, 25.10.2005
[11] Bizer, Ch., Seaborne, A.: D2RQ-Treating NonRDF Databases as Virtual RDF Graphs. 3rd
International Semantic Web Conference
(ISWC2004). Hiroshima, November 2004
[12] The PHP Group: PHP Homepage,
http://www.php.net.
[13] RAP – RDF API for PHP V0.9.3. 16.01.2006.
http://www.wiwiss.fuberlin.de/suhl/bizer/rdfapi/
Herunterladen