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
Scarica

XQuery I - Politecnico di Torino