- userLoginStatus
Welcome
Our website is made possible by displaying online advertisements to our visitors.
Please disable your ad blocker to continue.
Informatica - Metodi per il ritrovamento dell'informazione
Semantic Web
Divided by topic
Semantic Web - Intro 1 Where the Web was born 2 I principi del Web 1. Adattarsi alla natura frattale della società 2. Favorire e supportare l’invenzione indipendente • Semplicità e minimalità • Interoperabilità e partecipazione • Decentralizzazione e tolleranza 3 L’architettura del Web • Un meccanismo per identificare una risorsa (non necessariamente univoco) URI • Protocollo HTTP – Deferenziare risolvere l’URI – Negoziare una rappresentazione di una risorsa • Linguaggio ipermediale HTML 4 L’evoluzione del Web • Nascita delle tecnologie basate su XML – Web Service, feed RSS, xHTML , … • Web 2.0 • Blog • REST, Ajax • Social Network • L’evoluzione si è concentrata sulla rappresentazione 5 Dal Web al Semantic Web • 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). 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” 6 Dal Web al Semantic Web • Creare un’ estensione del Web attuale – sfruttando le tecnologie già presenti nel Web • Cooperazione – tra computer e umani • Semantica – associare un significato ben definito all’informazione 7 Semantic Web 8 “The Semantic Web is not a separate Web but an extension of the current one, in which information is given a well defined meaning, better enabling computers and people to work in cooperation.” Il Semantic Web • Il Semantic Web è l’ideale evoluzione del Web da machine -representable a machine - understandable – Web: rete di documenti collegati tra loro (link), per l'utilizzo umano – Semantic Web: rete di informazioni connesse dalla semantica, 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 9 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 ) – 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 10 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 11 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 12 Un’ ontologia è “una specifica esplicita e formale di una concettualizzazione condivisa” [Gruber, 1993] relativa ad una porzione della realtà (dominio) I livelli di interoperabilità del SW • 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) 13 Lo stack del SW 14 Annotazioni semantiche • Sono informazioni semantiche associate a risorse web • Perché si usano? – Per arricchire il contenuto informativo dei documenti – Per esprimere in maniera formale, il significato di una qualunque risorsa • Porzione di testo in un documento • Web service • Strutture dati coinvolte in un processo 15 Annotazioni semantiche • Criteri per classificare le annotazioni (in genere) – Livello di formalità del linguaggio usato (formale o informale) – Posizionamento dell’annotazione ( embedded o attached ) – Destinatario dell’annotazione ( human user o computer) – Tipo di risorsa annotata – Livello di restrizione imposto sul linguaggio – Modalità di annotazione (attraverso istanze o concetti) 16 Esempio di Annotazione 17 Person Researcher Faculty_Member mailto:[email protected] Is a Is a Is a Instance of Gino Felino è un ricercatore del Politecnico di Bari Gino Felino è un ricercatore del Politecnico di Bari name address Ontologia Annotazione attraverso concetti Annotazione attraverso istanze Student 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 18 Credits • Dott.ssa Eufemia Tinelli, Politecnico di Bari 19 I linguaggi del Semantic Web 1 2 Il mondo è fatto di metadati RDF • Resource Description Framework (RDF) è un framework 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 3 Alla base di RDF: le Risorse • Principi di RDF – tutto è un URI – tutto va descritto con la massima semplicità possibile – tutti possono dire tutto su tutti • Qualsiasi cosa descritta da RDF è detta risorsa RDF definisce “risorsa” tutto ciò che può essere descritto da un URI – pagine Web – insiemi di pagine – documenti XML – libri – persone – sentimenti 4 RDF è nato per descrivere principalmente risorse disponibili nel Web, ma può essere usato per descrivere qualsiasi cosa Modello dei dati RDF • E' basato su tre concetti: – Risorse: tutto ciò che viene descritto • o gni 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 • ci dice che “una risorsa ( soggetto ) ha un certo valore (oggetto ) per una certa proprietà ( predicato )” 5 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 6 Pierpaolo http://www.myspace.co m/properties#firstName mailto:[email protected] mailto:[email protected] http://purl.org/dc/elemen ts/1.1/creator http://www.di.uniba.it/~ g ci/RDF.ppt Object Predicate Subject Rappresentazione grafica • Un modello RDF può essere rappresentato come un grafo etichettato orientato 7 Property Literal Value Resource Property Resource Value Resource Rappresentazione grafica – Es.1 8 http://www.myspace.com/properties #firstName Pierpaolo mailto:[email protected] http://purl.org/dc/elements/1.1/creator http://www.di.uniba.it/~ gci/RDF.ppt mailto:[email protected] Risorsa Literal Rappresentazione grafica - Es. 2 9 http://www.myspace.com/prope rties#firstName Pierpaolo http://purl.org/dc/elements/1.1/creator http://www.di.uniba.it/ ~gci/RDF.ppt mailto:[email protected] 31 http://www.myspace .com/properties#age 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 / 10 Es. 2 codificato in XML 11 N.B. Sia le risorse sia le proprietà sono identificate da URI < 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.ppt ”> < dc:creator rdf:resource =“ mailto:[email protected] ”/> < rdf:Description rdf:about =“ mailto:[email protected] ”> < NS0:firstName > Pierpaolo < NS0:age > 31 L'es. 2 codifica abbreviata in XML 12 < 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 .ppt ”> < dc:creator rdf:resource =“ mailto:[email protected] ” NS0:firstName =“ Pierpaolo ” NS0:age =“ 31 ”/> Più asserzioni con il medesimo soggetto possono essere raggruppate in un unico tag Description Altre sintassi • XML è solo uno dei possibili modi di serializzare RDF • Esistono altre sintassi non standard per la codifica – N3 ( Notation 3) – N -Triple 13 . “Pierpaolo" . “31" . Tipizzazione delle risorse • E’ possibile assegnare ad ogni risorsa un tipo appartenente ad uno schema di meta informazioni • L’attributo rdf :type specifica l’URI della definizione del tipo 14 < rdf:Description rdf:about =“ mailto:[email protected] ”> < rdf :type rdf :resource= ”http://www.example.org/properties#P ersona ”> < NS0:firstName > Pierpaolo < NS0:age > 31 Tipizzazione dei literal • E’ possibile assegnare ad un literal un datatype per indicare esplicitamente il tipo di dato • L’attributo rdf :type specifica l’URI della definizione del tipo • I datatype più usati sono quelli definiti da XML Schema – string , boolean , integer , float , double , duration , dateTime , time , date, hexBinary , anyURI , QName , … 15 Giovanni Verdi [email protected] RDF & RDFS 31 RDFS: Esempio di codifica in XML 32 …. Inferenze con RDFS • La semantica di RDFS permette semplici inferenze, tipiche di un linguaggio ontologico, e.g.: – Se r è di classe A e A è sottoclasse della classe B, allora r è di classe B – Se A è sottoclasse di B e B è sottoclasse di C, allora A è sottoclasse di C (per la transitività of subClassOf) • Il riuso e l'estensione dei vocabolari + la capacità di inferenza rendono gli agenti software più intelligenti – Se un agente incontra una proprietà sconosciuta, ma conosce una superproprietà di quella proprietà, può comunque eseguire elaborazioni significative – Quali inferenze con domain e range? 33 Dai limiti di RDFS… ad OWL • RDFS è poco espressivo – Non permette di definire vincoli di esistenza e cardinalità – Non permette di definire proprietà transitive, inverse, simmetriche – Non permette restrizione locale del range – Non permette descrizioni di concetti complesse – Non permette assiomi di disgiunzione • Per questo è stata introdotto OWL (Web Ontology Language ) come W3C Recommendation – OWL 1 ( W3C standard) e OWL 2 (W3C Recommendation 27 October 2009 http://www.w3.org/TR/owl2 -overview/ ) • OWL sub -languages – OWL Full + – OWL DL – OWL Lite - 34 expressiveness OWL 1 • 3 sotto -specifiche in OWL di differente complessità: – OWL Full: unione di OWL Syntax e RDF (così complesso da poter essere definito INDECIDIBILE) – OWL DL: ristretto a frammento di First Order Logic, basato sulla Description Logic (SHOIN(D)) – OWL Lite versione semplificata (meno espressiva di OWL -DL) • Punti di forza di OWL DL: – Semantica ben definita – Proprietà formali e complessità note – Algoritmi di ragionamento standard noti – Esistono ragionatori funzionanti • Limitazione di OWL DL è legata alla complessità computazionale – Schema Complexity è nell’ordine di EXPTIME/NEXPTIME -hard – Data Complexity è coNP -hard 35 OWL 2 • OWL2 nasce come evoluzione di OWL 1 affinché sia possibile realizzare linguaggi con una minore complessità di calcolo pur mantenendo la potenza espressiva • OWL2 è infatti una variante di SROIQ(D) dove abbiamo a disposizione: Qualified Number Restrictions (Q), Regular Roles Hierarchies (R), Miglior utilizzo dei datatypes • OWL2 inoltre presenta tre “ Profiles ”, ovvero tre tipologie di linguaggio con particolari peculiarità e restrizioni: 36 OWL EL : progettato per applicazioni che sfruttano ontologie aventi un numero cospicuo di classi e proprietà OWL QL : realizzato per applicazioni che fanno ricorso ad una consistente mole di dati e che ha come obiettivo principale il query answering OWL RL : progettato per garantire una maggiore potenza espressiva Classi OWL 37 Proprietà OWL 38 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 • F. Manola , E. Miller, RDF Primer , W3C Recommendation 10/02/2004, http://www.w3.org/TR/ rdf -primer / • D. Beckett, RDF/XML Syntax Specification (Revised ), W3C Recommendation 10/02/2004, http://www.w3.org/TR/ rdf -syntax - grammar / • 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 / 39 Credits • Dott.ssa Eufemia Tinelli, Politecnico di Bari 40 “Real world” Semantics Pubblicare metadati sul 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 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 standard ampiamente utilizzati ( iC al, vCard, ...) • Altri microformati : coordinate geografiche, orari di apertura ristoranti /attività commerciali , CVs , … 3 hCard è un semplice formato per rappresentare persone , aziende , organizzazioni , usando lo standard vCard (RFC2426) Joe Doe The Example Company 604 -555 -1234 http://example.com/ 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 – ... – ... – object 4 RDFa - Esempi 5 Potete contattarmi al mio indirizzo email I'm currently reading Programming Perl by Larry Wall 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 query e restituisce risultati via HTTP 6 SPARQL: Esempio 7 Restituisci il “full name ” di tutte le persone nel dataset SPARQL: Esempio 8 Restituisci la relazione tra John e Mary SPARQL: Esempio 9 Restituisci tutte le persone sopra i 30 anni SPARQL: Esempio 10 Restituisci tutte le persone e (opzionalmente) le loro spose Linked Open Data - LOD 11 Un caso di studio: http://dbpedia.org/ 12 • DBpedia project: estrarre informazione strutturata da Wikipedia 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 dbpedia - esempio 13 Subject : http:// dbpedia.org/resource/Bari property object http://dbpedia.org/ontology/country http://dbpedia.org/resource/Italy http://dbpedia.org/ontology/province http://dbpedia.org/resource/Province_of_Bari http://dbpedia.org/ontology/region http://dbpedia.org/resource/Apulia http://dbpedia.org/ontology/saint http://dbpedia.org/resource/Saint_Nicholas http://dbpedia.org/ontology/thumbnail http://upload.wikimedia.org/wikipedia/comm ons/thumb/7/79/Collage_Bari.jpg/200px - Collage_Bari.jpg http://dbpedia.org/ontology/wikiPageExternal Link http://www.amtabservizio.it http://dbpedia.org/ontology/wikiPageExternal Link http://www.teatropubblicopugliese.it en.lodlive.it 14 “LodLive è il primo navigatore di risorse RDF basato unicamente su endpoint SPARQL . LodLive associa le potenzialità di un browser RDF all'efficacia della rappresentazione a grafo .” http://en.lodlive.it/?http://dbpedia.org/resource/Bari 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.) 15 Schema normalizzato - Jena1 16 Schema denormalizzato – Jena2 17 Sesame (1/2) • Framework open source in java sviluppato all’interno del progetto On -To -Knowledge (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. 18 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 19 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 20 RDF Graph in ORACLE 21 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.or g/family/Suzie')); Riferimenti • E. Della Valle, I. Celino, D. Cerizza , Semantic Web – Modellare e condividere per innovare, Pearson (collana Addison Wesley) 2008 • 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 • 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. • 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. 22