Francesca Carmagnola carmagnola@di.unito.it Ontological reasoning Francesca Carmagnola carmagnola@di.unito.it.

Slides:



Advertisements
Presentazioni simili
Survey su ADL XML-Based
Advertisements

Principale limitazione di AR e SQL-92: interrogazioni ricorsive
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Modulo3 Visualizzatori
Ragionamento nelle logiche descrittive M. Simi,
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
Query OQL e XQUERY a confronto
DOCUMENTAZIONE DI SCHEMI E/R
Università degli studi di Modena e Reggio Emilia
1 Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento.
Il Sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente d integrazione.
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Analisi.
Peer to Peer DBMS: il sistema FOAF Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Università degli.
Serializzazione di oggetti in formato XML nellambito del sistema MOMIS Davide Lenzi Chiar.mo Prof. Sonia Bergamaschi Chiar.mo Prof. Michele.
Il mio nome è Alain Fergnani e nel corso della tesi mi sono occupato della dinamica delle ontologie per il Web Semantico, e in particolare dell’approccio.
Università degli Studi di Modena e Reggio Emilia
Biglietti: schema E/R.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
Metodologie per la gestione di conoscenza ontologica Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Metodologie per la gestione di conoscenza ontologica Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 7 Prof. M.T. PAZIENZA a.a
Metodologie per la gestione di conoscenza ontologica Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Prof. M.T. PAZIENZA a.a
Metodologie per la gestione di conoscenza ontologica Prof. M.T. PAZIENZA a.a
Maria Teresa PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 8
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (2 - Reti semantiche, Frames) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Basi di conoscenza: rappresentazione e ragionamento (2 - Reti semantiche, Frames) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Prototipo di uno strumento per la produzione di siti Web adattativi in grado di gestire varie coordinate di adattamento Riccardo Torlone Milano, novembre.
Basi di Dati II Sara Romano
Seminari di ingegneria del software
Seminari di ingegneria del software
Università della Svizzera italiana Il web semantico: mito o realtà? Marco Colombetti Politecnico di Milano e Università della Svizzera italiana Roma, 24.
Basi di dati Università Degli Studi Parthenope di Napoli
INFORMATICA UMANISTICA B STRUTTURE DATI BASI DI DATI RAPPRESENTAZIONE DELLA CONOSCENZA ONTOLOGIE.
Dipartimento di Sistemi e Informatica
A.Natali DL Maggio1999 Oggetti Concetti fondamentali.
RAPPRESENTAZIONE DELLA CONOSCENZA Prof
Sistemi a Regole Ettore Colombo 13 Dicembre 2006 Ingegneria della Conoscenza e Sistemi Esperti.
SQL: Structured Query Language
Documentazione automatica su un linguaggio schema di Alessandro Modica Relatore: Fabio Vitali.
Chinosi Michele – matr.: La seconda release di Virtuose basata su database XML La seconda release di Virtuose basata su.
Descrizione Semantica ad Alto Livello di Ambienti Virtuali in X3D
Il componente Query Manager del sistema MOMIS: testing ed analisi delle performance UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA _____________________________________________________.
MODELLO LOGICO DEI DATI
Universita' degli Studi di Modena e Reggio Emilia
Gerarchie Ricorsive Una gerarchia ricorsiva deriva dalla presenza di una ricorsione o ciclo (un anello nel caso più semplice) nello schema operazionale.
“Seminari di Ingegneria del software”
Tesi di Laurea in Ingegneria Informatica
IMPLEMENTAZIONE TECNOLOGIE:HIBERNATE & JAVA RMI.
IMPLEMENTAZIONE TECNOLOGIE:HIBERNATE & JAVA RMI.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
1 Ontology languages. Strato dei modelli LA SCELTA DEL LINGUAGGIO Una volta selezionati i componenti dell’ontologia occorre esprimerli in maniera esplicita,
DAL WEB AL SEMANTIC WEB Aspetti teorici e tecnologici Carmagnola Francesca Dipartimento Informatica C.so Svizzera 185, Torino
Semantic Web. I problemi della ricerca in Web Querying  Ambiguità della formula Browsing  Arbitrarietà nei criteri di classificazione dei dati = Web.
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
Carluccio Antonio Carluccio Alessandra Caricola Giovanni Vizzino Anna Università degli Studi di Bari.
Sapienza Università di Roma Sapienza Università di Roma Laurea specialistica in Ingegneria Informatica Seminari di Ingegneria del Software Traduzione di.
Metamodellazione in RDF Tesina del corso di Seminari di Ingegneria del Software Alberto Cerullo.
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Raggruppamenti e target list scorretta select padre, avg(f.reddito), p.reddito from persone f join paternita on figlio = nome join persone p on padre =
Università degli studi di Modena e Reggio Emilia Facoltà di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea in Informatica Progettazione e.
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Web semantico e logiche descrittive M. Simi, Cap 2 del "Description Logic Handbook" Lezioni di U.Straccia.
Oltre il web 2.0: il web semantico Seminario. World Wide Web ● Nasce nel 1991 al CERN di Ginevra Evoluzione: web dinamico ● Si basa su ● URL ● HTTP ●
Transcript della presentazione:

Francesca Carmagnola carmagnola@di.unito.it Ontological reasoning Francesca Carmagnola carmagnola@di.unito.it

Cosa si può fare con le ontologie? Ontologie come base di conoscenza avente dati strutturati Estrazione dati Inferire nuova conoscenza Ragionamento Ragionamento automatico che sfrutta opportuni linguaggi di query per ontologie (SQL, SeRQL, SPARQL) per estrarre dati e rendere esplicita conoscenza implicita Ragionamento inteso come inferenza finalizzato a produrre nuova conoscenza attraverso i linguaggi di reasoning dei SW (SWRL, RuleML, Fuzzy RuleML) Query and Reasoning Tools (Sesame, Jena, Racer, …)

Ontologia vs. Data Base CORRISPONDENZE CON I DB Concetti (o classi) del dominio Proprietà (o slot) dei concetti Restrizioni sulle proprietà ENTITA’ ATTRIBUTI + RELAZIONI VINCOLI Interrogare un Db estrarre istanze, ovvero recuperare i dati memorizzati. Non vi e’ ragionamento automatico perchè i dati hanno legami con ridotto potere espressivo. Interrogare un’ontologia estrarre dati mediante query logiche che sfruttano la struttura ontologica per ottenere dati in modo significativo

Per ragionamento automatico si intende le capacità di elaborare una base di conoscenza secondo alcune regole in modo da validarla ed analizzarla. Ragionamento automatico può avvenire: solo sulle ontologie in quanto rappresentazione strutturata della conoscenza espresse in un in un linguaggio che usa gli operatori della logica descrittiva RDF(S), OWL mediante linguaggi di interrogazione capaci di supportare l’interrogazione su tali rappresentazioni

I linguaggi di interrogazione sulle ontologie Linguaggi di query tradizionali non distinguono informazioni da data schema, sono stati sviluppati per interrogare semplici base di triple: A livello di sintassi (alberi e non grafi, mentre l’rdf e’ un grafo. si perdono quindi le relazioni fra le risorse)[XQuery ] A livello di struttura (si interrogano le triple sogg-predicato-oggetto direttamente a livello di data model, ma vengono recuperate dalla query solo asserzioni esplicite) [Squish ] Necessità di interrogare a livello di semantica, cioè l’intera conoscenza contenuta nell’ontologia e non solo le asserzioni esplicite, ma anche quelle implicite. Ragionamento automatico come esplicitazione di conoscenza implicita. Interrogare la sintassi: usando un linguaggio XML, come XQuery si interrogano alberi e non grafi, mentre l’rdf data model e’ un grafo. si perdono quindi permette di cogliere le relazioni fra le risorse. Interrogare la struttura: ad esempio Squish, si interrogano le triple sogg-predicato-oggetto direttamente a livello di data model, ma vengono recuperate dalla query solo asserzioni esplicite, non quelle implicitamente contenute nei dati.

John  AMICIZIA(Femmina( AMARE Maschio)) <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns="http://www.owl-ontologies.com/unnamed.owl#" xml:base="http://www.owl-ontologies.com/unnamed.owl"> <owl:Ontology rdf:about=""/> <owl:Class rdf:ID="maschio"> <owl:disjointWith> <owl:Class rdf:ID="femmina"/> </owl:disjointWith> <rdfs:subClassOf> <owl:Class rdf:ID="persona"/> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:about="#femmina"> <rdfs:subClassOf rdf:resource="#persona"/> <owl:disjointWith rdf:resource="#maschio"/> <owl:ObjectProperty rdf:ID="amicoDi"> <rdfs:domain rdf:resource="#persona"/> <rdfs:range rdf:resource="#persona"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="ama"> <rdfs:domain rdf:resource="#persona"/> <rdfs:range rdf:resource="#persona"/> </owl:ObjectProperty> <persona rdf:ID="John"> <amicoDi> <femmina rdf:ID="Susan"> <ama rdf:resource="#Andrea"/> </femmina> </amicoDi> </persona> </rdf:RDF>  AMICIZIA(Femmina( AMARE Maschio)) <persona rdf:ID="John"> <amicoDi> <femmina rdf:ID =“Susan"> <femmina rdf:ID="Susan"> <ama rdf:resource="#Andrea"/> John

Ragionamento automatico sulle ontologie attraverso i linguaggi di interrogazione i) Appartenenza alla classe (si può dedurre se un oggetto è un’istanza di una classe); ii) Classificazione o sussunzione (si può dedurre tutte le relazioni tra le classi esistenti nelle ontologie); iii) Equivalenza delle classi (si può dedurre se due classi sono equivalenti); iv) Consistenza di una classe (si può verificare se un’asserzione soddisfa i vincoli di cardinalità, di tipo, etc.). 7

Nuovi linguaggi per interrogare le ontologie al livello della semantica: RQL SeRQL SPARQL RQL Linguaggio dichiarativo che “cattura” la semantica dell’RDF(S). Permette di: estrarre classi e sottoclassi estrarre proprietà estrarre istanze di classi e di proprietà query piu’ complesse (Select-from-where)

SeRQL (Sesame RDF Query Language) Nuovo linguaggio di query su RDF(S) e OWL che combina alcune caratteristiche di altri linguaggi di query (RQL, RDQL, N-Triples) aggiungendovene alcune. Funzionalità per la navigazione della gerarchie di classi/proprietà; Funzionalità per interrogare asserzioni reificate; Operatori per comparazione di valori; Operatori per gestire valori opzionali. Due tipologie di query: Query di selezione che restituisce una tabella di valori (SeRQL-S) Trasformazioni in grafi, subgrafo del grafo interrogato (SeRQL-C) select figli from {figli} rdfs:subClassOf {X} where X = <http://www.di.unito.it/~cena/ubiquito.rdf#Place> {figli} serql:directSubClassOf {X}

SeRQL (Sesame RDF Query Language) 5 condizioni: SELECT, FROM, WHERE, LIMIT, OFFSET SELECT-FROM In una query di select –from si specificano quali valori devono essere restituiti, da dove e in quale ordine. WHERE Condizione opzionale che specifica i paths del grafo RDF che sono rilevanti nella query select Church from {Place} test:has_place_name {Church}; [test:has_style {Style}] where Style like "Baroque" using namespace mis = <http://www.di.unito.it/~carmagno/mis.txt>

SeRQL (Sesame RDF Query Language) 5 condizioni: SELECT, FROM, WHERE, LIMIT, OFFSET LIMIT Condizione opzionale che specifica il numero massimo di risultati nella query OFFSET Condizione opzionale che specifica quale risultato della query deve essere restituito per primo

SeRQL offre operatori per combinare i risultati delle query Operatore UNION _:a test:place_name “San Lorenzo” “GAM" _:b mis:place_name “San Pietro" SELECT Place_Name FROM {Place} test:has_place_name {Place_Name} UNION FROM {Place} mis:has_place_name {Place_Name} Consente di ottenere come risultato della query l’unione di più statements aventi namespaces diversi (quindi da ontologie diverse) SeRQL offers combinatory operations that can be used to combine sets of query results.

_:a rdf:type test:User _:b rdf:type test:Writer Operatore IN Consente di estrarre le istanze appartenti contemporamente a piu’ statements _:a rdf:type test:User _:b rdf:type test:Writer SELECT user_name FROM {} rdf:type {test:User}; test:has_user_name {user_name} WHERE user_name IN ( SELECT n FROM {} rdf:type {test:Writer}; test:has_user_name{n})

Consente di estromettere dalla query una o più istanze specifiche Operatore MINUS SELECT Place_Name FROM {Place} test:has_place_name {Place_Name} MINUS WHERE Place_Name like "GAM" Consente di estromettere dalla query una o più istanze specifiche

SPARQL Linguaggio di query su RDF(S) e OWL Standard W3C SPARQL adotta la sintassi Turtle, un'estensione di N-Triples, alternativa estremamente sintetica e intuitiva al tradizionale RDF/XML Le query SPARQL si basano sul meccanismo del "pattern matching" e in particolare su un costrutto, il "triple pattern", che ricalca la configurazione a triple delle asserzioni RDF fornendo un modello flessibile per la ricerca di corrispondenze. 5 condizioni: SELECT, FROM, WHERE, LIMIT, OFFSET Non ha operatori per combinare i risultati delle query SPARQL in Protégé-OWL

SPARQL in Protégé-OWL ( version 3.2 o superiori)

“Tutti gli uomini sono mortali.” RAGIONAMENTO COME INFERENZA Ragionamento su una ontologia viene implementato attraverso regole di inferenza finalizzate a produrre nuova conoscenza “Tutti gli uomini sono mortali.” (Artistotele) ESEMPIO: SILLOGISMO Uomo(x) => Mortale(x) NELL’ONTOLOGIA E’ PRESENTE LA CLASSE UOMO CHE HA COME ISTANZA SOCRATE Uomo(Socrate) DEDUZIONE E AUMENTO DELL’ONTOLOGIA Mortale(Socrate)

Per effettuare inferenza su ontologie occorre: 1) Linguaggio che “leghi” gli elementi dell’ontologia nella regola [v. linguaggi a regole del Semantic Web (SWRL, RuleML, Fuzzy RuleML)] 2) Motore inferenziale (semantic reasoner) che faccia “girare” la regola sulla ontologia IF <owl:Class rdf:ID=“uomo"> THEN <owl:Class rdf:ID=“mortale"> THING MORTALE {Socrate} UOMO … FEMMINA MASCHIO {Socrate} … … … … …

SWRL (Semantic Web Rule Language) ● Recente proposta nella comunità del Semantic Web per integrare le regole con OWL ● Regole espresse in termini di concetti OWL (classi, proprietà, istanze) ● Le espressioni SWRL sono archiviate all'interno di modelli OWL (salvate come parte dell’ontologia) ● SWRL Editor: SWRL Tab Plugin che permette l’editing di regole SWRL

● Regole nella forma di implicazione antecedente e conseguente. ● Sono regole SWRL espressioni del tipo (gli esempi non usano la sintassi formale): ESEMPIO: hasParent(?x1,?x2) hasBrother(? x2,?x3) hasUncle(?x1,?x3) In una sintassi SWRL astratta, la regola può essere così scritta: Implies(Antecedent(hasParent(I-variable(x1) I-variable(x2)) hasBrother(I-variable(x2) I-variable(x3))) Consequent(hasUncle(I-variable(x1) I-variable(x3))))

RuleML Rule Markup Language (RuleML) è un linguaggio sviluppato per esprimere sia regole forward e backward. Combina caratteristiche di XML e RDF. <imp> <_head> conclusion </_head> <_body> <and> premise1…premiseN</and> </_body> </imp> L’head della regola costituisce il conseguente, mentre il body costituisce le precondizioni.

with instances all books which were published in 2003 If a Book was published in 2003 and the Book’s name is V, Then the class Book2003 is created, with instances all books which were published in 2003 <_head> <atom> <_opr> <rel> <ind>Book2003</ind> </rel> </_opr> <_slot name="publicationYear"> <ind>2003</ind> </_slot> <_slot name="publicationTitle"> <var type="single">V</var> </atom> </_head> <_body> <atom> <_opr> <rel> <ind>Book</ind> </rel> </_opr> <_slot name="publicationYear"> <ind>2003</ind> </_slot> <_slot name="publicationTitle"> <var type="single">V</var> </atom> </_body>

Fuzzy RuleML Necessità di gestione dell’incertezza nel Semantic Web. In Fuzzy RuleML, si specifica nei fatti un “grado di importanza” (peso) degli antecedenti in relazione al conseguente. Esempio: Ricchezza (? p) 0.5 ^ Salute (? p) 0.9 -> Felicità (? p), dove Ricchezza , Salute e Felicità sono predicati fuzzy.

Existing Semantic reasoners (query + rules) Bossam, a RETE-based rule engine with native supports for reasoning over OWL ontologies, SWRL rules, and RuleML rules. Queries in Buchingae language; Hoolet, an implementation of an OWL-DL reasoner (rules encoded in SWRL); Pellet, an open-source Java OWL DL reasoner (rules encoded in SWRL, queries in SPARQL); KAON2 is an infrastructure for managing OWL-DL, SWRL, and F-Logic ontologies (rules encoded in SWRL, queries in SPARQL); FaCT, a description logic (DL) classifier e FaCT++, the new generation of FaCT OWL-DL reasoner; SweetRules, an integrated set of tools for Semantic web rules and ontologies (rules encoded in SWRL); RACER PRO , a semantic web reasoning system and information repository; Jena (framework), an open source semantic web framework for Java; Sesame an open source semantic web framework for Java.

SESAME A framework for storage, querying and inferencing of RDF and RDF Schema. It can be deployed on top of a variety of storage systems (relational databases, in-memory, filesystems, keyword indexers, etc.) It offers: a database server for the persistent storage of RDF(S) data, export of repository contents in RDF(S) format data, flexible access API, which supports both local and remote (through HTTP or RMI) access,

Light-weight yet powerful Java API for storing, accessing, querying RDF(S) repositories Highly expressive RQL-like query engine allowing expressive queries trough: SeRQL SPARQL Reasoning support RDF Schema reasoner OWL DLP (OWLIM) domain reasoning (custom rule engine) Rio Toolkit: parsers and writers for different RDF syntaxes: RDF/XML, Turtle, N3, N-Triples

JENA Jena is a Java framework providing a programmatic environment for RDF, OWL, SPARQL and includes a rule-based inference engine. The Jena Framework includes: a RDF and OWL API reading and writing RDF and OWL in RDF/XML, N-Triples, SPARQL SPARQL query engine Generic rule based inference engine together with configured rule sets for RDFS and for the OWL/Lite subset of OWL Full.

RACERPro (Renamed A-Box and Concept Expression Reasoner): Ragionatore basato su Lisp in grado di processare KBs espresse in OWL, in particolare, in OWL-Lite e OWL-DL, Fornisce alcuni servizi, quali: il controllo di consistenza di un’ontologia OWL e di un insieme di descrizioni di dati, possibilità di interrogazioni con SPARQL la ricerca di relazioni di sussunzione indotte dalle asserzioni dell’ontologia, un HTTP client per la restituzione di risorse importate dal Web motore inferenziale per regole SWRL

SESAME vs. JENA vs. RacerPro Jena Supports OWL RacerPro Supports OWL Sesame Supports RDF Schema Jena Expressive query with SPARQL RacerPro Expressive query with SPARQL Sesame More expressive query with SeRQL. It allows using different query languages (RQL, RDQL, SeRQL, SPARQL ) Jena Powerful rule-based inference engine RacerPro Powerful rule-based inference engine Sesame Weak reasoning support