La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Francesca Carmagnola Ontological reasoning.

Presentazioni simili


Presentazione sul tema: "Francesca Carmagnola Ontological reasoning."— Transcript della presentazione:

1 Francesca Carmagnola Ontological reasoning

2 Ontologie come base di conoscenza avente dati strutturati Cosa si può fare con le ontologie? Estrazione datiInferire 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, …)

3 Ontologia vs. Data Base 1.Concetti (o classi) del dominio 2.Proprietà (o slot) dei concetti 3.Restrizioni sulle proprietà ENTITA’ ATTRIBUTI + RELAZIONI VINCOLI CORRISPONDENZE CON I DB 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

4 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

5 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.

6  AMICIZIA(Femmina  (  AMARE Maschio)) John

7 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.). Ragionamento automatico sulle ontologie attraverso i linguaggi di interrogazione

8 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) Nuovi linguaggi per interrogare le ontologie al livello della semantica:  RQL  SeRQL  SPARQL

9 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: 1.Query di selezione che restituisce una tabella di valori (SeRQL-S) 2.Trasformazioni in grafi, subgrafo del grafo interrogato (SeRQL-C)

10 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 =

11 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

12 _: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 SELECT Place_Name FROM {Place} mis:has_place_name {Place_Name} SeRQL offre operatori per combinare i risultati delle query Operatore UNION Consente di ottenere come risultato della query l’unione di più statements aventi namespaces diversi (quindi da ontologie diverse)

13 _: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}) Operatore IN Consente di estrarre le istanze appartenti contemporamente a piu’ statements

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

15 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

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

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

18 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 THEN {Socrate} FEMMINAMASCHIO UOMO MORTALE {Socrate} … …… … … … THING

19 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

20 ● 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))))

21

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

23 Book V Book 2003 V 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

24 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.

25 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.

26 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, SESAME

27 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

28 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.

29 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

30 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


Scaricare ppt "Francesca Carmagnola Ontological reasoning."

Presentazioni simili


Annunci Google