Wissens- und...
Transcript of Wissens- und...
XML und Datenbanken
Content Management für XML 1/3
• Aufgabe: Verwaltung der Inhalte und der logischen Struktur von XML-
Instanzen
• Layoutinformationen separat
=> flexible Darstellung und effektive Weiterverarbeitung (Medien, Formate, …)
2 Dr. Roman Schneider Modul Wissens- und Contentmanagement
XML und Datenbanken
Content Management für XML 2/3
3 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Was gehört dazu? Spektrum der Teilaufgaben:
• Modellierung: Erstellung/Ableitung von Strukturbeschreibungen
• Manuelle oder automatisierte Generierung von XML-Dokumenten
• Speicherung von (dokumentenzentrierten, semistrukturierten, ggf. auch
datenzentrierten) XML-Dokumenten (CMS, DBMS)
• Indizierungsverfahren (wichtig zur Abfrage-Optimierung)
• Abfragerealisierung (Abfragesprachen für XML-Dokumente)
• Update / Transformation von XML-Dokumenten
XML und Datenbanken
Content Management für XML 3/3
4 Dr. Roman Schneider Modul Wissens- und Contentmanagement
XML-Dokumente
Generierung
HTML XSLT CMS / Datenbank
Struktur- beschreibung
Modellierung
Transformation
XML und Datenbanken
Problematik
5 Dr. Roman Schneider Modul Wissens- und Contentmanagement
1. XML-Dokumente können für sehr verschiedene Anwendungen
/ Zwecke eingesetzt werden (Kataloge, Webseiten, ...)
=> Aufbau der Dokumente unterscheidet sich stark
2. Oft mehrere Varianten einer Struktur-Modellierung denkbar
3. Es existiert eine Vielzahl von Methoden zur Speicherung
Nachfolgend:
Klassifikation und
Einordnung bekannter Methoden für Entwurf, Generierung &
Speicherung von XML-Dokumenten
XML und Datenbanken
Drei-Ebenen-Architektur
6 Dr. Roman Schneider Modul Wissens- und Contentmanagement
konzeptuell ► logisch ► physisch
3 Ebenen für Datenbanken ok
3 Ebenen für XML-Anwendungen ?
2) Logische Ebene (systemabhängig, Relationenschemata) Anordnung entspricht
3) Physische Ebene (konkrete Implementierung, Datendefinition) hier der historischen
1) Konzeptuelle Ebene (Anforderungsanalyse, systemunabhängig) Entwicklung!
physische EbeneEbene
logischekonzeptuelleEbene
XML und Datenbanken
Drei Ebenen bei Datenbanken
7 Dr. Roman Schneider Modul Wissens- und Contentmanagement
1. Konzeptuelle Ebene (in der Regel bezogen auf ein
Anwendungsgebiet): Entwurf evtl. bereits mit ERM, ER-
Diagrammen
2. Logische Ebene (logische Strukturen für konkretes System):
relationales Datenmodell, relationale Algebra
3. Physische Ebene (Implementierung): interne Speicherung,
Indizierung, Transaktionsverarbeitung, Anfrageoptimierung
physische EbeneEbene
logischekonzeptuelleEbene
XML und Datenbanken
Konzeptuelle Ebene bei Datenbanken
8 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Nach Prof. Dr. Rainer Manthey, Bonn
XML und Datenbanken
Logische Ebene bei Datenbanken
9 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Nach Prof. Dr. Rainer Manthey, Bonn
1 n
XML und Datenbanken
Physische Ebene bei Datenbanken
10 Dr. Roman Schneider Modul Wissens- und Contentmanagement
TB_STADT TB_HAUPTSTADT TB_LAND CO_STADT | CO_LAND CO_STADT | CO_LAND CO_LAND ----------------------------------- ---------------------------------- ---------------- Berlin D Berlin D D Hamburg D Paris F F Leipzig D Köln D Bordeaux F Paris F CREATE TABLE – Statement
Mit Datentypdefinition etc.
XML und Datenbanken
Drei Ebenen für XML-Applikationen
11 Dr. Roman Schneider Modul Wissens- und Contentmanagement
konzeptuelle Ebene
logische Ebene Ebene
physische
<..> <..>
</..>
</..> <..> </..>
Konzeptueller
Entwurf von XML-
Dokumenten ? ?
XML-Dokumente: Welche Methoden und Werkzeuge für...
– Entwurf/Konzeption ?
– Speicherung ?
– Anfragen, Updates ?
– Transformation ?
Historisch: logische Ebene (Spezifikation Dokumentenmodell) prominent…
XML und Datenbanken
Logische Ebene: Modelle, Methoden & Technologien
12 Dr. Roman Schneider Modul Wissens- und Contentmanagement
logische Ebene
<..> <..>
</..>
</..> <..> </..>
da
ten
-
ze
ntrie
rt
se
mi-
stru
ktu
riert
do
ku
me
nt-
ze
ntrie
rt Datenmodell Anfragen/Updates an Inhalt
XML, RDBM, OODBM XQuery, Xpath, SQL XSLT, DB-Import, -Export
Daten- und Dokumentmodell
Struktur und Inhalt Anfragen/Updates an
XML, SGML XQuery, XPath XSLT
Dokumentmodell
Anfragen/Updates an Struktur und Inhalt
XML, SGML XQuery, XPath, Volltext-IR XSLT
… und für die physische bzw. konzeptuelle Ebene?
XML und Datenbanken
Anforderungen an die physische Ebene
13 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Anforderungen an die Speicherung von XML-Dokumenten:
effektive Speicherung
effizienter Zugriff auf XML-Dokumente oder -Fragmente
durch
– Transaktionsverwaltung
– Unterstützung von XPath und XQuery
– Unterstützung von SAX (Simple API for XML) oder DOM (Document
Object Model, W3C-Standard), beide spezifizieren Methoden für den
Zugriff auf XML-Instanzen
Wiederherstellbarkeit der Dokumente (bzw. der enthaltenen Informationen)
Nach Fiebig, Kanne, Moerkotte (2002): Anatomy of a native XML base management system.
Ebene physische
XML und Datenbanken
Physische Ebene: Modelle, Methoden & Technologien
14 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Ebene physische
Struktur durch Schema
Struktur durch Schema und Werte kodiert
kaum explizite Struktur
Abbildung auf
Datenbanken
Speicherung der
Graphstruktur
Speicherung als Ganzes
da
ten
-
ze
ntrie
rt
se
mi-
stru
ktu
riert
do
ku
me
nt-
ze
ntrie
rt
XML und Datenbanken
Realisierungen für die physische Ebene
15 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Speicherung der XML-Dokumente als
Ganzes (textbasiert native)
– Dateisystem
– Volltextindex
– Strukturindex
Speicherung der Graphenstruktur
(modellbasiertes natives Verfahren)
– generische Graphspeicherung
– Speicherung der DOM-Informationen
strukturierte Abbildung auf Datenbanken
– relationale Datenbanken
– objekt-orientierte und objekt-relationale Datenbanken
– Einsatz von Mappingverfahren (manuell oder automatisiert)
Ebene physische
XML-Datenbanken?
XML und Datenbanken
Konzeptuelle Ebene: Modelle, Methoden & Technologien
16 Dr. Roman Schneider Modul Wissens- und Contentmanagement
?? konzeptuell
e
Ebene
??
Modellierung von Struktur
??
Struktur und Inhalt Modellierung von
Struktur und Inhalt Modellierung von
?? konzeptuelle
Ebene
Konzeptueller
Entwurf von XML-
Dokumenten
da
ten
-
ze
ntrie
rt
se
mi-
stru
ktu
riert
do
ku
me
nt-
ze
ntrie
rt
XML und Datenbanken
Realisierungen für die konzeptuelle Ebene
17 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Dokumentzentrierte XML-Dokumente – Graphische Entwurfswerkzeuge
– Visualisierung von Baum- und Graphstruktur
Semistrukturierte XML-Dokumente – Graphendarstellungen, …?
Datenzentrierte XML-Dokumente – UML (Unified Modelling Language)
– Erweiterung von ER
– Erweiterung von ORM (Object-Relational Mapping, einem Konzept zum Abbilden von Objekten in relationale Datenbanken)
Hier besteht (insbesondere für semistrukturiertes XML) noch Forschungsbedarf, bislang keine etablierte Entwurfsmethode!
konzeptuelle Ebene
Konzeptueller
Entwurf von XML- Dokumenten
XML und Datenbanken
Zusammenfassung: Drei-Ebenen-Architektur
18 Dr. Roman Schneider Modul Wissens- und Contentmanagement
<..>
physische Ebene Ebene
Dokument- verarbeitung
Dokumenten Entwurf von XML-
Konzeptueller
</..> </..>
logische Ebene
<..>
konzeptuelle
</..> <..> XML
Datenbanken
=> was leisten (XML-)Datenbanken für die Speicherung?
XML und Datenbanken
Stand der Kunst bei XML-Datenbanken
19 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Nach wie vor ist vieles in der Entwicklung:
Beim W3C: Abfragesprachen, Updatesprachen, Schemaevolutionssprachen
Entsprechend auch bei XML-Datenbanksystemen
Diverse Verfahren und Techniken existieren nebeneinander
Im Produkt-Portfolio großer Anbieter gibt es z.T. mehrere parallel angebotene Lösungen
Technologie oft aus den „etablierten“ Sparten DBMS und Textverarbeitung
Generell: es gibt keinen „Königsweg“
Beste Lösung für Anwender ist abhängig von konkreten Erfordernissen (und Vorkenntnissen)
XML und Datenbanken
Speicherung von XML-Instanzen in Datenbanken 1/2
20 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Vorstellung von verschiedenen Speicherungs-Methoden
– Grundprinzip der Speicherung (als Ganzes ↔ Struktur ↔ feingranular)
– Untersch. Anwendungsbereiche
– Spezifische Eigenschaften der Speicherungs-Methoden
– Abfragemöglichkeiten
Klassifikation der Methoden folgt…
XML und Datenbanken
Speicherung von XML-Instanzen in Datenbanken 2/2
=> Exkurs XML & IR
21 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Volltext- und
XML-Index Volltextindex
Speicherung
als Ganzes
Information Retrieval
Suchmaschinen
- Oracle Text
- IBM DB2 Text Extender
- MS SQL Server Volltextsuche
Speicherung der
Dokumentstruktur
feingranulare
Speicherung
in Datenbanken
XML und Datenbanken
Exkurs: Information Retrieval 1/4
22 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Information Retrieval beschäftigt sich mit Verarbeitung solcher
Informationsanfragen:
„Wo findet man Informationen über Kühlschränke?“
„Wie ist der Begriff Airflow-System definiert?“
„Wo ist der Zusammenhang zwischen Kühlsystem und
Energieverbrauch erläutert?“
Norbert Fuhr: „inhaltliche Suche in Texten“
(http://www.is.inf.uni-due.de/courses/ir_ss06/folien/irskall.pdf)
Varianten der Anfrageformulierung: Satz vs. Stichwort vs. ...
Beachten muss man stets die Effizienz, denn in der Regel liegen
große Textmengen zugrunde (”Google doch mal danach...”)!
XML und Datenbanken
23 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Exkurs: Information Retrieval 2/4
Bibliotheken: Volltext- und
Metasuche
Anwendung z.B. in Suchmaschinen,
dabei spezielle Anforderungen
(Textformate, Versionen,
Dokumentstrukturen, ...)
XML und Datenbanken
Exkurs: Information Retrieval 3/4
24 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Volltextindizierung = grundlegende
Technologie im Information Retrieval
Eingesetzt bei der Erschließung von
Textdokumenten,
Produktkatalogen,
oder in Suchmaschinen.
Generell überall hinter solchen Feldern:
1
2 3
4
XML und Datenbanken
25 Dr. Roman Schneider Modul Wissens- und Contentmanagement
<a href=„kuehlung.html“>
Kühlschränke</a>
... Airflow-System
... Energieverbrauch
... Watt
... Kühlung
Dokument mit Markup:
Situation: Man sucht Dokumente (html, doc,
pdf, ps, etc.), in denen die in der Suche
angegebenen Begriffe auftauchen.
Keine semantische Suche: Computer
„versteht“ die Texte nicht, man kann also
nur danach suchen, welche Wörter in den
Texten vorkommen, wie oft, in welchem
Zusammenhang...
Wie funktioniert (inhaltsbasierte) Suche in
solchen Dokumenten?
=> Deskribierung & Indizierung
Exkurs: Information Retrieval 4/4
XML und Datenbanken
Inhaltsbasierte Suche in Volltexten umfasst:
26 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Index
Deskribierung manuelle und
automatische Verfahren
zur Anreicherung des
strukturierten Textes mit
Deskriptoren
Recherche Suche von Textdokumenten
nach Vorgabe
von Dokumentdeskriptoren
Präsentation Bewertung und Ordnung der gefundenen Dokumente
nach ihrer Güte
Ranking, Relevance Feedback
XML und Datenbanken
Deskribierung
27 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Index
Deskribierung manuelle und
automatische Verfahren
zur Anreicherung des
strukturierten Textes mit
Deskriptoren
=> Indexbildung!
Recherche Suche von Textdokumenten
nach Vorgabe
von Dokumentdeskriptoren
Präsentation Bewertung und Ordnung der gefundenen Dokumente
nach ihrer Güte
Ranking, Relevance Feedback
XML und Datenbanken
Indexbildung 1/4
28 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Suchmaschinen für das WWW nutzen indizierte Webdokumente.
Information-Retrieval-Systeme und Datenbanksysteme führen
ebenfalls eine Indexbildung nach der Speicherung von
Dokumenten durch.
Ggf. verschiedene Formate (HTML, PDF, Text, ...)!
Vor der Indexbildung muss bereits feststehen:
– welche Arten von Informationen angefragt werden
– wie die Anfragen aussehen (Einwort, Mehrwort, Phrasen, ...)
Anfragen sind zeitkritisch, Indexbildung nicht!
XML und Datenbanken
Indexbildung 2/4
29 Dr. Roman Schneider Modul Wissens- und Contentmanagement
aus den Dokumenten werden die relevanten Textwörter (!) extrahiert und
ggf. aufbereitet, nur diese fließen in den Index ein
Lemmabildung, Umlaute, …
Kühlschränke
Airflow-System
Kühlung, 2*
Watt
Energieverbrauch
<a href=„kuehlung.html“>
Kühlschränke</a>
... Airflow-System
... Energieverbrauch
... Watt
... Kühlung
XML und Datenbanken
Indexbildung 3/4
30 Dr. Roman Schneider Modul Wissens- und Contentmanagement
• verschiedene Optimierungen der Indexstrukturen (B-Tree, Bitmap-Index etc.)
• Anfragen sind zeitkritisch, die Indexbildung weniger: Ziel sind effiziente Zugriffe!
Implementierung als invertierte Liste
1
2
2
1
3
1
A
B
D
E
C
F
2
1
3
A D F
3
3
3 C D B
A C D E
2
Bestimmung der Stichworte
der Dokumente
Dokumente Stichworte
Invertierte Speicherung der Stichworte
und der zugehörigen Dokumente
Stichworte Dokumente
XML und Datenbanken
Indexbildung 4/4
31 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Index
Deskribierung
Verfahren zur Deskribierung (Anreicherung um Deskriptoren)
statistische, wortbasierte Verfahren
– Häufigkeit von Wörtern auswerten
linguistische Verfahren
– Stammwortreduktion (Lemmabildung)
– Phonetische Ähnlichkeit (Soundex)
– Ähnliche Schreibung (fuzzy)
– Erkennen von Satzzusammenhängen (Thema-Rhema, Folgerungen, ...)
wissensbasierte Verfahren
– Klassifikationen, Thesauri, Wortnetze, Ontologien
XML und Datenbanken
Häufigkeit der Wörter berücksichtigen 1/2
32 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Stoppwortliste eliminiert häufige Worte (z.B. Funktionswörter)
– diese würden sehr viele Einträge im Index bewirken, sind aber für die
Recherche zumeist ungeeignet
– 10 häufigste Wörter im Deutschen laut Wikipedia:
• der, die, und, in, den, von, zu, das, mit, sich
Vgl.: DeReWo – Korpusbasierte Grund-/Wortformenlisten
http://www.ids-mannheim.de/kl/projekte/methoden/derewo.html
sehr seltene Begriffe werden gestrichen
– haben zwar die höchste Selektivität, würden die Anzahl der Begriffe im Index
unverhältnismäßig erhöhen und sind für die Recherche oft zu speziell
– Beispiele:
• kennte
• Külschrank
• Kuhlschrank
• Mogelpower
XML und Datenbanken
Häufigkeit der Wörter berücksichtigen 2/2
33 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Eliminierung seltener Begriffe
Zipf´sches Gesetz
(nach George Kingsley Zipf, 1902-1950)
Produkt aus Rang und Frequenz ist
stabil
* Sortierung der Terme nach abfallender
Häufigkeit
Salton / McGill, 1983
Begriffe mit mittlerer Häufigkeit eignen
sich am besten zur Unterscheidung
Häufig-
keit
Rang*
Diskrimi-
nations-
kraft der
Terme
abnehmende
Worthäufigkeit
zu s
eltene T
erm
e
zu h
äufige T
erm
e
Stoppwortliste
XML und Datenbanken
Bildung eines linguistischen Indexes 1/2
34 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Motivation: Begriffsuche soll auch Deklinationen (Beugung von Substantiven /
Adjektiven) bzw. Konjugationen (Beugung von Verben) einbeziehen.
Beispiele:
– bei Eingabe des Suchbegriffes „Kühlschrank“ sollen auch Dokumente mit dem
Begriff „Kühlschränke“ gefunden werden
– bei der Suche nach „fehlschlagen“ soll auch „fehlschlug“ und „fehlgeschlagen“
gefunden werden
Ergänzend zum exakten Begriff wird die Grundform der Textwörter
gespeichert
Außerdem evtl.: phonetische Ähnlichkeit oder ähnliche Schreibungen
beachten
Ziele:
– Zusammenführung sprachlich zusammengehöriger Textwörter zu einem
Eintrag
– dadurch Verkleinerung der invertierten Listen
XML und Datenbanken
Bildung eines linguistischen Indexes 2/2
35 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Verfahren:
– Wortnormalisierung (Groß- und Kleinschreibung, Umlaute)
– Wortdekomposition (besonders für deutsche Sprache wichtig)
• Komposita (zusammengesetzte Begriffe) werden auseinandergenommen,
• Beispiele:
– Haupt-bahnhof, Ost-bahnhof (Hauptbahn-hof?)
– Einzel-zimmer, Doppel-zimmer, Zweibett-zimmer
– Stammformreduktion (Verfahren zur Bestimmung der Grundformen) durch:
• Regeln (sprachabhängige Verfahren mit untersch. Güte) oder
• Wörterbücher (besonders für Sprachen mit vielen Unregelmäßigkeiten)
• Abkürzungen auflösen?
XML und Datenbanken
Recherche
36 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Index
Deskribierung manuelle und
automatische Verfahren
zur Anreicherung des
strukturierten Textes mit
Deskriptoren
Recherche Suche von Textdokumenten
nach Vorgabe
von Dokumentdeskriptoren
Präsentation Bewertung und Ordnung der gefundenen Dokumente
nach ihrer Güte
Ranking, Relevance Feedback
XML und Datenbanken
Verfahren zur Recherche
37 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Recherche
Häufigste Retrievalmodelle:
- Boolesches Retrieval
- Vektorraummodell
- probabilistisches Modell
XML und Datenbanken
Boolesches Retrieval 1/2
38 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Dokumente werden als Wort-Mengen modelliert
Abfrage-Grundbaustein: Paar aus Attribut & Attributwert
verknüpft durch: and, or, not
exakt, logisch klar, einfach programmierbar
Suchmaschinen-Statistiken weisen aus, dass Anfragen
durchschnittlich 1,7 Wörter enthalten
Nachteile:
relativ geringe Möglichkeiten, komplexere Anfragen (präzise) zu
formulieren, evtl. Abfragesprachen mit Klammerung etc.
Häufigkeit und Relevanz der Terme bleiben unberücksichtigt
Boolesches Retrieval erlaubt kein Ranking (Ergebnis 0 oder 1),
dieses wird ggf. nachträglich in einem zweiten Schritt ermittelt
XML und Datenbanken
Boolesches Retrieval 2/2
39 Dr. Roman Schneider Modul Wissens- und Contentmanagement
XML und Datenbanken
Vektorraummodell 1/2
40 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Dokumente und Anfragen werden nicht als Wortmengen, sondern als
Vektoren (mit Länge und Richtung) betrachtet
Abbildung auf jeweils genau einen Eintrag im Vektorraum
(hochdimensional in Abhängigkeit von Zahl der indizierten Terme)
Merkmalsgewichtungsmodelle berücksichtigen die Häufigkeit von
Textwörtern, Lemmata oder n-Grammen
Reihenfolge der Wörter wird ignoriert (“bag of words”)
d1 = ( 1 , 3 , 3 , 0 , 0 )
d2 = ( 0 , 2 , 1 , 0 , 1 )
d3 = ( 1 , 0 , 0 , 1 , 0 )
d4 = ( 0 , 4 , 2 , 7 , 0 )
d5 = ( 0 , 0 , 1 , 1 , 1 )
q = query
XML und Datenbanken
Vektorraummodell 2/2
41 Dr. Roman Schneider Modul Wissens- und Contentmanagement
mit einem Ähnlichkeitsmaß (Vektordistanz) werden zu einer Anfrage-
Vektor die ähnlichsten Dokumenten-Vektoren ermittelt
es gibt zahlreiche Ähnlichkeitsmaße
Vagheit von Anfragen wird berücksichtigt ("best match"-Prinzip, d. h. es
erfolgt ein Ranking der Dokumente nach der Wahrscheinlichkeit in wieweit
ein Dokument auf die Anfrage zutrifft)
Ergebnis der Ähnlichkeitsfunktion kann für das Ranking verwendet werden
Relevance-Feedback
XML und Datenbanken
Probabilistisches Modell
42 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Ermittlung der Wahrscheinlichkeit, ob ein Dokument für die
Suchanfrage relevant ist
Hauptkriterium: Häufigkeiten (Suchterm, Terme in Dokument, ...)
Terme der Anfrage können gewichtet werden, damit hat der
Benutzer die Möglichkeit, wichtigere und unwichtigere Teile einer
Anfrage explizit zu spezifizieren
Wörter des Dokumentes werden ebenfalls gewichtet
– manuelle Verfahren: für Indizierende stellt die Angabe solcher
Wahrscheinlichkeiten eine schwierige Aufgabe dar
– automatische Verfahren: verwenden Worthäufigkeiten,
Dokumentgröße, Position des Worts im Dokument
(Überschrift?), ..
XML und Datenbanken
Übersicht der Retrievalmodelle
43 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Boolesches Modell Vektorraummodell Probabilistisches Modell
Boolesche Verknüpfungen Ja
Gewichtung Ja Ja
Ranking Ja Ja
Kriterium der Übereinstimmung
Vorhandensein der Begriffe
Vektordistanz Häufigkeit der Begriffe
Alleinstellungsmerkmal Relevance Feedback
XML und Datenbanken
Präsentation
44 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Index Deskribierung manuelle und
automatische Verfahren
zur Anreicherung des
strukturierten Textes mit
Deskriptoren
Recherche Suche von Textdokumenten
nach Vorgabe
von Dokumentdeskriptoren
Präsentation Bewertung und Ordnung der gefundenen Dokumente
nach ihrer Güte
Ranking, Relevance Feedback
XML und Datenbanken
Präsentation
45 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Ranking: Bestimmung, in welcher Reihenfolge die ermittelten Ergebnisse
präsentiert werden.
Grundlegende Maße (kombinierbar):
Häufigkeit des Suchterms im Dokument
Anzahl der verschiedenen Suchterme eines Dokumentes
Anzahl der Dokumente, in denen der Suchterm auftritt
Dokumentgröße
Relevance Feedback:
Dialog mit dem Benutzer
Klassifizierung von relevanten und nicht relevanten Dokumenten
anschließend nochmalige Ergebnisermittlung.
Recherche
Bewertung
Index
XML und Datenbanken
Anwendung von Volltextsuchen auf XML-Dokumente
46 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Volltext-Index
bekannte Methode (älter als relationale Datenbanken)
Verfahren aus dem Bereich der Dokumentverarbeitung
Problem: wie soll mit Bezeichnern von XML-Elementtypen/-Attributtypen
umgegangen werden?
Verweis
Warnemünde
<adresse>
<plz>18119</plz> <ort>Warnemünde</ort>
<nummer>12</nummer>
</adresse>
<anreisebeschreibung>
</anreisebeschreibung>
</hotel>
<hotelname>Hotel Hübner</hotelname>
Aus Richtung Rostock kommend ...
<hotel>
Begriff
anreisebeschreibung
ort
Rostock
hotel <strasse>Seestraße</strasse>
=> Volltextindex plus XML-Index!
XML und Datenbanken
Speicherung von XML-Instanzen
47 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Volltext- und
XML-Index Volltextindex
Speicherung
als Ganzes
Speicherung der
Dokumentstruktur
strukturierte
Speicherung
in Datenbanken
XML und Datenbanken
Volltext- und XML-Index 1/3
48 Dr. Roman Schneider Modul Wissens- und Contentmanagement
- XML-Markup kann für Anfragen auswertbar gemacht werden
- Strukturinformationen sollten im (separaten XML-) Index erkennbar sein
=> Formulierung von Abfragen?
XML und Datenbanken
Volltext- und XML-Index 2/3
49 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Einsatz von XPath
und XQuery möglich.
Anfragen, die das
gesamte Dokument
als Ergebnis liefern
sollen, lassen sich
einfach bedienen.
Andernfalls muss das
Dokument geparst
und das Ergebnis
daraus generiert
werden.
/hotel/adresse/ort/text()=“Warnemünde“
XML und Datenbanken
Volltext- und XML-Index 3/3
50 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Schemabeschreibung Nicht zwingend erforderlich
Dokumentrekonstruktion XML-Dokumente bleiben im Original erhalten
Anfragen Anfragen des Information Retrieval
Volltextanfragen
XML-Anfragen / Auswertung des Markups
Updates Austausch kompletter XML-Dokumente
Anwendungen dokumentzentriertes / semistrukturiertes XML
XML und Datenbanken
Speicherung von XML-Instanzen
51 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Speicherung
als Ganzes
Speicherung der
Dokumentstruktur
strukturierte
Speicherung
in Datenbanken
(einfache)
Abbildung der
Graphstruktur
Speicherung der
Informationen
des DOM
Umfeld SemWeb / NoSQL:
AllegroGraph
Neo4j
Universitäre Prototypen
XML und Datenbanken
Speicherung der Graphstruktur 1/4
52 Dr. Roman Schneider Modul Wissens- und Contentmanagement
• generische Abbildung der Struktur der XML-Instanz
• Verwendung von Knoten/Properties zur Speicherung von Elementen/Attributen
• Verwendung von Kanten für Beziehungen zwischen Knoten
• werden mehrere XML-Instanzen gespeichert: Instanz-ID ergänzen!
ort
plz
adresse
Warnemünde
Seestrasse
Wert Typ
string
string
Element
Element Typ
hotel
url
autor
3 strasse
int 18119
string
string
www...
Attribut Wert
2
Müller
Vorgänger Ordnung
1
2
1
Attribute:
:
„numbering scheme“
<adresse>
<plz>18119</plz>
<nummer>12</nummer>
</adresse>
</anreisebeschreibung>
</hotel>
Aus Richtung Rostock kommend ...
<hotel>
<strasse>Seestraße</strasse>
<hotelname>Hotel Hübner</hotelname>
<anreisebeschreibung>
<ort>Warnemünde</ort>
XML und Datenbanken
Speicherung der Graphstruktur 2/4
53 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Umsetzung der Speicherung von Elementen & Attributen:
Elemente:
XML-ID Elementname Typ Wert Ordnung Verweis auf Vorgänger
Attribute:
Attributname Typ Wert Verweis auf Element
damit ist die Zuordnung von Inhalten zur Struktur sowie die vollständige
Wiederherstellung der Struktur (auch ohne DTD) möglich
GraphenDBs: Knoten/Kanten anstatt relationalen Tabellen/Fremdschlüsseln
XML und Datenbanken
Speicherung der Graphstruktur 3/4
54 Dr. Roman Schneider Modul Wissens- und Contentmanagement
XML-
Anfragen
SQL
XML-Anfragen sind möglich, werden intern auf Datenbank-Anfragen (unter
Berücksichtigung der Speicherstruktur) umgesetzt => zumeist SQL oder
spezielle Abfragesprachen wie SPARQL (=>RDF) oder Gremlin (Open-
Source-Graphen-Programmiersprache)
Ergebnis der XML-Anfrage wird ggf. aus Ergebnis der DB-Anfrage
generiert.
für einfache Anfragen gut verwendbar
aber: Traversieren komplexer Anfragen über zwei oder mehr Knoten
problematisch („teuer“) - insbesondere bei großen Datenvolumen!
XML und Datenbanken
Speicherung der Graphstruktur 4/4
55 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Konkretes SQL durch Speicherstruktur bestimmt:
Beispiel:
(Hotels in Warnemünde)
select a.wert
from Elemente a, Elemente b
where (a.element='hotel') and
(b.element='ort') and
(b.wert='Warnemünde') and
(a.DocID=b.DocID)
Element
ort
plz
Wert Typ Vorgänger
string
string strasse
Warnemünde
Seestrasse
hotel
adresse
int 18119
DocID
d0001
d0001
d0001
d0001
d0001
XML und Datenbanken
Speicherung von XML-Instanzen
56 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Excelon
Berkeley-DB XML
Infonyte-DB
Speicherung
als Ganzes
Speicherung der
Dokumentstruktur
strukturierte
Speicherung
in Datenbanken
(einfache)
Abbildung der
Graphstruktur
Speicherung der
Informationen
des DOM
XML und Datenbanken
Speicherung basierend auf DOM 1/4
57 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Informationen des Document
Object Models (DOM) bilden
das Schema für die
Speicherung
Verwendung relationaler
oder objekt-orientierter
Datenbanken
oder
Entwicklung eigener
Speicherungsstrukturen
Comment
ProcessingInstruction
Document
DocumentFragment
DocumentType
Element
Entity
EntityReference
Notation
Text
CDataSection
DOMImplementation Node NodeList NamedNodeMap
CharacterData
Attr
XML und Datenbanken
Speicherung basierend auf DOM 2/4
58 Dr. Roman Schneider Modul Wissens- und Contentmanagement
XML-Beispiel von w3schools.com
XML und Datenbanken
Speicherung basierend auf DOM 3/4
59 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Infonyte-DB
verwendet zur Speicherung von XML-Dokumenten ein persistentes Document Object Model (PDOM)
baut nicht auf existierende DBMS auf, sondern entwickelt Komponenten zur physischen Speicherung, die an die XML-Dokumente optimal angepasst sind
Anfragesprache: Richtung XQuery
Sonic XML Server (früher unter den Namen eXcelon)
verwendet zur Speicherung von XML-Dokumenten das Document Object Model
alle Informationen, die in dieser API enthalten sind, werden in einer objektorientierten Datenbank gespeichert.
Berkeley DB XML
Generische Speicherung, Anfragen via XPath, XQuery
XML und Datenbanken
Speicherung basierend auf DOM 4/4
60 Dr. Roman Schneider Modul Wissens- und Contentmanagement
DOM-Methoden
(getChildren(),
hasChild(), ...)
XML-Anfragen
(XQuery / XPath)
XML-
Anfragen SQL
Angepasste
Datenbankanfragen (unter
Kenntnis der
Speicherungsstruktur)
XML und Datenbanken
Speicherung von XML-Instanzen
61 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Speicherung
als Ganzes
Speicherung der
Dokumentstruktur
strukturierte
Speicherung
in Datenbanken
Vollständiges
(+automatisches)
Mapping
Benutzerdefiniertes
Mapping
XML und Datenbanken
Automatisierte strukturierte Speicherung in Datenbanken 1/8
62 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Ansatz: Abbildung der XML-Struktur auf Struktur (relationaler oder
objektorientierter) Datenbanken
- DTD oder XML-Schema (besser wg. Datentypen!) ist erforderlich
- typgerechte Speicherung einzelner Element-/Attributtypen
- Kodierung von hierarchischen Informationen
- gut abbildbar: Sequenzen von Elementen, Attribute
- schlecht abbildbar: mixed content
Objekttypen vs. strenge Relationierung
XML und Datenbanken
Automatisierte strukturierte Speicherung in Datenbanken 2/8
63 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Regeln zur Erzeugung des Datenbankschemas aus einer DTD:
XML-Element wird Attribut (Spalte) einer Relation (Tabelle)
Element mit Quantifizierer ? wird Attribut mit Nullwerten
Zusätzliche Relation für Element mit Quantifizierer * oder +
...
XML-Attribute:
XML-Attribut Attribut einer Relation
IMPLIED Nullwert erlaubt
REQUIRED Nullwert nicht erlaubt (NOT NULL)
Defaultwert Defaultwert
XML und Datenbanken
Automatisierte strukturierte Speicherung in Datenbanken 3/8
64 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Beispiel:
<!ELEMENT book (front, body, references)>
<!ATTLIST book isbn CDATA #REQUIRED>
<!ELEMENT front (title, author+, edition?, publisher)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (first, second, e-mail?)>
<!ELEMENT first (#PCDATA)>
<!ELEMENT second (#PCDATA)>
<!ELEMENT e-mail (#PCDATA)>
book: e-mail second first
publisher edition author title
references body front isbn
Informix-Syntax:
CREATE TABLE book
( isbn VARCHAR(20) NOT NULL,
front ROW
( title VARCHAR(100) NOT NULL,
author LIST zus. Relation?
(ROW
( first VARCHAR(30) NOT NULL,
second VARCHAR(50) NOT NULL,
email VARCHAR(30))) NOT NULL,
edition VARCHAR(20),
publisher VARCHAR(40) NOT NULL),
body ...
references ...);
=> Wie legt man die Datentypen fest ?!
XML und Datenbanken
Automatisierte strukturierte Speicherung in Datenbanken 4/8
65 Dr. Roman Schneider Modul Wissens- und Contentmanagement
<?xml version="1.0" encoding=“ISO-8859-1“?>
<xs:schema xmlns:xdb="http://xmlns.oracle.com/xdb„
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace=http://www.oracle.com/xsd/auftrag.xsd elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:element name="Auftrag" xdb:SQLName="AUFTRAG„ xdb:SQLType="AUFTRAG_T„
xdb:defaultTable="AUFTRAG_TAB">
<xs:complexType>
<xs:sequence>
<xs:element name="Auftragsnr„ type="xs:integer" xdb:SQLName="A_NR"
xdb:SQLType="INTEGER" />
<xs:element name="Kunde" type="xs:string„ xdb:SQLName="KUNDE„
xdb:SQLType="VARCHAR2" />
<xs:element name="Datum" type="xs:date„ xdb:SQLName="DATUM"
xdb:SQLType="DATE" />
<xs:element name="Produkt„ maxOccurs="unbounded„ xdb:SQLName="PRODUKTE"
xdb:SQLType="PRODUKT_T„ xdb:defaultTable="PRODUKT_TAB„
xdb:SQLInline="false">
....
</xs:schema>
Überführung in (objekt-)relationales Schema in Oracle:
XML und Datenbanken
Automatisierte strukturierte Speicherung in Datenbanken 5/8
66 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Problemfälle bei der Abbildung: (1) Alternative Elemente
Beispiel: <!ELEMENT unterkunft (hotel | pension | campingplatz)*>
Generell sind drei Speicherungsvarianten möglich:
alle Alternativen in einer Relation vorsehen (aber: viele Nullwerte!)
Aufspaltung in separate Relationen (Performanz?)
Verwendung eines Attributes vom Typ XML :-)
unterkunft
<pension>
<pensionsname>Zum Kater</pensionsname>
<zimmer>...</zimmer>
...
</pension>
<hotel>
<kategorie>4 </kategorie>
<hotelname>Strand Hotel Hübner </hotelname>
</hotel>
XML und Datenbanken
Automatisierte strukturierte Speicherung in Datenbanken 6/8
67 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Problemfälle bei der Abbildung: (2) Rekursionen (in DTDs)
book references
public. book ...
book references
ID
Beispiel:
<!ELEMENT publications (book | article | conference)*>
<!ELEMENT book (front, body, references)>
<!ELEMENT references (publications+)>
Vorgehensweise:
– Markieren der Knoten
– Aufspaltung in separate Relationen
– Verwendung von Referenzen (primary/foreign key)
XML und Datenbanken
Automatisierte strukturierte Speicherung in Datenbanken 7/8
68 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Problemfälle bei der Abbildung: (3) Mixed content <anreisebeschreibung>
Sie können unser Haus auf verschiedenen Wegen erreichen:
<bahn>per Bahn: 1 km ab Bahnhof Warnemünde</bahn>
<auto>per Auto: 19 km ab Autobahn A19
Rostock--Berlin</auto>
Sie finden uns direkt an der Uferpromenade.
</anreisebeschreibung>
Ordnung #PCDATA Bahn Auto
1 Sie können unser Haus auf
verschiedenen Wegen erreichen:
2 per Bahn: 1 km ab Bahnhof Warnemünde
3 per Auto: 19 km ab Autobahn A19 Rostock—Berlin
4 Sie finden uns direkt an der Uferpromenade.
Problematische Abbildung in
Relationen!
Angemessener: XML-Datentyp
XML und Datenbanken
Automatisierte strukturierte Speicherung in Datenbanken 8/8
69 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Zusammenfassung der automatisierten strukturierten Abbildung
Vorteile: bei der Speicherung strukturierter Daten
Bietet SQL-Anfragen, Datentypen, Aggregatfunktionen, Sichten
Einfache Integration in andere Datenbanken
Nachteile: bei der Speicherung semi- und unstrukturierter Daten
großes Schema, schwach gefüllte Datenbanken, viele Nullwerte
Speicherung von Alternativen problematisch
keine Volltextoperationen möglich
Deshalb besser benutzerdefinierte, flexible Abbildung?
XML und Datenbanken
Speicherung von XML-Instanzen
70 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Speicherung
als Ganzes
Speicherung der
Dokumentstruktur
strukturierte
Speicherung
in Datenbanken
Vollständiges
(+automatisches)
Mapping
Benutzerdefiniertes
Mapping
XML und Datenbanken
Benutzerdefiniertes Mapping 1/5
71 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Bei allen bisherigen Methoden konnte die Art der Speicherung nicht
beeinflusst werden
Oft praktikabler: flexible Methode
Mappingvorschrift wird dabei durch den Benutzer spezifiziert
Struktur der XML-Instanzen und das Datenbankschema können unabhängig
voneinander entworfen werden (und relativ autonom gepflegt werden)
Nebeneffekt: Ermöglicht Speicherung von XML-Dokumenten in bereits
existierenden Datenbanken
XML und Datenbanken
Benutzerdefiniertes Mapping 2/5
72 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Hotel Hübner
Hotel_URL
Hotelpreise
Name Einzelzimmer
www.hotel-huebner.de 198
Datenbank
<ClassMap>
<ToClassTable>
</ToClassTable>
<Table Name="Hotelpreise"/>
<ElementType Name="hotel"/>
<hotel url="www.hotel-huebner.de">
<hotelname>Hotel Hübner</hotelname>
<adresse>
<ort>Warnemünde</ort>
...
</adresse>
<preise>
<einzelzimmer>198</einzelzimmer>
</preise>
...
</hotel>
<strasse>Seestraße</strasse>
<PropertyMap>
<ToColumn>
</ToColumn>
</PropertyMap>
<PropertyMap>
<ToColumn>
</ToColumn>
</PropertyMap>
...
<Attribute Name="url"/>
<Column Name="Hotel_URL"/>
<ElementType Name="hotelname"/>
<Column Name="Name"/>
</Classmap>
XML-Dokument Mapping Vorschrift
XML-Segmente können auch ignoriert werden => kleinere Datenbasis
XML und Datenbanken
Benutzerdefiniertes Mapping 3/5
73 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Kodierung der Mapping-Regeln; Beispiel nach Ronald Bourret:
<ClassMap>
<ElementType Name="hotel"/>
<ToClassTable>
<Table Name="Hotelpreise"/>
</ToClassTable>
<PropertyMap>
<Attribute Name="url"/>
<ToColumn>
<Column Name="Hotel_URL"/>
</ToColumn>
</PropertyMap>
...
</ClassMap>
Verbindung zwischen
XML-Elementen und
Datenbank-Relationen
(Tabellen)
Verbindung zwischen
XML-Elementen/
-Attributen und
Datenbank-Attributen
(Spalten)
XML und Datenbanken
Benutzerdefiniertes Mapping 4/5
74 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Schemabeschreibung Erforderlich für Generierung der Speicherstrukturen
Dokumentrekonstruktion Nur möglich bei vollständiger Abbildung sowie Protokollierung des Abbildungsprozesses
Updates Als Datenbankupdates realisierbar
Updates, die Strukturen verändern,
bewirken Datenbankevolution!
Weitere Besonderheiten Integration in bestehende DB möglich
XML-Instanzen und DB voneinander unabhängig
XML und Datenbanken
Benutzerdefiniertes Mapping 5/5
75 Dr. Roman Schneider Modul Wissens- und Contentmanagement
IBM DB2 XML-Extender
Aufsplitten von XML-Dokumenten ins relationale Datenbanksystem DB2
über eine Mappingvorschrift (DAD - Data Access Definition) wird angegeben, wie die
Zuordnung von Elementen und Attributen einer XML-Instanz auf die Attribute der
Datenbank erfolgen soll.
Die Syntax der DAD-Dateien ist XML
Oracle RDBMS
• objektrelationale Speicherung / Datentyp XMLType
• Art der Speicherung wird durch ein annotiertes XML-Schema beschrieben, dieses
enthält eine Zuordnung von Datenbankinformationen zu den XML-Bestandteilen
• dadurch benutzerdefinierte Speicherung möglich
Microsoft SQL-Server
anwenderdefiniertes Mapping durch annotiertes Schema
Annotationen bestimmen die Zuordnung von Elementen und Attributen zu
Datenbankrelationen und Datenbankattributen
XML und Datenbanken
Zusammenfassung: Speicherung von XML-Instanzen
76 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Volltextindex
und XML-Index
Volltextindex
Als Dateien /
Clobs
Speicherung der
Dokumentstruktur
Strukturierte
Speicherung
in Datenbanken
Vollständiges
Mapping
Benutzer-
definiertes
Mapping
Abbilden des
DOM-Modells
Abbildung der
Graphstruktur
Für dokumentzentrierte XML-Dokumente
Für datenzentrierte XML-Dokumente
Für semistrukturierte XML-Dokumente
XML und Datenbanken
Native Speicherung 1/2
77 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Volltextindex
und XML-Index
Volltextindex
Als Dateien /
Clobs
Speicherung der
Dokumentstruktur
Strukturierte
Speicherung
in Datenbanken
Vollständiges
Mapping
Benutzer-
definiertes
Mapping
Abbilden des
DOM-Modells
Abbildung der
Graphstruktur
Textbasierte native Modellbasierte native
Speicherung Speicherung
Also: kein Mapping des XML-Formats, sondern direktes Speichern des
XML-Dokuments. Abgrenzung von XML-enabled DBMS schwierig!
XML und Datenbanken
Native Speicherung 2/2
78 Dr. Roman Schneider Modul Wissens- und Contentmanagement
Produkte
Open Source, größtenteils plattformunabhängig:
BaseX (Version 2013: 7.7.2)
eXist (Version 2013: 2.1)
MonetDB (Version 2013: 11.15)
Sedna (Version 2013: 3.5)
Apache Xindice (bis 2011: Version 1.2 )
Kommerziell:
Tamino (Software AG)
zeen-dee-chay
XML und Datenbanken
Zusammenfassung
79 Dr. Roman Schneider Modul Wissens- und Contentmanagement
XML und Datenbanken
– Vielzahl von Verfahren und Techniken existieren nebeneinander
– oft aus den Bereichen Datenbanken und Text-/Dokumentverarbeitung
– generell: es gibt keine „beste Lösung“ für alle XML-Dokumente, geeignetste Lösung ist abhängig von konkreten Projekterfordernissen