Corso di Laurea Specialistica in Ingegneria Informatica
Corso di Linguaggi e Tecnologie Web
“Real world” Semantics
Eufemia TINELLI
A. A. 2011 - 2012
Pubblicare metadati su Web
• Pubblicare file RDF sul web
– MIME-type associato al file deve essere application/rdf+xml
– # per separare indirizzo web del file e il nome interno della porzione
della pagina
– URI usati per “navigare” il file
– Svantaggio: per accedere ad una singola risorsa bisogna caricare
tutto il file
• Endpoint SPARQL
– Un generico client RDF può interrogare l’endpoint inviando una query
SPARQL
– L’endpoint separa la richiesta dai dati interni all’applicazione
• Microformati ed RDFa
E. TINELLI – LTW A. A. 20112011-2012
2
Microformati – http://microformats.org
• Costruiti su (X)HTML esistenti per pubblicare e condividere più
informazione
• Progettati per essere modulari ed inseribili all’interno di pagine web
• Modellano standards ampiamente utilizzati (iCal, vCard, ...)
• Altri microformati: coordinate geografiche, orari di apertura
ristoranti/attività commerciali, CVs, …
<div class="vcard">
<div class="fn">Joe Doe</div>
<div class="org">The Example Company</div>
<div class="tel">604-555-1234</div>
<a class="url"
href="http://example.com/">http://example.com/</a>
</div>
E. TINELLI – LTW A. A. 20112011-2012
hCard è un semplice
formato per rappresentare
persone, aziende,
organizzazioni, usando lo
standard vCard (RFC2426)
3
RDFa - http://www.w3.org/TR/rdfa-syntax/
• Resource Description Framework in attributes
• RDFa è una sintassi di serializzazione per incapsulare un grafo RDF in
pagine XHTML
• Basato sugli stessi principi dei Microformati:
–
–
non un nuovo linguaggio
compatibile con le tecnologie esistenti
• … ma estensibile!!
• 3 costrutti per rappresentare la tripla RDF
– <span about=”subject”>...</span>
– <a rel=”predicate” href=”object”>...</a>
– <span property=”predicate” [content=“object”]>object</span>
• Es.
I'm currently reading
<span about=”urn:ISBN:0-596-00027-8”>
<span property="dc:title">Programming Perl</span>
by <span property="dc:creator">Larry Wall</span>
</span>.
….
Potete contattarmi al
<a rel=”vcard:email” href=“mailto:[email protected]
mio indirizzo email
</a>.
E. TINELLI – LTW A. A. 20112011-2012
4
Sparql Protocol And Rdf Query Language
(SPARQL)
• Linguaggio di interrogazione per dataset RDF basati su HTTP/SOAP:
– “graph pattern matching”
– Nessuna inferenza propria del linguaggio
– SPARQL query si compone di
• Uno SPARQL endpoint accetta queries and restituisce risultati via HTTP
E. TINELLI – LTW A. A. 20112011-2012
5
SPARQL: Esempio
Restituisci il “full name” di tutte le persone nel dataset
E. TINELLI – LTW A. A. 20112011-2012
6
SPARQL: Esempio
Restituisci la relazione tra John e Mary
E. TINELLI – LTW A. A. 20112011-2012
7
SPARQL: Esempio
Restituisci tutte le persone sopra i 30 anni
E. TINELLI – LTW A. A. 20112011-2012
8
SPARQL: Esempio
Restituisci tutte le persone e (opzionalmente) le loro spose
E. TINELLI – LTW A. A. 20112011-2012
9
Linked Open Data - LOD
E. TINELLI – LTW A. A. 20112011-2012
10
Un caso di studio: http://dbpedia.org/
• DBpedia project:
estrarre informazione
strutturata
daWikipedia e
renderla accessibile
sul Web
• DBpedia KB descrive
più di 2.6 milioni di
entità (persone,
luoghi, lavori
musicali, films,
aziende,… ) e
contiene 3.1 milioni
di links a pagine
esterne; e 4.9 milioni
di RDF links in altri
Web data sources
E. TINELLI – LTW A. A. 20112011-2012
11
Jena2 Ontology Stores vs Jena1
•
Jena2 è la seconda generazione di Jena toolkit, progetto open-source
sviluppato in java per la memorizzazione di triple RDF in conformità alle
ultime specifiche del W3C.
•
L’architettura di Jena2 presenta un modulo dedicato alla gestione dei
grafi RDF (graph implementations in-memory o database-backed,
inferred graphs).
•
In particolare, Jena database subsystem implementa la persistenza di
grafi RDF usando un database (cioè SQL standard) attraverso una
connessione JDBC. Sono attualmente supportati i seguenti DBMS:
Postgresql, MySQL, Oracle, Berkeley DB anche se Jena offre
un’architettura flessibile che permette di importare altri engine SQL.
•
Alcune caratteristiche aggiuntive di Jena 2: uno schema denormalizzato,
gestione della reificazione, ottimizzazione delle query (RDQL) ed una
interfaccia dedicata alla gestione dei grafi.
•
Jena supporta una serie di ragionatori predefiniti (transitive reasoner,
OWL-DL reasoner, ecc.)
E. TINELLI – LTW A. A. 20112011-2012
12
Schema normalizzato - Jena1
E. TINELLI – LTW A. A. 20112011-2012
13
Schema denormalizzato – Jena2
E. TINELLI – LTW A. A. 20112011-2012
14
Sesame (1/2)
•
Framework open source in java sviluppato all’interno del progetto On-ToKnowledge (IST-1999-10132) che permette la memorizzazione e la ricerca di
conoscenza formalizzata secondo lo standard RDF(S). Per la memorizzazione
delle triple RDF, Sesame utilizza DBMS quali MySql, PostGres e Oracle.
•
Ontology Middleware Module (OMM) è un middleware, di fatto
un’estensione di Sesame, che permette la gestione di ontologie e mantiene
l'indipendenza dal database grazie ad un’architettura che utilizza un data layer
denominato SAIL (Storage and Inference Layer). Lo svantaggio è rappresentato
dal fatto che lo schema del database varia con le limitazioni ed i costrutti
imposti dal DBMS scelto (relazionale oppure a oggetti). In ciascuno schema,
però, l’informazione è sempre modellata come tripla RDF: soggetto, predicato e
oggetto.
•
Sesame offre supporto per il controllo di concorrenza, indipendenza tra schema
e istanze ed un query engine dedicato per RQL.
E. TINELLI – LTW A. A. 20112011-2012
15
Sesame (2/2)
• Sesame utilizza RDQL (RDF Query Language) come
linguaggio di interrogazione a livello semantico delle
triple RDF. L’ottimizzazione del modello di query è
rappresentato dal fatto che la stessa viene analizzata in
streaming seguendo la struttura ad albero in cui la query
stessa viene suddivisa. In tale struttura ciascun nodo
rappresenta un’unità di esecuzione. Il principale
vantaggio di tale approccio è che, anche i risultati
possono essere restituiti in streaming al layer SAIL.
• Sesame supporta anche SeRQL (Sesame RDF Query
Language) che permette di definire “path expression” di
lunghezza arbitraria
E. TINELLI – LTW A. A. 20112011-2012
16
MySQL schema
E. TINELLI – LTW A. A. 20112011-2012
17
PostgreSQL schema
E. TINELLI – LTW A. A. 20112011-2012
18
Oracle RDF Store
• Oracle Spatial 11g release 2 introduce la prima piattaforma
commerciale di data management per applicazioni basate su
RDF.
• Un nuovo object type è stato definito per gestire dati RDF
basato su un graph data model: SDO_RDF_TRIPLE and
SDO_RDF_TRIPLE_S
– Le triple RDF sono persistenti, indicizzate ed interrogabili come
gli altri object-relational data types.
• RDF store in Oracle è costruito sull’Oracle Spatial Network
Data Model (NDM), in cui una network or graph cattura le
relazioni tra gli oggetti.
– RDF graphs sono modellati come una “directed logical network”
in NDM.
E. TINELLI – LTW A. A. 20112011-2012
19
RDF Graph in ORACLE
EXECUTE SDO_RDF.CREATE_RDF_NETWORK('rdf_tblspace');
CREATE TABLE FAMILY_RDF_DATA (id NUMBER, triple SDO_RDF_TRIPLE_S);
EXECUTE SDO_RDF.CREATE_RDF_MODEL
('FAMILY', 'FAMILY_RDF_DATA', 'TRIPLE');
INSERT INTO family_rdf_data VALUES (1,
SDO_RDF_TRIPLE_S('family',
'http://www.example.org/family/John',
'http://www.example.org/family/fatherOf','http://www.example.org/
family/Suzie'));
E. TINELLI – LTW A. A. 20112011-2012
20
Riferimenti
1. E. Della Valle, I. Celino, D. Cerizza, Semantic Web – Modellare e
condividere per innovare, Pearson (collana Addison Wesley) 2008
2. WILKINSON, K., SAYERS, C., KUNO, H. A., AND REYNOLDS, D. Efficient
RDF Storage and Retrieval in Jena2. In The first International Workshop
on Semantic Web and Databases (SWDB’03) (2003), pp. 131–150
3. BROEKSTRA, J., KAMPMAN, A., AND VAN HARMELEN, F. Sesame: A
Generic Architecture for Storing and Querying RDF and RDF Schema. In
The First International Semantic Web Conference (ISWC ’02) (2002),
pp. 54–68.
4. DEL MAR ROLDAN-GARCIA, M., AND ALDANA-MONTES, J. F. A Survey
on Disk Oriented Querying and Reasoning on the Semantic Web. In The
22nd International Conference on Data Engineering Workshops
(ICDEW’06) (Washington, DC, USA, 2006), IEEE Computer Society, pp.
58–65.
E. TINELLI – LTW A. A. 20112011-2012
21