In dieser Seminararbeit wird der Aufbau von Xcerpt, einer experimentellen, regel- und musterbasierten Anfrage- und Transformationssprache für XML und semistrukturierte Daten, vorgestellt sowie die Funktionsweise beschrieben. Dazu werden zunächst die Basiskonstrukte vorgestellt, aus denen ein Xcerpt-Programm grundsätzlich besteht. Anschließend wird die Anordnung der Basiskonstrukte in Xcerpt
beschrieben. Da es bisher nur wenig Literatur zum Thema gibt, beschränkt sich die Arbeit vorwiegend auf den Artikel von Bry und Schaffert. (vgl. Bry/Schaffert 2002) Die Beispiele sind dabei zum größten Teil übernommen wurden. Da es sich dabei jedoch um eine Arbeit aus dem Jahr 2002 handelt, zeigten sich bezüglich der Syntax der Anfragen im Vergleich mit dem aktuellen Prototyp einige Abweichungen. In dieser Arbeit wurde die aktuelle Syntax (Xcerpt2) verwendet.
Inhaltsverzeichnis
1 Einleitung
2 Basis-Konstrukte von Xcerpt
2.1 Database Terms
2.2 Query Terms
2.2.1 Allgemeines
2.2.2 Der Konstruktor -> (“as”)
2.2.3 Der Konstruktor desc (descendant)
2.3 Construct Terms
2.3.1 Allgemeines
2.3.2 Der Konstruktor all
2.3.3 Der Konstruktor some
3 Aufbau eines Xcerpt Programms
3.1 Construct-Query-Rules
3.2 Goals
3.3 Rule Chaining
4 Weitere Konstrukte von Xcerpt
4.1 Attribute
4.2 Groups
5 Ausblick und zukünftige Herausforderungen
Zielsetzung und thematische Schwerpunkte
Ziel dieser Arbeit ist die Einführung in die experimentelle, musterbasierte Anfrage- und Transformationssprache Xcerpt für XML und semistrukturierte Daten, wobei insbesondere der Aufbau und die Funktionsweise anhand von Praxisbeispielen erläutert werden.
- Grundlagen von Database, Query und Construct Terms
- Anwendung von Mustern und Variablen zur Datenabfrage
- Strukturierung von Xcerpt-Programmen durch Regeln und Ziele
- Mechanismen der Datentransformation und des Rule-Chainings
- Erweiterte Konzepte wie Attribute und Gruppierungen
Auszug aus dem Buch
2.2 Query Terms
Query Terms sind Muster oder Schablonen die auf Database Terms angewendet werden. Nur wenn der Database Term in das Muster passt, wird er selektiert und anschließend ausgewertet. Nach Bry und Schaffert haben Query Terms folgende Eigenschaften:
1.) in einem Query Term ist es möglich, partielle Termspezifikationen zu verwenden, um irrelevante Teile auszulassen
2.) in einem Query Term können Teilterme, wie in Database Terms, geordnet oder ungeordnet sein
3.) in einem Query Term ist es möglich, Teilterme auf beliebiger Tiefe anzugeben (descendant)
Query Terms enthalten neben einfachen geschweiften und einfachen eckigen Klammern auch doppelt geschweifte {{ }} und doppelt eckige Klammern [[ ]].
Eine einfache Klammerung, { } und [ ], bedeutet, dass die Database Terms, welche ausgewertet werden sollen, an dieser Stelle nur die in der einfachen Klammer angegebenen Terme enthalten dürfen und müssen. Enthält ein Database Term an der Stelle mehr oder nicht exakt die gleichen Terme, fällt er durch das Muster und wird demnach nicht ausgewertet.
Die doppelten Klammern, {{ }} und [[ ]], bedeuten, dass die in den Klammern angegebenen Terme zwar vorhanden sein müssen, jedoch können weitere Terme neben ihnen existieren.
Eckige Klammern in Query Terms zeigen an, dass alle Terme, die in Ihnen angegeben werden, in der gleichen Reihenfolge auch in dem Database Term vorkommen müssen. Geschweifte Klammern bedeuten, dass die Reihenfolge der angegebenen Terme in dem Database Term keine Rolle spielt.
Zusammenfassung der Kapitel
1 Einleitung: Die Arbeit führt in die Relevanz von XML-Anfragesprachen ein und grenzt den musterbasierten Ansatz von Xcerpt von navigationellen Sprachen wie XPath ab.
2 Basis-Konstrukte von Xcerpt: Dieses Kapitel erläutert die fundamentalen Bausteine der Sprache, nämlich Database Terms zur Datendarstellung, Query Terms für Musterabgleiche und Construct Terms zur Zieldefinition.
3 Aufbau eines Xcerpt Programms: Es wird die Kombination aus Regeln (Construct-Query-Rules) und Zieldefinitionen (Goals) sowie die Verkettung von Regeln (Rule Chaining) detailliert beschrieben.
4 Weitere Konstrukte von Xcerpt: Hier werden ergänzende Funktionen wie die Attributverwendung zur Redundanzvermeidung und das Group-Konstrukt für Ressourcen festgelegt.
5 Ausblick und zukünftige Herausforderungen: Das Fazit fasst den aktuellen Entwicklungsstand zusammen und benennt geplante Erweiterungen wie numerische Datentypen und Modulunterstützung.
Schlüsselwörter
Xcerpt, XML, semistrukturierte Daten, Anfragesprache, Transformationssprache, Database Terms, Query Terms, Construct Terms, Mustervergleich, XML-Datenbank, Datenmodellierung, Web-Daten, Regelbasierte Programmierung, XML-Transformation
Häufig gestellte Fragen
Worum geht es in dieser Arbeit?
Die Arbeit behandelt die Funktionsweise und den strukturellen Aufbau der experimentellen XML-Anfrage- und Transformationssprache Xcerpt.
Welche zentralen Themenfelder werden abgedeckt?
Die Themen umfassen die Syntax für Datenbankabfragen, die Konstruktion neuer XML-Strukturen sowie fortgeschrittene Programmierkonzepte innerhalb von Xcerpt.
Was ist das primäre Ziel der Arbeit?
Das Ziel ist eine verständliche Einführung in die Syntax und Logik von Xcerpt, basierend auf den wissenschaftlichen Grundlagen von Bry und Schaffert.
Welche wissenschaftliche Methode wird verwendet?
Die Arbeit nutzt eine deskriptive Analyse und Literaturstudie, um die Syntax und die theoretischen Konzepte von Xcerpt anhand von nachvollziehbaren Beispielen zu erläutern.
Was wird im Hauptteil behandelt?
Der Hauptteil gliedert sich in die Vorstellung der Basiskonstrukte (Terms), den Aufbau von Programmen (Regeln und Goals) sowie zusätzliche Funktionen wie Attribute und Gruppen.
Welche Schlüsselwörter charakterisieren die Arbeit?
Wichtige Begriffe sind insbesondere Xcerpt, XML, musterbasierte Anfrage, Database Terms, Query Terms, Construct Terms und Transformation.
Was unterscheidet Xcerpt von XPath oder XQuery?
Im Gegensatz zu dem navigationellen Ansatz von XPath und XQuery verfolgt Xcerpt einen muster- und regelbasierten Ansatz, der auf mathematischer Logik basiert.
Welche Rolle spielt die "Rule Chaining" bei Xcerpt?
Rule Chaining ermöglicht die Verkettung von Regeln, bei der das Ergebnis einer Regel (der Construct Term) als Eingabe für eine weitere Regel fungiert.
Was leisten die "Construct Terms" innerhalb der Sprache?
Construct Terms dienen dazu, auf Basis der durch die Query Terms gefundenen Variablen und Bindungen neue, transformierte XML-Strukturen zu erzeugen.
Warum sind "Attribute" in Xcerpt besonders relevant?
Attribute erlauben es, Daten wie Autoren oder Preise zentral zu definieren und durch Referenzen (IDREF) mehrfach zu verknüpfen, was die Redundanz in den Daten minimiert.
- Quote paper
- Dipl.-Wirtsch.-Inf. Matthias Bauer (Author), 2004, Xcerpt - eine Anfrage- und Transformationssprache für XML, Munich, GRIN Verlag, https://www.grin.com/document/27245