Testo - DataBase and Data Mining Group
Transcript
Testo - DataBase and Data Mining Group
Archivi Multimediali e Data Mining Esercitazione 4 Vincenzo D’Elia [email protected] 14 ottobre 2009 1 Obiettivo Argomento della quarta esercitazione di laboratorio è l’annotazione di immagini secondo lo standard MPEG-7 e la ricerca tramite XQuery. Il software necessario per lo svolgimento di questa esercitazione è scaricabile dalla pagina del corso. Per questa esercitazione le fonti di materiale saranno • Wikipedia • l’archivio materiale-es3.zip presente sulla pagina del corso Si consiglia di creare una directory vuota di lavoro in cui salvare le immagini e i file xml contenenti le annotazioni. 2 Annotazione Il software usato per questa sezione è Caliph. 2.1 Eseguire Caliph Dalla pagina del corso scaricare il file CaliphEmir.zip. Scompattate quindi l’archivio, entrate nella directory ed eseguite SO Windows Linux File runCaliph.bat runCaliph.sh 1 2.2 Dati Le immagini utilizzate in questa sezione sono disponibili all’indirizzo http://commons.wikimedia.org/wiki/Category:2007 Six Nations Championship. Si considerino le seguenti immagini, raggruppate per azione mischia http://commons.wikimedia.org/wiki/Image:England-Scotland-3-2-07-CC-7.jpg http://commons.wikimedia.org/wiki/Image:Scotland Ireland scrum.jpg calcio http://commons.wikimedia.org/wiki/Image:Italian kickoff.jpg http://commons.wikimedia.org/wiki/Image:France-Wales 24022007 - 3.jpg placcaggio http://commons.wikimedia.org/wiki/Image:France-Wales 24022007 - 2.jpg 3 Metadati Annotare le immagini con le informazioni contenute nella pagina di wikipedia (autore, luogo, anno). Fornite una descrizione del contenuto dell’immagine tramite l’annotazione semantica. Si vogliono conoscere, nello specifico, le squadre in campo e l’azione svolta. Nel caso in cui uno specifico giocatore si distingua (ad esempio nel caso di un calcio) si identifichi tale giocatore con un nome scelto a piacere. N.B. Per stabilire una relazione tra due nodi si usa il tasto centrale del mouse. 4 Ricerca Il software usato per questa sezione è Emir. 4.1 Eseguire Emir I file necessari per l’esecuzione di Emir sono contenuti nell’archivio precedentemente scaricato (CaliphEmir.zip). Entrate quindi nella directory ed eseguite SO Windows Linux File runEmir.bat runEmir.sh 2 Prima di poter iniziare ad eseguire ricerche è necessario indicizzare la directory di lavoro (in questo caso quella in cui sono state salvate le immagini ed i file xml contenenti le annotazioni). Figura 1: Creazione indice in Emir La Figura 1 mostra la schermata relativa alla creazione di un nuovo indice. 4.2 Ricerca semantica In questa sezione si utilizza la possibilità offerta da Emir di effettuare ricerche di nei grafi semantici. Si noti come “*” usato come nome per un nodo permetta di costruire un nodo anonimo e come non sia necessario connettere i nodi. 1. Cercare le immagini in cui gioca l’Irlanda 2. Cercare le immagini in cui la Francia gioca contro il Galles 3. Cercare le immagini in cui avviene una mischia 4. Cercare le immagini in cui avviene una mischia in una partita in cui gioca la Scozia 5. Cercare le immagini in cui un giocatore calcia la palla 6. Cercare le immagini in cui un giocatore italiano calcia la palla 5 XQuery con Saxon Il materiale (software e dati) per lo svolgimento di questa sezione è contenuto nella cartella Saxon dell’archivio materiale-es-3.zip. Nella cartella sono inoltre contenuti alcune query di esempio. Per l’esecuzione della query è necessario scrivere l’interrogazione con un editor di testo, come notepad, salvare il file (estensione xq) ed eseguirla da riga di 3 comando con esegui.bat file contenente la query Ad esempio query1.xq viene eseguito aprendo il prompt dei comandi, entrando nella directory Saxon ed eseguendo esegui.bat query1.xq 5.1 Dati I dati su cui vengono svolte le interrogazioni sono contenuti nella directory xml. Ogni file ha la struttura riportata in figura 2 Figura 2: Struttura file xml 5.2 Esempi La directory Saxon contiene alcuni esempi. 1. query.xq estrae il nodo title dal file 1.xml 2. query1.xq estrae tutti i nodi author dai file nella directory xml 3. query2.xq seleziona i file il cui autore ha come cognome Hobbes 4. query3.xq estrae id e nodo title di tutte le immagini aventi come tipo ’jpeg’ 5. query4.xq estre le immagini aventi larghezza maggiore di 400 4 5.3 Interrogazioni Si eseguano le seguenti interrogazioni 1. Per ogni immagine estrarre i dettagli (scartare cioè le informazioni legate all’autore) 2. Estrarre l’id ed il titolo di tutte le immagini il cui autore è Miranda 3. Selezionare le immagini il cui autore è Miranda oppure Robert 4. Estrarre gli autori che hanno realizzato almeno una immagine di tipo jpeg 5. Per ogni immagine estrarre il nome dell’autore se l’immagine è più larga di 200 6 Microsoft SQL Server 2005 In questa sezione verrà creato un database popolato di file xml e verranno eseguite alcune query SQL contenenti espressioni XQuery. Il materiale è contenuto nell’archivio materiale-es-3.zip, nella directory SQLServer. 6.1 Esecuzione Al LABINF bisogna eseguire Start > Programs > Microsoft SQL Server 2005 > SQL Server Management Studio. Figura 3: Microsoft SQL Server 2005 (1) La prima schermata, Figure 3, richiede di immettere l’indirizzo del server a cui connettersi. Al LABINF l’indirizzo da utilizzare è cclix3.polito.it. Una volta connessi bisogna creare una nuova base dati. Le figure 4 e 5 mostrano i passi per la creazione (tasto destro su Databases > New Database > scelta di un nome). 5 Figura 4: Microsoft SQL Server 2005 (2) Figura 5: Microsoft SQL Server 2005 (3) Una volta aggiornato l’albero sulla sinistra, è possibile eseguire delle query sulla nuova base dati. Bisogna selezionarla, fare click col tasto destro e scegliere New Query. A questo punto si può introdurre l’interrogazione nel campo testo ed eseguirla. 6.2 Creazione tabella e inserimento dati La cartella SQLServer contenuta nell’archivio materiale-es3.zip contiene gli script per la creazione ed il popolamento della tabella. N.B. Per eseguire lo script si può semplicemente aprire il file col notepad e copiare l’interrogazione nel campo testuale contenuto nella finestra di SQL Server. Si eseguano dunque gli script scriptCreazineDB.sql e contenuto.sql. Ogni tupla della tabella creata è caratterizzata da tre attributi 1. IDImage, un identificativo 6 Figura 6: Microsoft SQL Server 2005 (4) 2. ImageLocation, il percorso 3. MPEG 7Description, file xml contenente le annotazioni I file xml inseriti nella tabella sono i medesimi della sezione precedente. 6.3 Esempi Si eseguano ora le seguenti interrogazioni di esempio 1. selezionare il percorso delle immagini il cui autore è Miranda select ImageLocation from dbo.Images where MPEG_7Description.exist(‘/picture/author[@name=‘‘Miranda‘‘]‘) = 1; Si noti l’utilizzo di due apici per specificare il valore dell’attributo 2. selezionare l’id contenuto nel file xml di tutte le immagini il cui autore è Miranda select MPEG_7Description.query(‘for $i in /picture/author[@name=‘‘Miranda‘‘] return <pic> {$i/../@id} </pic>‘) from dbo.Images; Perchè sono presenti tuple vuote? 3. selezionare l’id contenuto nel file xml di tutte le immagini il cui autore è Miranda select MPEG_7Description.query(‘for $i in /picture return <pic> {$i/@id} </pic>‘) from dbo.Images where MPEG_7Description.exist(‘/picture/author[@name=‘‘Miranda‘‘]‘) = 1; 7 6.4 Interrogazioni Si eseguano le seguenti interrogazioni 1. Estrarre gli autori che hanno realizzato almeno una immagine di tipo jpeg 2. Selezionare i percorsi dei file in cui l’id contenuto nel file xml è minore di 10 3. Selezionare i percorsi ed i dettagli di tutte le immagini il cui autore è Paolo 4. Selezionare i percorsi dei file in cui l’autore è Robert, il tipo è jpeg e la larghezza è minore di 300 8