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/