Semistructured Data Autor: Stefan Josten 21. Juli 1999 Seminar: Intelligenz im Intranet Intelligenz...
-
Upload
lukas-lichtenberg -
Category
Documents
-
view
217 -
download
2
Transcript of Semistructured Data Autor: Stefan Josten 21. Juli 1999 Seminar: Intelligenz im Intranet Intelligenz...
Semistructured DataSemistructured Data
Autor: Stefan JostenAutor: Stefan Josten
21. Juli 199921. Juli 1999
Seminar:Seminar: Intelligenz im IntranetIntelligenz im Intranet
Thema:Thema:
Semistructured DataSemistructured Data
Gliederung:
1. Einleitung2. Ein Modell für semistrukturierte Daten3. Query Languages4. Struktur in unstrukturierten Daten5. Ausblick6. Zusammenfassung
BegriffsbildungBegriffsbildungSemistructured DataSemistructured Data
Der Begriff “Semistructured Data” wurdefür Daten eingeführt, die weder auf einem festenSchema 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 ?Wie kommt es zu semistrukturierten Daten ?
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
3 Hauptgründe: Unterschiedliche Struktur der Daten Datenintegration Zugriff (Browsing)
... Motivation ... Motivation
Beobachtung:
Viele der heutigen Daten sind nicht konform mit den
traditionellen objektorientierten oder relationalen Verfahren
Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
Unterschiedliche Struktur der Daten:Unterschiedliche Struktur der Daten: Verschiedene Applikationen speichern Daten in verschiedenen Formaten Kein existierendes Datenmodell ist allumfassend Neue Datenformate
3 Hauptgründe (1)Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. 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:Datenintegration:
3 Hauptgründe (2)Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. 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):Zugriff (Browsing):
Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. 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
ZusammenfassungZusammenfassungSemistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
Modell für semistrukturierte DatenModell für semistrukturierte Daten
Das verbreitetste Modell ist das Object Exchange Modell Das verbreitetste Modell ist das Object Exchange Modell (OEM):(OEM):
Daten als Sammlung von Objekten repräsentiertDaten als Sammlung von Objekten repräsentiert Objekte können atomar oder komplex seinObjekte können atomar oder komplex sein atomare Objekte haben als Werte Basistypen (int,string,..)atomare Objekte haben als Werte Basistypen (int,string,..) komplexe Objekte haben als Werte (Attribut,Objekt) - komplexe Objekte haben als Werte (Attribut,Objekt) -
Paare Paare
Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
OEM- Modell als GraphOEM- Modell als Graph
OEM- Daten werden durch einen Graphen modelliert:OEM- Daten werden durch einen Graphen modelliert:
Die Knoten sind die ObjekteDie Knoten sind die Objekte Die Kanten sind mit den Attributen beschriftetDie Kanten sind mit den Attributen beschriftet Die Blätter enthalten die atomaren ObjekteDie Blätter enthalten die atomaren Objekte Es gibt eine Wurzel, von der alle anderen Objekte erreichbar Es gibt eine Wurzel, von der alle anderen Objekte erreichbar
sind sind
Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
OEM- ModellOEM- Modell
Formale DefinitionFormale Definition
Semistrukturierte Daten sind ein Tupel G=(Semistrukturierte Daten sind ein Tupel G=(V,E,r,vV,E,r,v)) V:V: Menge von Knoten; Menge von Knoten; V V ist Vereinigung von ist Vereinigung von VVc c undund VVaa
EE: Menge von Kanten; : Menge von Kanten; EE ist Teilmenge von ist Teilmenge von VVcc x x AA x x VV
AA: Menge von Attributen (int, string, symbol, ...): Menge von Attributen (int, string, symbol, ...) rr ist die Wurzel (Element von ist die Wurzel (Element von V V)) vv: : VVa a -> -> DD bildet die atomaren Objekte auf die Menge der bildet die atomaren Objekte auf die Menge der
atomaren Werte atomaren Werte DD (int, string, ...) ab (int, string, ...) ab
Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
Graphische Repräsentation: BeispielGraphische Repräsentation: Beispiel
Veranstaltung
Vorlesung Übung
DozentTitel Termin
Übung_zu_VL
Vorname Nachname
DozentTermin
Raum
Computerspielen1999
Hans Müller
Maier 1997 48-226
Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
Textuelle Repräsentation BeispielTextuelle Repräsentation Beispiel
Veranstaltung: &o1 { Vorlesung: &o5
{ Dozent: &o7{Vorname: &o20 "Hans", Nachname: &o25 "Müller"},
Titel: &o31 "Computerspielen", Termin: &o45 1999, Übung_zu_VL: &o9}
Übung: &o9{ Dozent: &o21 "Maier", Termin: &o42 1999, Raum: &o45 "48 - 226"}
}
Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
Bezug zum objektorientierten ModellBezug zum objektorientierten Modell Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
Klasse PersonName : StringTel : Int Klaus 3184
Holger 5674
OOM:
OEM:
Holger 5674 Klaus 3184
Element Element
Name NameTel Tel
Mayer
Nachname
io
io
Query LanguagesQuery Languages
Es existiert eine ganze Reihe unterschiedlicherQuery Languages, um auf semistrukturierteDaten zuzugreifen.
2 davon werden vorgestellt:• Lorel (Lightweight Repository Language)• UnQL (Unstructured Query Language)
Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
Lorel BeispielLorel Beispiel
select x.Dozentfrom Veranstaltung.(Vorlesung) | (Übung) xwhere x.Termin < 1998
VeranstaltungVorlesung Übung
DozentTitel Termin
Übung_zu_VL
Vorname Nachname
DozentTermin
Raum
Computerspielen1999
Hans Müller
Maier 1997 48-226
Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
LorelLorel
Ein Vorteil von Lorel ist die Fähigkeit reguläre Ausdrücke auszuwerten:
• ( ) ? : Option• ( ) | ( ) : Alternative• ( ) . ( ) : Konkatenation• ( ) + : Mehrfach (mind. 1)• ( ) * : Mehrfach (mind. 0)
Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
UnQLUnQL
Die Unstructured Query Language wurde aus der strukturellen Rekursion hergeleitet
Vorteil: Anfragen und Transformation mit demselben Formalismus möglich
Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. 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 RekursionUnQL: strukturelle RekursionSemistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
UnQL: Beispiel 1UnQL: 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)
VeranstaltungVorlesung Übung
DozentTitel Termin
Übung_zu_VL
Vorname Nachname
DozentTermin
Raum
Computerspielen1999
Hans Müller
Maier 1997 48-226
Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. 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 2UnQL 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 DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
Struktur in unstrukturierten DatenStruktur 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 DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
Struktur in unstrukturierten DatenStruktur 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 DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
2 Ansätze: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 SchemasFinden von Schemas Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
ProblemeProbleme
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 DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
WWW und Semistructured Data (1)WWW und Semistructured Data (1)
Extensible Markup Language (XML)Extensible Markup Language (XML)gewinnt immer mehr an Bedeutunggewinnt immer mehr an Bedeutung
Eine neue Klasse von Datenmanagement- Eine neue Klasse von Datenmanagement- Problemen entsteht.Problemen entsteht.
Zentrale Anwendung von XML ist derZentrale Anwendung von XML ist derelektronische Datenaustauschelektronische Datenaustausch
Das Datenaufkommen steigt.Das Datenaufkommen steigt.
Semistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
WWW und Semistructured Data (2)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 DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. 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
ZusammenfassungZusammenfassungSemistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
Beispiel:
The internet movie database.
http://us.imdb.com
Semistructured Data in der PraxisSemistructured Data in der PraxisSemistructured DataSemistructured Data
EinleitungEinleitung ZusammenZusammen--fassungfassung
AusblicAusblickk
Query Query LanguageLanguagess
ModellModell Struktur inStruktur inunstr. Datenunstr. Daten
LiteraturverzeichnisLiteraturverzeichnis
Dan Suciu: An Overview of Semistructured Data, Peter Buneman: Semistructured Data, 1997Peter Buneman, Susan Davidson, Mary Fernandez, Dan Suciu:
Adding Structure to Unstructured Data,1997Peter Buneman, Alin Deutsch, Wang-Chiew Tan:
A deterministic model for semi-structured dataPeter Buneman, Benjamin Pierce:
Union Types for Semistructured DataHartmut Liefke: Horizontal Query Optimization on Ordered
Semistructured DataStefan Braß: Querying Semistructured Data and the WWW
Semistructured DataSemistructured Data
ENDEENDE
Semistructured DataSemistructured Data