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