MOQL
Multimedia
Object Query
Language
Seminar Multimedia-Datenbanken
WS 2001/2002
Volker Severt
Gliederung



bisherige MM-Anfragesprachen
Object Query Language
Multimedia-Erweiterungen (MOQL)
 räumliche
Beziehungen
 zeitliche Beziehungen
 Ergebnis-Präsentation


VisualMOQL / DISIMA-Projekt
Zusammenfassung
22.11.2001
MOQL - Volker Severt
Folie 2
Bisherige MM-Anfragesprachen
Unterteilung in 3 Kategorien:
 vollkommen neu und spezialisiert
(PICQUERY+ 1993)
 logische oder funktionelle Programmierung
(EVA 1992)
 Erweiterungen von SQL
(PSQL, VideoSQL, ESQL …)
22.11.2001
MOQL - Volker Severt
Folie 3
Eine allgemeine
Anfragesprache ?



Akzeptanz durch potentielle Nutzer wichtig
SQL-Syntax sehr erfolgreich / allgemein bekannt
Objektorientiertheit wünschenswert
Idee:
Erweiterung einer existierenden Anfragesprache,
konkret: OQL (Object Query Language)
22.11.2001
MOQL - Volker Severt
Folie 4
OQL




basiert auf dem ODMG-Objektmodell
angelehnt an SQL-92;
objektorientierte Erweiterungen:
komplexe Objekte, Objektidentität,
Pfadausdrücke,
Polymorphismus, Funktionsaufrufe, Late Binding
Einbettung in Programmiersprachen
Unterstützung durch Object-DBMS-Hersteller
22.11.2001
MOQL - Volker Severt
Folie 5
OQL
Grundkonstrukt zur Anfrage
select [ distinct ] projection_attributes
from query [ [ as ] identifier ]
{, query [ [ as ] identifier ] }
where query
22.11.2001
MOQL - Volker Severt
Folie 6
Multimedia-Anfragen ?
Folgende Eigenschaften muß eine Anfragesprache
dafür erfüllen:
 universell
 inhaltsbasierte Anfragen
 räumliche und zeitliche Anfragen
 unscharfe (fuzzy) Anfragen
 Präsentationsfunktionen
22.11.2001
MOQL - Volker Severt
Folie 7
MOQL

Erweiterungen in der where-Klausel von
OQL-Anfragen um die Angabe
 räumlicher
Beziehungen (spatial_expression)
 zeitlicher Beziehungen (temporal_expression)
 ‚beinhaltet‘-Beziehung (contains_predicate)

Präsentationsfunktionen mittels present-Klausel
22.11.2001
MOQL - Volker Severt
Folie 8
Räumliche Prädikate
point
line
region (circle,
rectangle)
point
nearest, farthest within, midpoint
centroid, inside
line
cross
intersect
inside (contains), cross
cover
(coveredBy),
cross
topological_predicate,
directional_predicate
region cover
(...)
Richtungen:
left, right, above, below, front, back, north, south,
west, east, northwest... sowie Kombinationen mit
front/back
(front_left, back_north ...)
22.11.2001
MOQL - Volker Severt
Folie 9
Räumliche Funktionen
Rückgabewer point
t
line
point
nearest, farthest
line
intersect
region
centroid
region
value
region
intersect region
length, slope
interior,
area,
exterior, mbr perimeter
select lake, area(lake.region)
from Lakes lake
where lake.region coveredBy SachsenAnhalt
and
22.11.2001
area(lake.region) > 10
MOQL - Volker Severt
Folie 10
Zeitliche Beziehungen
bei Zeitintervallen:
equal, before, after, meet, metBy, overlap, overlappedBy,
during, include, start, startedBy, finish, finishedBy


Zeitintervalle haben eine obere und untere
Grenze
Zeitpunkt ist Zeitintervall mit gleichen
Grenzwerten
Angabe
von: year, month,
day, hour, minute, second,Folie 11
MOQL - Volker Severt
22.11.2001
Zeitlich fortlaufende Medien
Funktionen (nur Videodaten):
(universell: timeStamp)
Rückgabewer frame
t
clip
frame
prior, next
clip
clip
firstFrame,
lastFrame, nth
prior, next
video
video
video
firstClip, lastClip,
nth
Prädikate (Kamerabewegungen):
zoomIn, zoomOut, panLeft, panRight, tiltUp, tiltdown,
cut, fade, wipe, dissolve
22.11.2001
MOQL - Volker Severt
Folie 12
Beispiel einer Video-Anfrage
‚Finde den ersten Filmausschnitt mit Person MrX
aus dem Video JamesB ‘
select firstClip( select c from JamesB.clips c
where c contains MrX
order by lowerBound(c.timestamp) )
22.11.2001
MOQL - Volker Severt
Folie 13
Präsentationsfunktionen

neue present-Klausel
select ... from ... where
where layout { and layout }
Das Layout setzt sich aus räumlichen und zeitlichen
Angaben
zusammen oder aus einem benutzerdefinierten ‚Szenario‘.
Angaben/Funktionen:
atWindow, play, parStart, display
22.11.2001
MOQL - Volker Severt
Folie 14
VisualMOQL


Implementierung des Bild-Teils von MOQL
Teil des DISIMA-Projekts (Distributed Image
Database Management System)
 inhaltsbasierte
Anfragen (‚hervorstechende‘ Objekte)
 deklarative Anfragemöglichkeiten
Single-Site-Implementierung / Prototyp:
http://darwell.uwaterloo.ca/~ddbms/DISIMA/Interface.html
22.11.2001
MOQL - Volker Severt
Folie 15
VisualMOQL
22.11.2001
MOQL - Volker Severt
Folie 16
VisualMOQL
Bild-Eigenschaften
BeziehungsDefinition
22.11.2001
MOQL - Volker Severt
Folie 17
VisualMOQL
Ergebnispräsentation: Datei-Liste mit Vorschaubildern
22.11.2001
MOQL - Volker Severt
Folie 18
Fazit




MOQL erweitert die bereits etablierte Object
Query Language
Anforderungen an eine allgemeine MM-Anfragesprache werden in der Theorie unterstützt
u.a. (noch) keine Behandlung von Audiodaten
bisher nur Prototyp auf ObjectStore
implementiert
22.11.2001
MOQL - Volker Severt
Folie 19
Quellenverzeichnis




J.Z. Li, M. T. Özsu, D. Szafron and Vincent Oria
MOQL: A Multimedia Object Query Language; Sept. 1997
Vincent Oria, M. T. Özsu, Paul J. Iglinski, Bing Xu and L. Irene
Cheng
DISIMA: An Object-Oriented Approach to Developing an Image
Database System; Feb. 2000
Vincent Oria, Bing Xu and M. Tamer Özsu
VisualMOQL: A Visual Query Language for Image Databases; Mai
1998
Vincent Oria, M. Tamer Özsu, Bing Xu, L. Irene Cheng and Paul J.
Iglinski
VisualMOQL: The DISIMA Visual Query Language
22.11.2001
MOQL - Volker Severt
Folie 20

MOQL Multimedia Object Query Language