Current Page: Greybox » Authoring » Course ID: medieninformatik » Modules » Module ID: m06 » Learning Units » Unit ID: 1_3_08
Last Modified:Tuesday, 2015-05-05 - 08:09:02
 
Tools: ValidatePreview XML Preview HTML Preview PDF
Alternative: Printable HTML

 

Learning Unit ID: 1_3_08
Title: Überblick über Management- und Abfragesprachen
Abstract: LU Überblick über Management- und Abfragesprachen gibt einen Überblick über Abfragesprachen in MMDB-Systemen. Es werden die verschiedenen Anfragearten an MMDB, sowie Anforderungen an eine MM-Anfragesprache behandelt. Danach wird auf die Multimediaerweiterungen der Object Query Language (OQL) und der Structured Query Language (SQL) eingegangen. Anschließend wird die Ergebnispräsentation und die SQL Erweiterung SQL+D behandelt.
 
Status:

Review II: done

Version: 8.0
History:

Codeformatierung siehe LU8korregiert.ppt - Done, please check and remove xIgnore. Done.(bt). Review II bis auf obige Punkte komplett berücksichtigt.

Links gesetzt.

Akronyme, Absätze und Wordanfühungszeichen done.

Review von Prof. Kosch eingearbeitet.

Unbekannte Character removed.


Author
Author 1: Harald Kosch E-Mail: harald.kosch@itec.uni-klu.ac.at
Author 2: (empty) E-Mail: (empty)
Author 3: (empty) E-Mail: (empty)
Author 4: (empty) E-Mail: (empty)
Author 5: (empty) E-Mail: (empty)
Organization: Universität Klagenfurt - Institut für Informatik-Systeme

Content

Management- und Abfragesprachen in MM-Systemen

1

Anfragearten in MM-Systemen

  • Exakte klassische Anfragen
    • Auf nicht multimediale Attribute
  • Semantische Anfragen
    • Ermitteln des Anfrageergebnisses durch Beschreibung von semantischen Inhalten (Vorkommen bestimmter Objekte, Personen)
  • Syntaktische Anfragen
    • Auf einfache Charakteristika der Medien
    • z.B. Bildgröße und Abspielgeschwindigkeit
  • Ähnlichkeitsanfragen
    • Beziehen sich auf low-level Merkmale der Medien (z.B.: Farbverteilungen) und fragen nach Medien mit ähnlichen Merkmalen ("gib mir alle Bilder die meinem
    • Suchbild ähneln").
  • Korrelationsanfragen
    • Versuchen räumliche und zeitliche Korrelationen in Medien abzufragen ("gib mir alle Bilder in denen ein roter Ball neben einem gelben Ball ist").

Anforderungen an eine MM-Anfragesprache

  • Folgende generelle Anforderungen an eine MM-Anfragesprache sind sinnvoll:
    • Universell (Anfragen an "gewöhnliche" Datenbankattribute)
    • Inhaltsbasierte Anfragen
    • Räumliche Anfragen
    • Zeitliche Anfragen
    • Ähnlichkeitsanfragen
    • Präsentation

Kategorien von MM-Anfragesprachen

  • "from the scratch"
    • VideoSQL
  • Erweiterung von SQL402 und MOQL405
    • SQL/MM und MOQL405 (als Beispiele später)

Erweiterungen von OQL/SQL

  • Es gibt mehrere Ansätze zu Standarderweiterungen von OQL421 und SQL402
    • MOQL405 für (wurde versucht in einzubringen)
    • SQL/MM für SQL-99 (standardisiert bei ISO/IEC Working Group, SQL402 of the JTC 1/SC 32 )
    • Defacto Standards einzelner Hersteller, z.B. in Oracle interMedia.

MOQL (Multimedia Object Query Language)

  • Erweiterungen in der where-Klausel von -Anfragen um die Angabe
    • räumlicher Beziehungen (spatial_expression)
    • zeitlicher Beziehungen (temporal_expression)
    • "beinhaltet"-Beziehung (contains_predicate)
  • Präsentationsfunktionen mittels present-Klausel
  • Mehr in LU Multimedia Object Query Language später

SQL / MM (MultiMedia)

  • ISO/IEC-Standard (ISO/IEC Working Group, SQL402 of the JTC 1/SC 32 ), der verschiedene "Klassenbibliotheken" auf SQL402 Objekttypen definiert.
  • Die in diesen Bibliotheken definierten strukturierten Typen sind first-class SQL402-Typen, die mit Anweisungen aus SQL:1999 angesprochen werden können. Internationaler Standard seit 2002.
  • SQL/MM (Multimedia) - bereits verabschiedete Teile:
    • SQL/MM Teil 1:
      • Framework
      • Überblick
    • SQL/MM Teil 2:
      • Vollltext
      • Regelt Konstruktion von Volltext und Suchmustern
    • SQL/MM Teil 3:
      • Spatial
      • Informationen zur Speicherung, Manipulation und
      • Suche von geometrischen und topografischen Daten
    • SQL/MM Teil 5:
      • Still Image
      • Informationen zum Verarbeiten und Analysieren von
      • Standbildern
SI_StillImageType in SQL/MM
  • Der SI_StillImage Typ in SQL/MM ist verantwortlich für die Verwaltung der Bilder und ist wie folgt definiert (Hauptkomponenten):
SI_StillImage Typ in SQL/MM
CREATE TYPE SI_StillImage
AS (
	SI_content BINARY LARGE OBJECT(SI_MaxContentLength),
	SI_contentLength INTEGER,
	...
	SI_format CHARACTER VARYING(SI_MaxFormatLength),
	SI_height INTEGER,
	SI_width INTEGER
)
INSTANTIABLE
NOT FINAL
Ähnlichkeitsabgleich in SQL/MM
  • Der SI_StillImage Typ ist für die Aufbewahrung der Bilder und anderer Typen, wie SI_ColorHistogram und SI_AverageColor für Repräsentationseigen-schaften vorgesehen.
  • CBR-Funktionalität: die polymorphe SI_Score Methode vergleicht zwei Signaturvektoren.
Beispiel Ähnlichkeitsabgleich in SQL/MM
SELECT
	p1, p2
FROM
	Picture1 p1, Picture2 p2
WHERE
	p1.photo1_color.SI_Score(p2. photo2) > 0.5 AND
	p1.photo1_texture.SI_Score(p2.photo2) > 0.4
Ähnlichkeitsabgleich bei OR-Datenbankanbietern
  • Oracle's interMedia und IBM DB2 Extenders (siehe LU Forschungsprodukte) beruht auf den Konzept von SQL/MM für den Ähnlichkeitsabgleich
  • Aber: andere SQL402-Syntax und keine polymorphe Scorefunktion.
  • Gleiche Anfrage wie zuvor, aber für Oracle:
Beispiel Ähnlichkeitsabgleich bei OR-Datenbankanbietern
SELECT
	p1.description,
	p2.description
FROM
	Picture p1,
	Picture p2
WHERE
	ORDSYS.IMGSimilar(
		p1.photo1_sig,
		p2.photo2_sig,
		'color="0,6" texture="0,2" shape="0,1" location="0,1"',
		20) = 1;

2

Anfragearten in MM-Systemen

Anfragearten in MM-Systemen können in verschiedene Kategorien eingeteilt werden.

  • Zunächst gibt es die klassischen Anfragen, die in jeder Anfragesprache verwendet werden und auch in MM-Anfragesprachen unterstützt werden sollen. Sie beziehen sich auf nicht multimediale Attribute.
  • Semantische Anfragen beziehen sich auf den semantischen Inhalt. Es wird beispielsweise abgefragt, ob gewisse Personen in einem Video vorkommen.
  • Syntaktische Anfragen werden auf einfache Charakteristika der Medien gestellt. Dies sind z.B. Bildgröße oder Abspielgeschwindigkeit.
  • Ähnlichkeitsanfragen werden verwendet, wenn low-level Merkmale (siehe LU MMDBMS Indizierung) von Bildern auf Ähnlichkeiten verglichen werden sollen ("Gib mir alle Bilder die meinem Suchbild ähneln").
  • Korrelationsabfragen beziehen sich auf räumliche und zeitliche Korrelationen in Medien. Z.B.: "Gib mir alle Bilder, in denen ein roter Ball neben einem gelben Ball ist"

Anforderungen an eine MM-Anfragesprache

Eine allgemeine MM-Anfragesprache muss folgende Anforderungen erfüllen, um allgemeine Akzeptanz zu finden:

  • Sie muss es erlauben, auch universelle Anfragen, also Anfragen an "gewöhnliche" Datenbankattribute, durchzuführen.
  • Die Anfragen selbst sollten inhaltsbasiert aufgebaut sein, aber sich nicht nur auf diese Ebene beschränken. Es muss auch möglich sein räumliche und zeitliche Anfragen an das System zu stellen. Dabei sollte auch ein gewisser Unsicherheitsfaktor berücksichtigt werden können.
  • Ähnlichkeitsabfragen sind auch sehr wichtig, da sie die Anfrage durch Beispiel ermöglichen.
  • Eine wichtige Anforderung ist auch die Bereitstellung von Präsentationsfunktionen. Mit ihnen kann man die Details der Darstellung der Ergebnisse spezifizieren.

Kategorien von MM-Anfragesprachen

Bei der Entwicklung einer MM-Anfragesprache gibt es zwei verschiedene Ansatzmöglichkeiten:

  1. Eine völlig neue Sprache entwickeln (z.B.: VideoSQL) oder
  2. eine bereits vorhandene Anfragesprache mit Multimedia zu erweitern (SQL/MM, MOQL405).

VideoSQL ist eine SQL402-ähnliche Anfragesprache für das Retrieval von Video Objekten. Sie ist Teil des OVID Projektes, einem Video Objekt Datenbank System, welches von Oomoto und Tanaka entwickelt wurde. Eine VideoSQL Klausel besteht aus select - from - where. Die Select-Klausel unterscheidet sich aber von herkömmlichen SQL402. Hier wird lediglich die Kategorie der Ergebnisobjekte mit den Schlüsselwörtern "continuous" , "incontinuous" und "anyObject" angegeben. Mit "continuous" erhält man Videoobjekte mit einer einzigen fortlaufenden Videosequenz, "incontinuous" liefert Objekte mit mehr als einer fortlaufenden Videosequenz. Wenn das Ergebnis nicht auf diese Eigenschaft eingeschränkt werden soll, wird "anyObject" angegeben. In der From-Klausel wird der Name der Datenbankobjekte spezifiziert und in der Where-Klausel die Bedingungen für die Anfrage. Diese Bedingungen enthalten Attribut/Werte Paare und Vergleichsoperatoren. Videonummern können auch zur Spezifizierung der Bedingungen herangezogen werden.

Mit VideoSQL ist es möglich Videoobjekte von mehreren Anfragen miteinander zu verbinden. Der große Nachteil dieser Sprache ist, dass sie keine Ausdrücke für zeitliche oder räumliche Anfragen auf die Videoobjekte hat.

Erweiterungen von OQL/SQL

Neben der Schaffung einer völlig neuen Sprache gibt es natürlich auch die Möglichkeit eine bereits bestehende Anfragesprache um Multimediakomponenten zu erweitern.

Ein objektorientierter Ansatz ist die Erweiterung OQL421 auf MOQL405. Aber auch für SQL402 gibt es eine Multimediaerweiterung: SQL/MM für SQL-99 wurde bei der ISO/IEC Working Group standardisiert. Multimediaerweiterungen werden aber auch von einigen Herstellern verwendet und somit de facto standardisiert, z.B. Oracle interMedia.

MOQL (Multimedia Object Query Language)

Die Multimediaerweiterungen sind einmal in der where-Klausel und es wird eine eigene present-Klausel eingeführt.

Hier werden räumliche und zeitliche Beziehungen näher umschrieben. Räumliche Beziehungen werden mit räumlichen Objekten (z.B.: Punkte, Linien), räumlichen Funktionen (z.B.: Länge, Höhe, Fläche) und räumlichen Prädikaten (z.B.: überdeckend, angrenzend, rechts davon) ausgedrückt. Die zeitlichen Ausdrücke beziehen sich auf zeitliche Objekte (z.B.: Sequenz von Tönen, Bildern) , zeitliche Funktionen (z.B.: Jahr, Minute, Stunde) und zeitliche Prädikate (z.B.: während, danach, startet).

Zusätzlich gibt es in der where-Klausel "beinhaltet"-Beziehungen. Mit ihnen ist es möglich Teilmengen anzugeben, z.B. dass eine gewisse Person in einem gewissen Bild erscheinen soll.

Neben der Erweiterungen in der where-Klausel gibt es eigene Präsentationsfunktionen mit der present-Klausel. Mit ihr werden die Ergebnisse, je nach Wunsch des Benutzers, miteinander räumlich und/oder zeitlich für die Darstellung kombiniert.

MOQL405 wird in LU Multimedia Object Query Language genauer behandelt.

SQL / MM (MultiMedia)

SQL/MM ist ein von der ISO/IEC Working Group festgelegter und eigenständiger SQL402 Standard für Medienobjekte/Multimedia und Applikationspakete, der seit 2002 internationaler Standard ist. Es gibt verschiedene "Klassenbibliotheken", mit denen verschiedene strukturierte Typen definiert werden können. Diese Typen sind first-class SQL402-Typen, welche mit Anweisungen aus SQL:1999 angesprochen werden.

SQL/MM besteht aus vier bereits beschlossenen Teilen, Teil 4 (General Purpose Facilities) und 6 (Data Mining) befinden sich noch in Bearbeitung:

Teil 1: Framework
Im ersten Teil des Standards wird auf eine nicht-technische Art und Weise beschrieben, wie die anderen Teile von SQL/MM strukturiert sind.
Teil 2: Fulltext
Ist für die Speicherung und Verarbeitung von Texten verantwortlich. Text wird in semantische Einheiten gegliedert (Wörter, Sätze, Absätze) und es werden mehrere Methoden zur Suche in den Texten zur Verfügung gestellt. Weiters kann man damit einem Text Sprache zuordnen oder einen Beispieltext übergeben.
Teil 3: Spatial
Dieser Teil soll eine einheitliche Schnittstelle bieten, um raumbezogene Daten auf einen Datenbankserver speichern und verarbeiten zu können. Er enthält Informationen zur Speicherung, Manipulation und Suche von geometrischen und topographischen Daten.
Teil 5: Still Image
Der Teil "Still Image" dient zur Speicherung und Verarbeitung von Bildern in der Datenbank. Mit Hilfe von visuellen Prädikaten kann man nach Bildern suchen.
SI_StillImageType in SQL/MM

Der Datentyp SI_StillImage wird für digitale Rasterbilder (interne Speicherung als BLOB407) in der Datenbank verwendet. Die Hauptkomponenten von SI_StillImage sind wie folgt definiert:

SI_StillImage Typ in SQL/MM
CREATE TYPE SI_StillImage
AS (
	SI_content BINARY LARGE OBJECT(SI_MaxContentLength),
	SI_contentLength INTEGER,
	...
	SI_format CHARACTER VARYING(SI_MaxFormatLength),
	SI_height INTEGER,
	SI_width INTEGER
)
INSTANTIABLE
NOT FINAL
Auto

Im Attribut SI_content definiert SI_MaxContentLength die maximale Länge für die Binärrepräsentation des SI_StillImage. SI_format enthält alle Informationen bezüglich Format (z.B. Höhe und Breite), Komprimierung, etc. SI_Max_FormatLength ist die maximal erlaubte Länge der Charakteristika-Repräsentationen eines Bildformats.

INSTANTIABLE bedeutet, dass es instanziiert werden kann, durch NOT FINAL ist es möglich Subtypen zu bilden.

Ähnlichkeitsabgleich in SQL/MM

Der SI_StillImage Typ ist für die Aufbewahrung von Bildern und anderen Typen zur Repräsentation, wie SI_AverageColor (durchschnittlicher Farbwert), SI_ColorHistogram (Farbverteilung) SI_PositionalColor (Farbverteilung bezüglich Bildlage), SI_Texture (Angaben zu Auflösung, Kontrast etc.) vorgesehen.

Der Ähnlichkeitsabgleich wird durch die CBR-Funktionalität unterstützt (Content-Based Retrieval). Die polymorphe SI_Score Methode vergleicht zwei Signaturvektoren und liefert das Maß der Übereinstimmung zurück.

Beispiel Ähnlichkeitsabgleich in SQL/MM
SELECT
	p1, p2
FROM
	Picture1 p1, Picture2 p2
WHERE
	p1.photo1_color.SI_Score(p2. photo2) > 0.5 AND
	p1.photo1_texture.SI_Score(p2.photo2) > 0.4
Auto

Zurückgegeben werden alle Bilder p1 ε Picture1 und p2 ε Picture2, deren Farb- und Texturwerte zu 50 % bzw. 40 % übereinstimmen. Das Objekt colorhist enthält das Farbhistogramm des ersten Bildes. Die Methode SI_Score vergleicht es dann mit Bildern aus Picture2 und gibt einen Wert größer oder gleich 0 zurück. Je geringer der retournierte Wert ist, desto ähnlicher sind sich die Farbhistogramm-Werte der beiden Bilder. Der Texturvergleich der beiden Bilder erfolgt analog.

Ähnlichkeitsabgleich bei OR-Datenbankanbietern

Das Konzept der SQL/MM Typen und Methoden wird bereits in der Praxis für den Ähnlichkeitsabgleich eingesetzt: Oracle's interMedia oder IBM DB2 Extenders (siehe Forschungsprodukte). Sie beruhen zwar auf dem Konzept von SQL/MM, haben aber eine andere SQL402-Syntax und unterstützen keine polymorphen Scorefunktionen.

Das zuvor gezeigte Abfragebeispiel würde in Oracle so aussehen:

Beispiel Ähnlichkeitsabgleich bei OR-Datenbankanbietern
SELECT
	p1.description,
	p2.description
FROM
	Picture p1,
	Picture p2
WHERE
	ORDSYS.IMGSimilar(
		p1.photo1_sig,
		p2.photo2_sig,
		'color="0,6" texture="0,2" shape="0,1" location="0,1"',
		20) = 1;
Auto

Selektiert wird die Beschreibung der Bilder p1 und p2. Die SI_Score-Methode wird hier durch IMGSimilar ersetzt. Auch hier werden die Signaturvektoren der übergebenen Bilder verglichen. Es wird dann angegeben, welche Gewichtung die low-level Features Farbe, Textur, Form und Lage haben. Der Rückgabewert beträgt 1, wenn der gemessene Vergleichswert unter oder gleich 20 ist. 0 würde zurückgegeben werden, wenn der Unterschied mehr als 20 beträgt.

Ergebnispräsentation

1

Auto

  • sehr wichtig für MMDBS
  • komplexer als bei traditionellen DB
  • räumliche und zeitliche Informationen nötig (z.B. Anordnung und Ausführungsreihenfolge)
  • Unterschiede:
    • Medienzusammensetzung
    • interaktive Bedienung
    • Synchronisation

Anfrage und Präsentation: SQL+D

  • SQL+D ist eine Multimedia- und Präsentations- Erweiterung für objektrelationales SQL402.
    • Sie gibt dem Benutzer die Möglichkeit das Bildschirmlayout in einer SQL402-Anfrage zu spezifizieren, um die Resultate der Anfrage auszugeben.
Beispiel SQL+D - Anfrage
SELECT a, v
	FROM MONUM
	WHERE	country='USA'
	DISPLAY panel main
	WITH a AS audio A, v AS video V ON main.Center(Overlay),
	SHOW V,A

Auto PC

Abfrageverarbeitung in SQL+D

Auto PDA_Phone

Abfrageverarbeitung in SQL+D

2

Auto

Die Präsentation von Ergebnissen ist in MMDB sehr wichtig. Sie ist im Gegensatz zu traditionellen Ausgaben von Tabellen sehr viel komplexer. Dem Benutzer muss es möglich sein zeitliche und räumliche Anordnungen des Ergebnisses zuvor festzulegen.

Die vom Benutzer festgelegten Rahmenbedingungen können die Medienzusammensetzung (z.B: Mit der Musik anfangen und dann nach 5 Sekunden das Bild anzeigen) betreffen. Des Weiteren sollte es möglich sein, die Präsentation interaktiv zu gestalten und ihre Teile zu synchronisieren.

Für die Konfiguration der Ergebnispräsentation kann eine Eingabemaske oder eine Programmiersprache verwendet werden.

Anfrage und Präsentation: SQL+D

SQL+D ist eine Erweiterung von SQL402 für die Ergebnispräsentation. So ist es dem Benutzer möglich das Bildschirmlayout gleich bei der Anfrage zu spezifizieren.

Beispiel SQL+D - Anfrage
SELECT a, v
	FROM MONUM
	WHERE	country='USA'
	DISPLAY panel main
	WITH a AS audio A, v AS video V ON main.Center(Overlay),
	SHOW V,A
Auto

Wie die Abfrage zeigt, wird SQL+D einfach einer normalen SQL402-Abfrage angehängt. Das Schlüsselwort für die Ergebnispräsentation ist "DISPLAY". Damit wird der Ort für die Präsentation angegeben - in diesem Fall das Haupt-Fenster (Panel). Es können aber auch mehrere Anzeige-Orte angegeben werden.

Danach folgt ein "WITH" in dem die Datenelemente angegeben werden, die dann in den Fenstern gezeigt werden sollen. Durch "ON" kann man festlegen in welchem Fenster und mit welcher Ausrichtung die Datenelemente ausgerichtet werden sollen. In diesem Beispiel soll es zentriert ausgegeben werden, aber es gibt auch die Möglichkeit Himmelsrichtungen anzugeben (north, south, east, west).

Durch "SHOW" gibt man an, welcher der zuvor in "WITH" spezifizierten Datenelemente gezeigt werden sollen. Diese Angabe kann aber auch weggelassen werden.

Abfrageverarbeitung in SQL+D PC

Eine SQL402-Abfrage mit SQL+D wird folgendermaßen verarbeitet:

Auto PC

Abfrageverarbeitung in SQL+D

Auto PDA_Phone

Abfrageverarbeitung in SQL+D

Auto

Zunächst geht die Abfrage zu einem SQL+D Interpreter. Dieser teilt diese in zwei Teile. Der erste Teil ist die "normale" SQL402-Abfrage, welche über die Datenbankschnittstelle an die Datenbank weitergeleitet und ausgewertet wird. Das Ergebnis geht dann an die Ausgabekontrolle. Dorthin wurde auch der zweite Teil der Abfrage, die SQL+D Präsentationsangaben, geleitet. Diese werden dann verwendet, um die Ergebnisdaten aus der Datenbank so auszugeben, wie es der Benutzer zuvor spezifiziert hat. Die Ausgabekontrolle besteht aus einem Parser und einem Ausgabegenerator. Der Parser leitet die Ausgabeinformationen an den Ausgabegenerator weiter. Dieser generiert dann die Ausgabe entsprechend den Anforderungen. Events im Ausgabefenster werden an die Ausgabekontrolle geleitet, die dann mit Hilfe des Ausgabegenerators die Ausgabe updatet.

Bibliographie

2

Auto

NGB98

AMS98

ME01


Notes
(empty)