Università degli studi di Modena e Reggio Emilia
Facoltà di Ingegneria – sede di Modena
Corso di Laurea in Ingegneria Informatica
MOMIS: Progetto e
realizzazione di un
wrapper per sorgenti di
dati in formato RSS
Relatore
Chiar.mo Prof. Sonia Bergamaschi
Correlatore
Chiar.mo Prof. Maurizio Vincini
Tesi di Laurea di
Daniele Grassi
Indice
Il sistema MOMIS
Lo standard RSS
Il wrapper RSS
Esecuzione di query su feed RSS
Tesi Disponibile su: http://www.dbgroup.unimo.it/tesi/
Il sistema MOMIS
(Mediator envirOnment for Multiple
Information Sources)
• Sistema intelligente di integrazione di
informazioni da sorgenti di dati strutturati e
semistrutturati
• Approccio di integrazione semantico e
virtuale
L’architettura di MOMIS
Compiti di un wrapper
• Tradurre la descrizione della sorgente nel
linguaggio del mediatore
• Tradurre l’interrogazione ricevuta dal
mediatore in una query in linguaggio locale
• Trasferire i risultati parziali al mediatore
Lo standard RSS
• Formato basato su XML
• Obiettivo: distribuzione dei contenuti
• Ampio utilizzo, soprattutto nel campo delle
news
• Nascita: Netscape, 1999
• Sviluppato ulteriormente da Userland
• Ultima versione: Userland, 2.0.2, gennaio
2003
Distribuzione Versioni RSS
1.0; 3,13%
0.92 UL; 3,13%
Mal Formato; 1,56%
Versione
0.91 UL; 18,75%
2.0; 73,44%
Diffusione
2.0
73,44%
0.91 UL
18,75%
0.92 UL
3,13%
1.0
3,13%
Mal Formato
1,56%
0.90 (Netscape, 1999)
0.91 (Netscape, 2000)
0.91 (Userland, 2000)
0.92 (Userland, 2000)
0.93 (Userland, 2001)
1.0 (W3C, 2002)
2.0 (Userland, 2003)
Feed RSS 2.0 - Esempio
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Dictionary.com Word of the Day</title>
<link>http://dictionary.reference.com/wordoftheday/</link>
<description>A new word is presented every day with its definition and
example sentences from actual published works.</description>
<language>en-us</language>
<pubDate>Tue, 26 Sep 2006 00:00:03 -0700</pubDate>
<item>
<title>ostensible: Dictionary.com Word of the Day</title>
<link>http://dictionary.reference.com/wordoftheday/26.html</link>
<description>ostensible: appearing to be true, but not necessarily
so.</description>
</item>
</channel>
</rss>
Il wrapper RSS
• Funzionalità di acquisizione dello schema
sorgente:
– Legge la versione del feed RSS
– Utilizza il wrapper XSD (XML Schema)
opportuno per caricare lo schema locale
– Crea uno schema globale predefinito (se non
già esistente – RSS 2.0)
– Realizza i mapping tra schema locale e
schema globale
Il wrapper RSS
Wrapper
RSS
RSS 0.91
RSS 0.92
RSS 0.93
RSS 2.0
Wrapper
XSD
Feed RSS
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Dictionary.com </title>
<link>http://www.dictionary.com/
</link>
…
<item>
<title>ostensible: Dictionary.com
Word of the Day</title>
…
ODLI3
…
{ interface ${tRss} ( extent ${tRss} ) transient {
readonly attribute string ${tRss_version};
readonly attribute tRssChannel ${channel};
} ;
interface ${tRssChannel} ( extent
${tRssChannel} ) transient {
readonly attribute set <tRssItem> ${item};
readonly attribute string ${ttl} ?;
readonly attribute string ${title};
readonly attribute string ${category} ?;
readonly attribute string ${webMaster} ?;
readonly attribute string ${link};
…
Il wrapper RSS: Problemi
Riscontrati
• Limiti del wrapper XSD
– Problematiche di inserimento del nome del file
sorgente
– Problematiche di acquisizione di schemi
gerarchici
• Formato data RFC-822
Interrogazione di feed RSS
• Necessità di interrogare XML (i feed RSS
sono XML)
• Linguaggio XQuery: permette di eseguire
query su XML
• Libreria Java open-source XQEngine 0.69
Interrogazione di feed RSS
• Risultati:
– Esecuzione di semplici interrogazioni in
linguaggio XQuery
– Traduzione del risultato XML in ResultSet
utilizzabile in MOMIS
• Problemi Riscontrati:
– HTML nel campo <description>
– Tipi di dati
– Feed malformati o fuori standard
Conclusioni
• Integrazione di feed RSS in MOMIS
• Possibile sviluppo futuro del wrapper
(interrogazioni)
Applicazioni
• Integrazione di informazioni presenti in feed
RSS sullo stesso argomento provenienti da
siti diversi
Tesi Disponibile su: http://www.dbgroup.unimo.it/tesi/