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