Semistructured Data Autor: Stefan Josten 21. Juli 1999 Seminar: Intelligenz im Intranet Intelligenz im Intranet Thema:
Semistructured Data Gliederung: 1. Einleitung 2. Ein Modell für semistrukturierte Daten 3. Query Languages 4. Struktur in unstrukturierten Daten 5. Ausblick 6. Zusammenfassung
Begriffsbildung Semistructured Data Der Begriff “Semistructured Data” wurde für Daten eingeführt, die weder auf einem festen Schema beruhen noch völlig chaotisch sind. Da die Struktur in die Daten eingebettet ist (selbstbeschreibend), liegen sie irgendwo dazwischen. Wie kommt es zu semistrukturierten Daten ? Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
3 Hauptgründe: Unterschiedliche Struktur der Daten Datenintegration Zugriff (Browsing)... Motivation Beobachtung: Viele der heutigen Daten sind nicht konform mit den traditionellen objektorientierten oder relationalen Verfahren Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Unterschiedliche Struktur der Daten: Verschiedene Applikationen speichern Daten in verschiedenen Formaten Kein existierendes Datenmodell ist allumfassend Neue Datenformate 3 Hauptgründe (1) Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Es kommt immer öfter vor, daß neue Datenarten in existierenden Datenbanken mit fester Struktur erfaßt werden müssen Heterogene Datenquellen mit unbekannter Struktur (Fusion, Partner,..) Neuentwicklung oft zu teuer, riskant, langwierig, ineffizient... Datenintegration: 3 Hauptgründe (2) Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
3 Hauptgründe (3) Anfragen müssen auch ohne genaue Kenntnis des Schemas möglich sein Anfrage auf Schemakomponenten wie z.B.: Wo kann... gefunden werden Anfragen auf das WWW Zugriff (Browsing): Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Heutige Daten sind nicht konform mit den traditionellen Datenmodellen Informationen sind auch in der Struktur der Daten enthalten: HTML, SGML... Heterogene, teilweise undokumentierte Datenbanken, z.B. durch Partner, Fusionen,... Erhöhte Anforderungen an Zugriff Neue Verfahren nötig Zusammenfassung Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Modell für semistrukturierte Daten Das verbreitetste Modell ist das Object Exchange Modell (OEM): Daten als Sammlung von Objekten repräsentiert Objekte können atomar oder komplex sein atomare Objekte haben als Werte Basistypen (int,string,..) komplexe Objekte haben als Werte (Attribut,Objekt) - Paare Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
OEM- Modell als Graph OEM- Daten werden durch einen Graphen modelliert: Die Knoten sind die Objekte Die Kanten sind mit den Attributen beschriftet Die Blätter enthalten die atomaren Objekte Es gibt eine Wurzel, von der alle anderen Objekte erreichbar sind Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
OEM- Modell Formale Definition Semistrukturierte Daten sind ein Tupel G=(V,E,r,v) V: Menge von Knoten; V ist Vereinigung von V c und V a E: Menge von Kanten; E ist Teilmenge von V c x A x V A: Menge von Attributen (int, string, symbol,...) r ist die Wurzel (Element von V) v: V a -> D bildet die atomaren Objekte auf die Menge der atomaren Werte D (int, string,...) ab Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Graphische Repräsentation: Beispiel Veranstaltung Vorlesung Übung Dozent Titel Termin Übung_zu_VL Vorname Nachname Dozent Termin Raum Computerspielen 1999 Hans Müller Maier Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Textuelle Repräsentation Beispiel Veranstaltung: &o1 { Vorlesung: &o5 { Dozent: &o7 {Vorname: &o20 "Hans", Nachname: &o25 "Müller"}, Titel: &o31 "Computerspielen", Termin: &o , Übung_zu_VL: &o9} Übung: &o9 { Dozent: &o21 "Maier", Termin: &o , Raum: &o45 " "} } Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Bezug zum objektorientierten Modell Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten KlassePerson Name : String Tel : Int Klaus 3184 Holger 5674 OOM: OEM: Holger5674Klaus3184 Element Name Tel Mayer Nachname io
Query Languages Es existiert eine ganze Reihe unterschiedlicher Query Languages, um auf semistrukturierte Daten zuzugreifen. 2 davon werden vorgestellt: Lorel (Lightweight Repository Language) UnQL (Unstructured Query Language) Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Lorel Beispiel select x.Dozent from Veranstaltung.(Vorlesung) | (Übung) x where x.Termin < 1998 Veranstaltung Vorlesung Übung Dozent Titel Termin Übung_zu_VL Vorname Nachname Dozent Termin Raum Computerspielen 1999 Hans Müller Maier Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Lorel Ein Vorteil von Lorel ist die Fähigkeit reguläre Ausdrücke auszuwerten: ( ) ? : Option ( ) | ( ): Alternative ( ). ( ) : Konkatenation ( ) + : Mehrfach (mind. 1) ( ) * : Mehrfach (mind. 0) Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
UnQL Die Unstructured Query Language wurde aus der strukturellen Rekursion hergeleitet Vorteil: Anfragen und Transformation mit demselben Formalismus möglich Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Strukturelle Rekursion besteht aus mindestens einer rekursiven Funktion, die mit Hilfe von Regeln definiert wurde. Beispiel: (1)f({ })={ } (2)f(t1 U t2) = f(t1) U f(t2) (3) f(v) = if isInt(v) then {result : v} else { } (4) f({s : t}) = f(t) UnQL: strukturelle Rekursion Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
UnQL: Beispiel 1 (1) f({ }) = { } (2) f(t1 U t2) = f(t1) U f(t2) (3) f(v)=if isInt(v) then {result : v} else { } (4) f({s : t}) = f(t) Veranstaltung Vorlesung Übung Dozent Titel Termin Übung_zu_VL Vorname Nachname Dozent Termin Raum Computerspielen 1999 Hans Müller Maier Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
f ({Veranstaltung : &o1}) = f (&o1) (4) = f ({Vorlesung: &o5, Übung: &o9}) = f ({Vorlesung: &o5} U {Übung: &o9}) = f ({Vorlesung: &o5}) U f({Übung: &o9}) (2) = f (&o5) U f (&o9)(4) f(&o5) = f ({Dozent: &o7, Titel: &o31, Termin: &o45}) = f({&o7, &o31, &o45})(4). = f (1999) U f(1997) = {result : 1999} U {result : 1997}(3) = {result : 1999, result : 1997}
UnQL Beispiel 2 Anfrage und Transformation: (1) f({ }) = { } (2) f(t1 U t2) = f(t1) U f(t2) (3) f(v) = v (4) f({s : t}) = if s = Termin then {Termin : g(t)} else {s : f(t)} (1) g({ }) = { } (2) g(t1 U t2) = g(t1) U g(t2) (3) g(v) = if isInt(v) then Int2String(v) else v (4) g({s : t}) = {s : g(t)} Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Struktur in unstrukturierten Daten Die Eigenschaft selbstbeschreibend bedeutet, daß das Schema in den Daten eingebettet ist und nicht endgültig vorliegt. Vorteil: hohe Flexibilität bei Änderung der Daten Nachteil: Einfügen ist ineffizient Auswerten der Anfragen kann ineffizient sein Anfragen sind schwer zu formulieren Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Struktur in unstrukturierten Daten Hauptvorteil der semistrukturierten Daten ist, daß sie nicht in Schemas gezwängt wurden. Trotzdem ist es manchmal sinnvoll, eine Art Schema einzuführen. Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
2 Ansätze: Schemas werden getrennt von den Daten beschrieben. Das Schema wird automatisch von den Daten abgeleitet. Wissenschaftler suchen nach Wegen, Regelmäßigkeiten in der Struktur der Daten zu finden, ohne ein konkretes Schema zu früh festzulegen Finden von Schemas Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Probleme Da semistrukturierte Daten unabhängig von einem Schema existieren können, ergeben sich neue Arten von Problemen: Bei gegebenen Schema S und Daten D ist es schwer zu entscheiden, ob D mit S übereinstimmt. Existiert ein Schema S, das die Schemas S1 und S2 umfaßt ? Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
WWW und Semistructured Data (1) Extensible Markup Language (XML) gewinnt immer mehr an Bedeutung Eine neue Klasse von Datenmanagement- Problemen entsteht. Zentrale Anwendung von XML ist der elektronische Datenaustausch Das Datenaufkommen steigt. Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
WWW und Semistructured Data (2) Extensible Markup Language XML Objekte (Elements) Attribute (Tags) Das Schema ist auch in die Daten eingebettet Auffallende Ähnlichkeiten zu Semistructured Data Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Semistructured Data: neues Datenbankenparadigma Schema in den Daten enthalten vereinfacht Datenaustausch OEM Modell am bekanntesten traditionelle Ansätze als Teilmenge enthalten Geeignet um mit strukturierten Dokumenten (z.B HTML) umzugehen Zusammenfassung Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Beispiel: The internet movie database. Semistructured Data in der Praxis Semistructured Data Einleitung Zusammen-fassung Ausblick QueryLanguages Modell Struktur in unstr. Daten
Literaturverzeichnis Dan Suciu: An Overview of Semistructured Data, Peter Buneman: Semistructured Data, 1997 Peter Buneman, Susan Davidson, Mary Fernandez, Dan Suciu: Adding Structure to Unstructured Data,1997 Peter Buneman, Alin Deutsch, Wang-Chiew Tan: A deterministic model for semi-structured data Peter Buneman, Benjamin Pierce: Union Types for Semistructured Data Hartmut Liefke:Horizontal Query Optimization on Ordered Semistructured Data Stefan Braß:Querying Semistructured Data and the WWW Semistructured Data
ENDEENDE