Semantic Web: linguaggi e tecnologie



Похожие документы
Introduzione al Semantic Web

RDF RDFS RDF/XML. Dott.sa Vincenza Anna Leano Basi di Dati II mod. B Prof. F. Cutugno A.A. 2010/2011

Introduzione a RDF (Resource Description Framework)

Informatica Applicata 3.3 OWL. Antonella Poggi. Anno Accademico DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO FILOLOGICHE E GEOGRAFICHE

Enrico Fagnoni BOTK IN A NUTSHELL

Dati Semistrutturati: il linguaggio RDF Esempi ed esercitazioni

Database. Si ringrazia Marco Bertini per le slides

2.1 Introduzione ai linguaggi di marcatura

Creare ontologie ONTOLOGIE, DESCRIPTION LOGIC, PROTÉGÉ STEFANO DE LUCA

Le ontologie nell integrazione dei dati

Rappresentazione della Conoscenza. Lezione 10. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 10 0

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

Corso di Basi di dati e Sistemi Informativi A. A Corso di Laurea in Ingegneria Informatica. RDF e RDF Schema. 20/06/2013 Giuseppe Loseto 1

Capitolo 4 Pianificazione e Sviluppo di Web Part

Web Semantico e Linked (Open) Data: dal Web dei documenti al Web dei dati. Tommaso Di Noia

Soluzione dell esercizio del 2 Febbraio 2004

Esercitazione di Basi di Dati

Strutturazione logica dei dati: i file

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Class Discovery E.

Linguaggi per il web oltre HTML: XML

Estrattore Semantico di Ontologie da DB Relazionali. Luca Macagnino

Modellazione e Gestione di Informazioni non Strutturate

Ricorsione in SQL-99. Introduzione. Idea di base

Organizzazione degli archivi

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Linked Open Data Introduzione e nuovi punti di vista Silvia Mazzini Antonella Pagliarulo smazzini@regesta.com apagliarulo@regesta.

3.1 Introduzione al Web Semantico

Capitolo 13. Interrogare una base di dati

Reti di Calcolatori. Il Livello delle Applicazioni

Interrogazione strutturata di triple RDF estratte dal linguaggio naturale

Protocollo di metadata harvesting OAI-PMH Lavoro pratico 2

Simple & Efficient.

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB

Reti di Telecomunicazione Lezione 6

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Dalla progettazione concettuale alla modellazione di dominio

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Pubblicazione di Linked Data in e-commerce: Progettazione e Sperimentazione (Riassunto)

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Linguaggi e Paradigmi di Programmazione

Protocolli applicativi: FTP

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Descrizione Formale Esplicita Dominio

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Linked Open Data: pubblicazione, arricchimento semantico e linking di dataset pubblici attraverso il sistema MOMIS

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

La struttura: DTD. Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino. laura.farinetti@polito.it

La sintassi di un DTD si basa principalmente sulla presenza di quattro dichiarazioni:

Corso di Informatica

Architettura MVC-2: i JavaBeans

RDF. Resource Description Framework

Form di gestione del contenuto

Reti di Telecomunicazione Lezione 8

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A Language) Stylesheet.

Progettazione di Basi di Dati

Seminario di Sistemi Distribuiti RPC su SOAP

MODELLO RELAZIONALE. Introduzione

Siti web centrati sui dati (Data-centric web applications)

Modellazione dei dati in UML

Rappresentazione grafica di entità e attributi

Rappresentazione della Conoscenza nel Semantic Web. Semantic Web

Laboratorio Matematico Informatico 2

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Database 1 biblioteca universitaria. Testo del quesito

Progettazione : Design Pattern Creazionali

Informatica (Basi di Dati)

Il Modello Relazionale

extensible Markup Language

Ontologie integrate da lessici per indicizzazione e ricerca nel Semantic Web

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Hardware e Software nelle Reti

Manuali.net. Nevio Martini

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

Informatica per la comunicazione" - lezione 10 -

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

Creare un Ipertesto. 1

Costruire un' ontologia: perché e come farlo

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Esercizio data base "Biblioteca"

Транскрипт:

Corso di Laurea Specialistica in Ingegneria Gestionale Corso di Sistemi Informativi A. A. 2012-2013 Semantic Web: linguaggi e tecnologie Eufemia TINELLI

Dal Web al Semantic Web: Motivazioni Il Web dovrebbe permettere di condividere informazioni tra persone svolgere attività per soddisfare le necessità degli utenti che utilizzano il Web Problemi Il Web è enorme Il Web contiene informazioni destinate ad utenti umani Non c è niente in un documento HTML che indichi l argomento trattato o la fonte delle informazioni Un calcolatore non può comprendere il significato di un documento L unico tipo di ricerca possibile è quello sintattico (per parole-chiave). Difficoltà dovute a: Polisemia e omonimia (una parola con più significati): bassa precision Sinonimia (più parole con stesso significato): basso recall Come integrare informazioni provenienti da diverse fonti? Come svolgere un compito integrando diversi servizi disponibili sul Web? E.g.: Prenotare un biglietto aereo per Roma, un biglietto ferroviario dall'aeroporto al centro città e un albergo a meno di 5 isolati dalla stazione 2

Il Semantic Web Il W3C (World Wide Web Consortium) considera il Semantic Web come l ideale evoluzione del Web da machine-representable a machine-understandable Il Web è una ragnatela di documenti collegati tra loro, per l'utilizzo umano Il Semantic Web è una ragnatela di informazioni connesse dalla semantica (il significato). L idea è di generare documenti che possano al tempo stesso essere letti e compresi da esseri umani, ma anche acceduti ed interpretati da agenti automatici alla ricerca di contenuti. Il Semantic Web punta a trasformare il Web in una grande Base di Conoscenza Agente SW 3

Come passiamo dal Web al Semantic Web? Il Web già offre un'infrastruttura per pubblicare contenuti accessibili da tutti e per integrare i propri contenuti con quelli forniti da altri (attraverso gli URL e i collegamenti) Passo 1: rendere la semantica delle informazioni accessibile agli elaboratori (machine-understandable) Soluzione: uso di metadati (data about data) Passo 2: combinare informazioni provenienti da sorgenti diverse ai fini di realizzare servizi intelligenti : Ricerca basata su concetti Scambio di informazioni e composizione di servizi su base dichiarativa 4

Come condividere la conoscenza Occorre un linguaggio che: abbia una sintassi che assicuri l'interoperabilità abbia una semantica condivisa permetta di esprimere ontologie permetta elaborazioni efficienti, data la grandezza del Web Occorre un'infrastruttura che permetta di: aggiungere metadati ai documenti esistenti (evitare l'impresa impossibile di riscrittura del Web) referenziare entità in maniera univoca nell'intero Web integrare diverse fonti di conoscenza in un ambiente distribuito quale è il Web Un ontologia è una specifica esplicita e formale di una concettualizzazione condivisa [Gruber, 1993] relativa ad una porzione della realtà (dominio) 5

I livelli di interoperabilità richiesti dal Semantic Web Sintattico Richiede una struttura sintattica per la descrizione e lo scambio di dati (XML) Semantico Richiede il mapping tra termini (l interoperabilità migliora se gli stessi termini sono usati per denotare gli stessi concetti) e l analisi del contenuto (RDF&RDFS,OWL,DLs) Logico Richiede specifiche esplicite delle regole di inferenza per il ragionamento sulla conoscenza del livello semantico (SWRL) 6

Struttura del Semantic Web - W3C Recommendation (Gennaio 2008) 7

RDF Resource Description Framework (RDF) è un framework (modello generale) per asserire conoscenza nel Web È progettato per descrivere i metadati Le specifiche di RDF sono disponibili su: http://www.w3c.org/rdf/ RDF consiste di: Model and Syntax Specification (22 Febbraio 1999) specifiche per modellare i metadati RDF e codificarli opportunamente per assicurare l interoperabilità RDF/XML Syntax Specification (Revised - 25 Marzo 2005) estensione della versione originale RDF Model & Syntax Document RDF Schema (27 Marzo 2000) - descrivere come usare RDF per descrivere vocabolari RDF 8

Modello dei dati RDF E' basato su tre concetti: Risorse: tutto ciò che viene descritto. Ogni risorsa è identificata da un URI Proprietà: una coppia attributo-valore che si vuole associare ad una risorsa l'attributo è anch'esso identificato da un URI il valore può essere un'altra risorsa o un tipo di dato primitivo (stringa, intero...) Asserzioni (statement): l associazione di una proprietà ad una risorsa Una asserzione ci dice che una risorsa (soggetto) ha un certo valore (oggetto) per una certa proprietà (predicato) 9

Asserzioni RDF L'asserzione (statement) è l'unità informativa elementare in RDF Ha obbligatoriamente una struttura a tripla soggetto - predicato - oggetto. Un insieme di asserzioni RDF è detto modello Esempi Subject http://www.di.uniba.it/~g ci/rdf Tutorial.ppt mailto:capursi@sword.it Predicate http://purl.org/dc/elemen ts/1.1/creator http://www.myspace.co m/properties#firstname Object mailto:capursi@sword.it Daniele 10

Rappresentazione grafica - Esempio 1 Un modello RDF può essere rappresentato come un grafo etichettato orientato Resource Property Literal Value Resource Il precedente esempio. Property Resource Value http://www.di.uniba.it/~gci/rd F Tutorial.ppt http://purl.org/dc/elements/1.1/creator mailto:capursi@sword.it mailto:capursi@sword.it http://www.myspace.com/properties #firstname Daniele 11

Rappresentazione grafica - Esempio 2 http://www.di.uniba.it/ ~gci/rdf Tutorial.ppt http://purl.org/dc/elements/1.1/creator mailto:capursi@sword.it http://www.myspace.com/prope rties#firstname http://www.myspace.com/properties#age Daniele 25 12

Serializzazione di RDF Occorre una sintassi per la serializzazione di RDF per: salvare modelli RDF in forma persistente (e.g. su file) trasferirli da un'applicazione ad un'altra consentire il loro recupero dal Web RDF Model & Syntax Specification definisce una codifica XML standard del modello dati RDF Perché una codifica XML? Parser RDF più facili da implementare (basati su parser XML) XML risolve i problemi di interoperabilità e internazionalizzazione Servizio di validazione RDF/XML: http://www.w3.org/rdf/validator/ 13

L'esempio 2 codificato in XML <?xml version= 1.0?> <rdf:rdf xmlns:rdf= http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:dc= http://purl.org/dc/elements/1.0/ xmlns:ns0= http://www.myspace.com/properties# > <rdf:description rdf:about= http://www.di.uniba.it/~gci/rdftutorial.ppt > <dc:creator rdf:resource= mailto:capursi@sword.it /> </rdf:description> <rdf:description rdf:about= mailto:capursi@sword.it > <NS0:firstName>Daniele</NS0:firstName> <NS0:age>25</NS0:age> </rdf:description> </rdf:rdf> N.B. Sia le risorse sia le proprietà sono identificate da URI 14

L'esempio 2 codifica abbreviata in XML <?xml version= 1.0?> <rdf:rdf > xmlns:rdf= http://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:dc= http://purl.org/dc/elements/1.0/ xmlns:ns0= http://www.myspace.com/properties# <rdf:description rdf:about= http://www.di.uniba.it/~gci/rdf Tutorial.ppt > <dc:creator rdf:resource= mailto:capursi@sword.it NS0:firstName= Daniele NS0:age= 25 /> </rdf:description> </rdf:rdf> Più asserzioni con il medesimo soggetto possono essere raggruppate in un unico tag Description 15

Altre sintassi XML è solo uno dei possibili modi di serializzare RDF Esistono altre sintassi non standard per la codifica N3 (Notation 3) N-Triple Esempio 2 codificato in N-Triple <http://www.di.uniba.it/~gci/rdf Tutorial.ppt> <http://purl.org/dc/elements/1.0/creator> <mailto:capursi@sword.it>. <mailto:capursi@sword.it> <http://www.myspace.com/properties#firstname> "Daniele". <mailto:capursi@sword.it> <http://www.myspace.com/properties#age> "25". 16

Blank node Es. La ragazza con i capelli rossi ha 23 anni http://myspace.com/properties#haircolor urn:colors/red http://www.myspace.com/properties#age 23 17

Contenitori A volte è importante fare riferimento ad un insieme di risorse (ad esempio, se un documento è stato creato da più autori) In questo caso tali risorse devono essere inserite all interno di un contenitore che sarà l oggetto dello statement RDF definisce tre tipi di contenitori: Bag. E un insieme con ripetizioni. L ordine non è rilevante Sequence. E un insieme con ripetizioni ed un ordine definito tra le risorse presenti Alternative. E un insieme senza ripetizioni in cui può essere scelto uno solo degli elementi. L ordine degli elementi può essere usato per esprimere preferenza 18

Contenitori - esempio <rdf:description about="http://www.example.org"> <dc:contributor> <rdf:bag> <rdf:li>gianni</rdf:li> http://www.example.org <rdf:li>pinotto</rdf:li> </rdf:bag> </dc:contributor> </rdf:description> dc:contributor rdf:type rdf:_1 rdf:_2 rdf:bag Gianni Pinotto Analogamente si useranno i tipi rdf:seq per le sequenze e rdf:alt per le alternative. 19

Reificazione - 1 Come è possibile fornire meta-informazioni su una metainformazione? Ad esempio come posso esprimere la frase «Daniele Capursi afferma che gli asini possono volare»? Occorre considerare la metainformazione come una risorsa da descrivere mailto:capursi@sword.it http://myspace.com /properties#tosay urn:donkeys http://myspace.com /properties#ability urn:tofly Questa procedura si chiama reificazione (riduzione ad oggetto) dell'asserzione. Dopo avere reificato l asserzione si potranno esprimere ulteriori proprietà su di essa. 20

Reificazione - 2 Proprietà di reificazione rdf:subject corrisponde al soggetto nel data model RDF rdf:predicate corrisponde al predicato nel data model RDF rdf:object corrisponde all' oggetto nel data model RDF rdf:statement corrisponde all'insieme chiamato asserzione nel data model di RDF mailto:capursi@sword.it http://myspace.com/ properties#tosay rdf:object urn:tofly rdf:statement rdf:type rdf:subject urn:donkeys rdf:predicate http://myspace.com/ properties#ability 21

A che serve RDF? Non bastava XML per i metadati sul Web? In XML chiunque può definire tag e attributi......e chiunque può interpretarli come vuole In RDF invece se più persone (o programmi) usano lo stesso URI per una risorsa o proprietà, essi ne condividono esattamente il significato RDF non è XML Questo però non basta a fornire l'interoperabilità a livello semantico richiesta dalle applicazioni concepite per il Semantic Web Il modello di RDF non permette di effettuare validazione di un valore o restrizione di un dominio di applicazione di una proprietà 22

Esempio di vocabolario RDF L'esempio più famoso è forse il Dublin Core Metadata Initiative, relativo al dominio dei documenti (anche multimediali e ipertestuali) Proprietà Dublin Core 1.0: http://purl.org/dc/elements/1.0/ + Contenuti Title Subject Description Type Source Relation Coverage Proprietà intellettuale Creator Publisher Contributor Rights Istanza Date Format Identifier Language 23

RDF Schema RDF Schema (RDFS) permette di definire i propri vocabolari A differenza di XML Schema o di un DTD, RDF Schema non vincola la struttura del documento, ma fornisce informazioni utili all interpretazione del documento stesso RDF Schema è definito in termini di RDF stesso RDF Schema definisce un insieme di risorse RDF (schema) da usare per descrivere caratteristiche di altre risorse e proprietà RDF Uno schema può definire nuovi elementi from scratch o importarli da schemi esistenti per estenderli RDFS è un linguaggio ontologico lightweight RDFS è indipendente dal dominio 24

Le risorse RDFS RDF namespace (xmlns:rdf): http://www.w3.org/1999/02/22-rdf-syntax-ns# RDFS namespace (xmlns:rdfs): http://www.w3.org/2000/01/rdf-schema# 25

RDFS: Classi e proprietà (1) rdfs:resource - Ogni risorsa RDF è istanza di questa classe rdfs:literal - Sottoclasse di rdfs:resource, rappresenta un letterale, cioè una stringa di testo rdf:property - Rappresenta le proprietà. E sottoclasse di rdfs:resource. rdfs:class - Corrisponde al concetto di classe nella programmazione object-oriented. Quando viene definita una nuova classe, la risorsa che la rappresenta deve avere la proprietà rdf:type impostata a rdfs:class rdfs:subclassof - Specifica la relazione di ereditarietà fra classi Può essere assegnata solo a istanze di rdfs:class Una classe può essere sottoclasse di più classi (ereditarietà multipla) 26

RDFS: Classi e proprietà (2) rdfs:subpropertyof Istanza di rdf:property usata per specificare che una proprietà è una specializzazione di un altra. Ogni proprietà può essere la specializzazione di zero o più proprietà rdfs:seealso Istanza di rdf:property usata per indicare una risorsa che potrebbe fornire ulteriori informazioni riguardo al soggetto rdfs:isdefinedby - Sottoproprietà di rdfs:seealso, indica una risorsa che definisce il soggetto di un asserzione rdfs:label Usata per fornire una versione leggibile da utenti umani del nome di una risorsa 27

Vincoli I predicati più utilizzati per esprimere vincoli su altre proprietà sono rdfs:domain (dominio) - Usato come predicato di una risorsa r, indica le classi (soggetto) a cui può essere applicata r. rdfs:range (codominio) - Usato come predicato di una risorsa r, indica le classi che saranno oggetto di un asserzione che ha r come predicato <rdf:description rdf:id= NumeroPasseggeri"> <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax -ns#property"/> <rdfs:domain rdf:resource="#veicolopasseggeri"/> <rdfs:range rdf:resource="http://www.w3.org/2000/03/example/ classes#number"/> </rdf:description> 28

RDF & RDFS 29

RDFS: Esempio di codifica in XML. 30

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 31

SPARQL: Esempio Restituisci il full name di tutte le persone nel dataset 32

SPARQL: Esempio Restituisci la relazione tra John e Mary 33

SPARQL: Esempio Restituisci tutte le persone sopra i 30 anni 34

SPARQL: Esempio Restituisci tutte le persone e (opzionalmente) le loro spose 35

Riferimenti T. Berners-Lee, J. Hendler, O. Lassila, The Semantic Web: A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities, Scientific American, May, 2001 E. Della Valle, I. Celino, D. Cerizza, Semantic Web Modellare e condividere per innovare, Pearson (collana Addison Wesley) 2008 D. Beckett, RDF/XML Syntax Specification (Revised), W3C Recommendation 10/02/2004, http://www.w3.org/tr/rdf-syntaxgrammar/ D. Brickley, R.V. Guha, RDF Vocabulary Description Language 1.0: RDF Schema, W3C Recommendation 10/02/2004, http://www.w3.org/tr/rdf-schema/ E. TINELLI LTW A. A. 2011-2012 36