Logisch und physikalisch optimierte Semantic Web Datenbank-Engine
Zusammenfassung der Projektergebnisse
Die Vision des Semantic Webs gegenüber herkömmlichen Datenbank Management Systemen und Web- Anwendungen ist es, bei der maschinellen Verarbeitung von Symbolen die Bedeutung des Symbols mit einfließen zu lassen, damit bei automatischer Integration von Daten und Services Fehlerraten von falsch abgebildeten Daten und Services verringert werden können. Es gibt beim World Wide Web Consortium (W3C), in der Industrie und in der Forschung zurzeit wesentliche Anstrengungen, das Semantic Web sowohl von den Spezifikationen wesentlicher Formate und Sprachen als auch den zu Grunde liegenden Technologien und Produkten weiter zu entwickeln. Momentane Semantic Web Applikationen besitzen oftmals noch große Performanzprobleme. Das Ziel dieses Projektes wurde erreicht, für Semantic Web-Daten und -Sprachen logische und physikalische Optimierungen im Hinblick auf die konkreten Spezifika der Semantic Web-Daten und - Sprachen zu erforschen, damit bei Semantic Web-Applikationen die Performanz verbessert wird. Wir führen dieses in den folgenden Absätzen kurz überblicksartig aus: Insbesondere wurden dafür zwei unterschiedliche Indexierungsansätze entwickelt. Der erste Indexierungsansatz steigert die Performanz von hauptspeicherbasierten Semantic Web Datenbanken maßgeblich, während der zweite Ansatz Anfragen auf sehr großen Datensätzen mit über 1 Milliarde Tripel so beschleunigt, dass die Beantwortung von Anfragen auf diesen Datensätzen überhaupt erst in vernünftiger Zeit möglich ist. Strombasierte Auswertung arbeitet gemeinhin auf möglicherweise unendlichen Datenströmen, d.h., Anfragen müssen z.B. in periodischen Zeitabständen ausgewertet werden bevor alle Daten des Datenstromes gelesen werden konnten. Wir haben solch einen strombasierten Anfrage-Evaluator entwickelt und wollen damit die Vorteile strombasierter Anfrage-Evaluatoren anhand eines aus EBay-Auktionen erzeugten Datenstromes demonstrieren. Eine Basisoperation bei der Indexkonstruktion für große Datensätze ist das externe Sortieren. Wir haben eine Variante des externen Sortierens erforscht, die zwar die Größe von initialen Läufen vergrößert und damit die Mischphase beschleunigt, dafür aber nicht so viel Rechenzeit verwendet wie die Standardmethode Replacement Selection. Weiterhin haben wir das Verteilungssortieren für die Indexkonstruktion von Semantic Web Datenbanken spezialisiert, welches die größten Performanzgewinne erzielt. Unser System unterstützt Inferenz von neuen Daten basierend auf RDF Schema Ontologien. Hierbei werden insbesondere logische Optimierungen angewendet, um a) Inferenz zu materialisieren, b) nur in Ontologiedaten zu schließen, und b) Anfragen gemeinsam mit Inferenzregeln zu optimieren (und damit Inferenz nicht zu materialisieren). Um konform mit der Spezifikation der RDF Anfragesprache SPARQL zu sein, ganz SPARQL 1.0 zu unterstützen und trotzdem nicht zu viele Fälle bei der Implementierung von SPARQL verarbeitenden Systemen und Applikationen betrachten zu müssen, haben wir einen Transformator entwickelt, der SPARQL-Anfragen in eine gleichmächtige Teilmenge von SPARQL namens CoreSPARQL überführt. CoreSPARQL enthält dabei weniger Sprachkonstrukte, so dass bei der maschinellen Verarbeitung von CoreSPARQL Anfragen nur das Mindestmaß an Sprachkonstrukten berücksichtigt werden muss. Wir haben festgestellt, dass die Verwendung dieses Moduls uns nicht nur bei der Entwicklung von Anfrage- Evaluatoren geholfen hat, sondern auch zum Beispiel bei einem Visuellen Anfragesystem für SPARQL-Anfragen. Dieses Visuelles Anfragesystem unterstützt daher ganz SPARQL 1.0, kann Vorschläge für Anfrageverfeinerungen basierend auf einem gegebenen Datensatz machen, und natürlich die Anfrage visuell editieren und serialisieren.
Projektbezogene Publikationen (Auswahl)
- Challenges and Future Trends in Querying Semantic Web Data Streams, in: Lawrence I. Spendler (editor), Data Mining and Management, Nova Science Publishers, 2009
Sven Groppe, Jinghua Groppe
- “Efficient Processing of SPARQL Joins in Memory by Dynamically Restricting Triple Patterns”, 24th ACM Symposium on Applied Computing (ACM SAC 2009), Waikiki Beach, Honolulu, Hawaii, USA, 2009
Jinghua Groppe, Sven Groppe, Sebastian Ebers, Volker Linnemann
- “LuposDate: A Semantic Web Database System”, 18th ACM Conference on Information and Knowledge Management (ACM CIKM 2009), Hong Kong, China, 2009
Jinghua Groppe, Sven Groppe, Andreas Schleifer, Volker Linnemann
- “Optimization of SPARQL by using coreSPARQL”, 11th International Conference on Enterprise Information Systems, Milan, Italy, 2009
Jinghua Groppe, Sven Groppe, and Jan Kolbaum
- „Nutzung von MEDLINE und MeSH für das Benchmarking von RDF-Speichersystemen“, 54. gmds-Jahrestagung 2009 - Deutsche Gesellschaft für Medizinische Informatik, Biometrie und Epidemiologie e.V., Essen, Germany, 2009
Linnepe, D., Groppe, S., Ingenerf, J.
- “External Sorting for Index Construction of Large Semantic Web Databases”, 25th Symposium On Applied Computing (ACM SAC 2010), Sierre, Switzerland, 2010
Sven Groppe, Jinghua Groppe