Annotazioni e XQuery Vincenzo D’Elia [email protected] DBDMG - Politecnico di Torino [email protected] Archivi Multimediali e Data Mining - p. 1 Annotazione l MPEG-7 intro l MPEG-7 obiettivi l XML l Caliph l Annotazione manuale l Semantica l Annotazione automatica l XML Annotazione Ricerca XQuery [email protected] Archivi Multimediali e Data Mining - p. 2 MPEG-7 intro Annotazione l MPEG-7 intro l MPEG-7 obiettivi l XML l Caliph l Annotazione manuale l Semantica l Annotazione automatica l XML Ricerca XQuery [email protected] L’obiettivo di MPEG-7 è fornire l’infrastruttura per ricerca (per similarità o testuale nei metadati) in archivi di immagini, audio e video. (the bits about the bits) possono riguardare n creazione e produzione del contenuto n informazioni di basso livello (colori) n soggetto dell’immagine (ambiente, entità presenti, interazione) n ... Archivi Multimediali e Data Mining - p. 3 MPEG-7 obiettivi Annotazione l MPEG-7 intro Gli obiettivi sono l MPEG-7 obiettivi l XML l Caliph n l Annotazione manuale l Semantica l Annotazione automatica l XML u da chi Ricerca XQuery n n [email protected] descrizione del contenuto u cosa è rappresentato u come è rappresentato supporto per indicizzazione e ricerca ... Archivi Multimediali e Data Mining - p. 4 XML Annotazione l MPEG-7 intro l MPEG-7 obiettivi l XML l Caliph l Annotazione manuale l Semantica La rappresentazione testuale delle annotazioni MPEG-7 viene creata tramite XML XML Schema fornisce lo strumento per la definizione e l’estensione dei Description Tool l Annotazione automatica l XML Annotazione manuale Ricerca XQuery Audio Video Immagine .... XML Annotazione automatica [email protected] Archivi Multimediali e Data Mining - p. 5 Caliph Annotazione l MPEG-7 intro l MPEG-7 obiettivi l XML l Caliph l Annotazione manuale l Semantica l Annotazione automatica l XML Ricerca XQuery Strumento GPL per annotazione di immagini basato su MPEG-7 [email protected] Archivi Multimediali e Data Mining - p. 6 Annotazione manuale Annotazione l MPEG-7 intro l MPEG-7 obiettivi l XML l Caliph l Annotazione manuale l Semantica l Annotazione automatica l XML Ricerca XQuery Maschera in cui inserire i metadati [email protected] Archivi Multimediali e Data Mining - p. 7 Semantica Annotazione l MPEG-7 intro l MPEG-7 obiettivi l XML l Caliph l Annotazione manuale l Semantica l Annotazione automatica l XML Ricerca XQuery Definizione di agenti ed eventi Relazioni definite dallo standard [email protected] Archivi Multimediali e Data Mining - p. 8 Annotazione automatica Annotazione l MPEG-7 intro l MPEG-7 obiettivi l XML l Caliph l Annotazione manuale l Semantica l Annotazione automatica l XML Ricerca XQuery Informazioni di basso livello sull’immagine (Color Layout Descriptor) [email protected] Archivi Multimediali e Data Mining - p. 9 XML Annotazione l MPEG-7 intro l MPEG-7 obiettivi l XML l Caliph l Annotazione manuale l Semantica l Annotazione automatica l XML Ricerca XQuery [email protected] <?xml version="1.0" encoding="UTF-8"?> <Mpeg7 xmlns="urn:mpeg:mpeg7:schema:2001" ... <DescriptionMetadata> <Creator> <Role href="creatorCS"> <Name>Creator</Name> </Role> <Agent xsi:type="PersonType"> <Name> <GivenName>Vincenzo</GivenName> <FamilyName>D’Elia</FamilyName> </Name> </Agent> </Creator> ... </Mpeg7> Archivi Multimediali e Data Mining - p. 10 Annotazione Ricerca l Indicizzazione l Emir l Creazione indice l Ricerca testuale l Ricerca nella semantica l Ricerca per similarità Ricerca l Visualizzazione archivio XQuery [email protected] Archivi Multimediali e Data Mining - p. 11 Indicizzazione Annotazione Ricerca l Indicizzazione L’annotazione permette di effettuare ricerche in una raccolta di contenuti digitali l Emir l Creazione indice l Ricerca testuale l Ricerca nella semantica l Ricerca per similarità l Visualizzazione archivio XQuery Tramite XML n si preserva la natura strutturata delle annotazioni n numerose tecnologie per indicizzazione e ricerca È possibile utilizzare n strumenti ad-hoc n strumenti standard de facto [email protected] Archivi Multimediali e Data Mining - p. 12 Emir Annotazione Ricerca l Indicizzazione l Emir l Creazione indice l Ricerca testuale l Ricerca nella semantica l Ricerca per similarità l Visualizzazione archivio XQuery Strumento GPL basato su MPEG-7 per n ricerca di immagini n visualizzazione di collezioni di immagini [email protected] Archivi Multimediali e Data Mining - p. 13 Creazione indice Annotazione Ricerca l Indicizzazione l Emir l Creazione indice l Ricerca testuale l Ricerca nella semantica l Ricerca per similarità l Visualizzazione archivio XQuery Il primo passo riguarda la creazione di un indice [email protected] Archivi Multimediali e Data Mining - p. 14 Ricerca testuale Annotazione Ricerca l Indicizzazione l Emir l Creazione indice l Ricerca testuale l Ricerca nella semantica l Ricerca per similarità l Visualizzazione archivio XQuery I risultati sono ordinati per pertinenza [email protected] Archivi Multimediali e Data Mining - p. 15 Ricerca nella semantica Annotazione Ricerca l Indicizzazione l Emir l Creazione indice l Ricerca testuale l Ricerca nella semantica l Ricerca per similarità l Visualizzazione archivio XQuery I risultati sono ordinati per pertinenza [email protected] Archivi Multimediali e Data Mining - p. 16 Ricerca per similarità Annotazione Ricerca l Indicizzazione l Emir l Creazione indice l Ricerca testuale l Ricerca nella semantica l Ricerca per similarità l Visualizzazione archivio XQuery I risultati sono ordinati per pertinenza [email protected] Archivi Multimediali e Data Mining - p. 17 Visualizzazione archivio Annotazione Ricerca l Indicizzazione l Emir l Creazione indice l Ricerca testuale MPEG-7 supporta la misura di distanza tra immagini. Emir offre quindi il supporto per effettuare il clustering dell’archivio La distanza è calcolata a partire dalle componenti cromatiche l Ricerca nella semantica l Ricerca per similarità l Visualizzazione archivio XQuery [email protected] Archivi Multimediali e Data Mining - p. 18 Annotazione Ricerca XQuery l esempio DOM l XPath l Nodi l Atomi XQuery l Selezione dei Nodi l Predicati l XPath III l XQuery I l Funzioni l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 19 esempio DOM Annotazione Ricerca XQuery l esempio DOM l XPath l Nodi l Atomi l Selezione dei Nodi l Predicati l XPath III l XQuery I l Funzioni l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 20 XPath Annotazione Ricerca XPath Ãĺ un linguaggio per l’estrazione di informazioni da documenti XML. XQuery l esempio DOM l XPath l Nodi l Atomi l Selezione dei Nodi l Predicati l XPath III Fornisce: n una sintassi per identificare porzioni di un documento XML n una libreria di funzioni l XQuery I l Funzioni l XQuery II Elemento fondamentale di XQuery e XSLT. l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 21 Nodi Annotazione Ricerca XQuery l esempio DOM l XPath l Nodi l Atomi l Selezione dei Nodi l Predicati Nodi l XPath III l XQuery I l Funzioni l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 22 Atomi Annotazione Ricerca XQuery l esempio DOM l XPath l Nodi l Atomi l Selezione dei Nodi l Predicati l XPath III Atomi l XQuery I l Funzioni l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 23 Selezione dei Nodi Annotazione Ricerca XQuery l esempio DOM l XPath l Nodi l Atomi l Selezione dei Nodi l Predicati l XPath III l XQuery I l Funzioni l XQuery II l Saxon l Esempi Le relazioni tra i nodi (genitore/ figlio) sono quelle date dal DOM. nome Tutti i sottoalberi radicati nel nodo chiamato nome / Seleziona a partire dal nodo radice // Seleziona tra i discendenti del nodo corrente . Nodo corrente .. Genitore del nodo corrente @ Seleziona gli attributi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 24 Predicati Annotazione Ricerca XQuery l esempio DOM l XPath l Nodi l Atomi Predicati sui nodi sono inseriti tra quadre [ 1] Il primo elemento figlio del nodo corrente [ last()] Ultimo elemento figlio del nodo corrente [@attr = n] Attributo attr del nodo corrente uguale a n l Selezione dei Nodi l Predicati l XPath III l XQuery I l Funzioni l XQuery II l Saxon Inoltre * match di qualsiasi nodo @* match di qualsiasi attributo l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 25 XPath III Annotazione Ricerca XQuery l esempio DOM l XPath l Nodi l Atomi l Selezione dei Nodi l Predicati l XPath III l XQuery I l Funzioni Linguaggio per Navigare nel DOM n /picture/author, tutti gli elementi author figli dell’elemento radice picture n //author, tutti gli elementi author n /picture/* tutti gli elementi figli dell’elemento radice picture n /picture/author[@surname] tutti gli attributi surname degli elementi author figli dell’elemento radice picture l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 26 XQuery I Annotazione Ricerca XQuery è un linguaggio per effettuare ricerche ed estrarre elementi ed attributi da documenti XML XQuery l esempio DOM l XPath l Nodi l Atomi l Selezione dei Nodi l Predicati l XPath III l XQuery I l Funzioni l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) Il costrutto base è detto FLWOR (pronuncia flower), acronimo di for, let, where, order by and return for Iterazione su una sequenza (di solito generata con un XPath) where Filtro sulla sequenza di input order by clausola di ordinamento return definire il risultato della query l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 27 Funzioni Annotazione Ricerca n n XQuery l esempio DOM l XPath l Nodi n doc(), nel for specifica il file collection(), nel for specifica di processare i file in una directory data(), estrae i dati dagli elementi l Atomi l Selezione dei Nodi l Predicati l XPath III l XQuery I l Funzioni l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 28 XQuery II Annotazione Ricerca Per selezionare un sottoalbero ad es. /picture/author[@surname=’Hobbes’] XPath XQuery l esempio DOM l XPath l Nodi l Atomi l Selezione dei Nodi l Predicati Con cui specificare la selezione di nodi. ad es. where $i/../../author/@name = "Miranda" Predicati l XPath III l XQuery I l Funzioni l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 29 Saxon Annotazione Ricerca Strumento in Java per la manipolazione di file XML tramite XQuery XQuery l esempio DOM l XPath l Nodi l Atomi Interfaccia a linea di comando l Selezione dei Nodi l Predicati l XPath III l XQuery I l Funzioni l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 30 Esempi Annotazione Ricerca XQuery l esempio DOM l XPath l Nodi l Atomi l Selezione dei Nodi l Predicati l XPath III l XQuery I l Funzioni l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) 1. sottoalbero radicato in title del file 1.xml for $i in doc(’./xml/1.xml’)/picture/details/title return $i 2. sottoalberi radicati in title dei file in ./xml/ for $i in collection("./xml")/picture/author return $i 3. dati sulle immagini di Miranda for $i in collection("./xml")/picture/author[@name="Miranda"] return <immagine> {$i/../@id} {$i/../details} </immagine> 4. title e @id delle immagini di tipo jpeg for $i in collection("./xml")/picture/details[type=’jpeg’] return <pic> {$i/../@id} {$i/title} </pic> l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 31 XMLType Annotazione Ricerca XQuery permette di manipolare collezioni o singoli documenti XML. XQuery l esempio DOM l XPath l Nodi l Atomi l Selezione dei Nodi l Predicati l XPath III l XQuery I l Funzioni l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Alcuni DBMS permettono inoltre di utilizzare XML come tipo per gli attributi. Se xml è un attributo di tipo XML di una tabella t abbiamo due possibilità: n utilizzare espressioni XPath come predicato di selezione ad es. where xml.exist(XPath) = 1 n produrre output tramite XQuery ad es. select xml.query(XQuery) from t Archivi Multimediali e Data Mining - p. 32 SQL Server 2005 (I) Annotazione Ricerca Start > Programs > Microsoft SQL Server 2005 > SQL Server Management Studio XQuery l esempio DOM l XPath l Nodi l Atomi l Selezione dei Nodi l Predicati l XPath III l XQuery I l Funzioni l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) cclix3.polito.it [email protected] Archivi Multimediali e Data Mining - p. 33 SQL Server 2005 (II) Annotazione Ricerca XQuery l esempio DOM l XPath l Nodi l Atomi l Selezione dei Nodi l Predicati l XPath III l XQuery I l Funzioni l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 34 SQL Server 2005 (III) Annotazione Ricerca XQuery l esempio DOM l XPath l Nodi l Atomi l Selezione dei Nodi l Predicati l XPath III l XQuery I l Funzioni l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 35 SQL Server 2005 (IV) Annotazione Ricerca XQuery l esempio DOM l XPath l Nodi l Atomi l Selezione dei Nodi l Predicati l XPath III l XQuery I l Funzioni l XQuery II l Saxon l Esempi l XMLType l SQL Server 2005 (I) l SQL Server 2005 (II) l SQL Server 2005 (III) l SQL Server 2005 (IV) [email protected] Archivi Multimediali e Data Mining - p. 36