Rappresentazione della Conoscenza nel Semantic Web seminario di Laera Loredana Semantic Web The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation. -Tim Berners-Lee, James Hendler, Ora Lassila
Obiettivi del Web Semantico Gli obiettivi di Tim Berners-Lee: Metainformazioni machine-processable; Interoperabilità sintattica (facilità di leggere i dati da applicazioni diverse); Interoperabilità semantica; Potere espressivo universale per la rappresentazione di metainformazioni (modello comune molto generale, es. RDF) Ricerca dei documenti basata sul significato di un concetto o di più concetti legati tra loro. WWW oggi Web semantico Ontologia una ontologia è una esplicita specializzazione di una concettualizzazione Gruber
Ontologia Un Ontologia rappresenta una concettualizzazione condivisa di un certo dominio. Contiene l insieme dei concetti (entità, attributi, processi), le definizioni e le relazioni fra concetti. Le relazioni possono essere di vario tipo: tassonomico (IS_A), meronimico (PART_OF) telico (PURPOSE_OF..) ecc. Un Ontologia può avere vari livelli di formalizzazione, ma, necessariamente, deve includere un vocabolario di termini (concept names) con associate definizioni (assiomi), e (almeno) relazioni tassonomiche. Ontologia Una Ontologia è una sorta di scheletro di una base di conoscenza, il cui obiettivo è la descrizione dei concetti necessari a parlare di un certo dominio. Una base di conoscenza include, oltre al livello ontologico, regole che possono essere utilizzate per provare teoremi e rispondere a domande concernenti le istanze un certo dominio. (Ontologia + Regole + Motore Inferenziale)
Stratificazione del Web Semantico Il Web semantico e costruito attraverso strati sovrapposti, che permettono di raggiungere i vari obiettivi che si prefigge. Ogni nuovo strato usa o estende gli strati precedenti. Architettura del Web Semantico http://www.w3.org/2000/talks/1206-xml2k-tbl/slide10-0.html
Lo strato di base : URI URI: (Uniform Resource Identifier ) serve ad identificare gli oggetti, o risorse, per metterle su Web. È la base su cui si fonda il Semantic Web. URL: (Uniform Resource Locator ) caso particolare di URI. È l indirizzo di un sito Web. Lo strato di mark-up: XML (extensible Mark-up Language) Marcare dei testi di significato e di struttura I meccanismi di mark-up utilizzati per il Web semantico sono riconducibili e preiscindono da XML
XML Linguaggio di markup. Semplicità di HTML. Flessibilità di SGML (Standard Generalized Markup Language). Maggiore strutturazione dei documenti. Permette di separare la struttura dalla rappresentazione (al contrario di HTML). Solido livello di interoperabilità sintattica ma non semantica, in quanto l accordo sul significato che le applicazioni devono attribuire ai tag deve avvenire off-line e prima della elaborazione. Lo strato dei modelli base: RDF (Resource( Description Framework) Modello di dati, specifiche semantiche. Aggiunge semantica ai documenti Web. Ispirato allo standard PICS (Platform( for Internet Content Selection). Al contrario di PICS, e caratterizzato una maggiore generalità.
RDF Lavora con tre tipi di elementi fondamentali: Risorse (o oggetti): entità riferite attraverso URI Proprietà (o attributi): relazioni binarie tra risorse e/o valori atomici di tipo primitivo Affermazioni (o proposizioni): specificano il valore di una certa proprietà relativa a una risorsa RDF: un semplice esempio affermazione Autore(http://www.pincopallino.com)=PincoPallino proprietà risorsa/oggetto valore
RDF: un secondo esempio autoredi( http://www.pincopallino.com, http://www.books.org/isbn0012515866 ) haprezzo( http://www.books.org/isbn0012515866, 10 euro ) autoredi http://www.pincopallino.com http://www.books.org/isbn0012515866 haprezzo 10 euro Reificazione in RDF La reificazione è l uso di proposizioni per asserire altre proposizioni. La proposizione originale viene espressa come una risorsa con 4 proprietà (soggetto, predicato, oggetto, tipo). http://www.mario.it Mario Es. Luigi dice che Mario è il creatore della risorsa http://www.mario.it rdf:subject rdf:type rdf:statement a:attributedto Luigi rdf :object rdf:predicate creatore
Lo strato degli schemi: RDFS RDF non fornisce meccanismi per dichiarare attributi (proprieta ( caratterizzanti) delle classi di risorse né per definire relazioni tra proprietà e risorse RDF Schema Permette la definizione di un vocabolario per le proprietà RDF e la specifica dei tipi di oggetti su cui possono essere applicate RDFS: classi base Sono definite le seguenti classi (ovvero risorse di tipo rdfs:class): rdfs:resource: rappresenta tutto ciò che viene descritto in RDF (corrispondente di Object in Java) rdfs:property: rappresenta il sottoinsieme di risorse che sono proprietà rdfs:class: : corrisponde al concetto di tipo (corrispondente alla nozione di classe nei linguaggi OO)
RDFS: vincoli rdfs:constraintproperty è una sottoclasse di rdf:property. Le sue istanze sono proprietà utilizzate all interno di vincoli. RDF Schema permette di imporre: Vincoli di dominio (rdfs:domain) Istanze di rdfs:constraintproperty Vincolano l applicazione di una proprietà a una o più classi Vincoli di intervallo (rdfs:range) Istanze di rdfs:constraintproperty Vincolano il valore di una proprietà a un determinato intervallo scelto su istanze di classi RDFS: proprietà base RDFS definisce le proprietà (ovvero risorse di tipo rdfs:property): rdfs:type: indica che una risorsa è istanza di una classe (1 risorsa, molti tipi) rdfs:subclassof: relazione sottoinsieme - sovrainsieme tra classi (una classe può essere sottoclasse di molte classi) rdfs:subpropertyof: una proprietà è una specializzazione di un altra (1 proprietà, 0-n specializzazioni) rdfs:seealso: : una risorsa contiene informazioni su un altra informazione rdfs:isdefinedby: : sottoproprietà di rfds:seealso, indica quale risorsa definisce un altra risorsa (es. quale schema?)
Carenze di RDFS Numero ridotto di proprietà e classi predefinite, quindi ha un limitato potere espressivo. Il vocabolario di RDF/RDF Schema presenta lacune espressive rilevanti, ed è pertanto opportuno estenderlo con un ulteriore livello semantico. Ad esempio RDFSchema non è possibile qualificare come transitiva la proprietà essere_antenato_di. A è antenato di B B è antenato di C A è antenato di C Livello ontologico Fornisce gli strumenti per la definizione e l uso di ontologie. Si fonda su RDF e RDF Schema per definire le primitive di modellazione delle ontologie.
Requisiti per i linguaggi ontologici Compatibile con gli standard esistenti sul web (XML, RDF, RDF Schema) Facile da comprendere e da utilizzare (basandosi su idiomi familiari di KR) Specificato formalmente e di adeguato potere espressivo Idoneo a fornire un supporto al ragionamento automatizzato OIL (Ontology( Inference Layer) Unifica tre aspetti importanti: Semantica formale e supporto al ragionamento efficiente (Description( Logic). Ricche primitive di modellazione (Frame( Frame). Proposte standard per notazioni sintattiche (W3C, comunità Web).
DAML (DARPA( Agent Markup Language) Linguaggio di markup promosso dall agenzia DARPA (Defence Advanced Research Projects Agency) ). fondato principalmente su RDF. Partendo da una serie di statements DAML,conclude altri statements DAML. madredi SubPropertyOf genitoredi Roberta madredi Andrea Roberta genitoredi Andrea DAML+OIL Unione dei linguaggi OIL e DAML. Linguaggio semantico di markup che si fonda sugli standard del comitato W3C, come RDF e RDF Schema, e li estende con primitive di modellazione più ricche, molte delle quali mutuate dai linguaggi basati su logica descrittiva.
Limitazioni di DAML+ OIL Numero fisso di proprietà algebriche (transitività, simmetria, inversa). Mancanza di modularizzazione: : non è possibile rinominare, ristrutturare e ridefinire ontologie importate. Limitata espressività del second ordine. ordine. OWL (Web Ontology Language) Sviluppato come revisione di DAML+OIL. Permette di arricchire (con un insieme di potenti primitive) le ridotte capacità espressive di RDF Schema, consentendo una dettagliata descrizione della struttura di un qualsiasi dominio. Si appoggia sulla sintassi e sulle primitive ontologiche di base fornite da RDF/RDF Schema
OWL OWL utilizza URI per nominare le risorse e il linking fornito da RDF per aggiungere le seguenti capacità alle ontologie: Abilità di essere distribuite tra più sistemi; Scalabilità per le necessità del Web; Compatibilità con gli standard Web per quanto riguarda l' accessibilità e l'internazionalizzazione; Apertura ad applicazioni complesse ed estensibilità; I sottolinguaggi di OWL OWL è costituito da tre sottolinguaggi, ciascuno dei quali caratterizzato da una diversa capacità e destinato ad una diversa platea di utenti e di sviluppatori: OWL Lite OWL DL OWL Full RDF OWL Full OWL Lite OWL DL
OWL Lite Rivolto a quegli utenti che necessitano principalmente di una gerarchia di classificazione e non sentono l esigenza di esprimere dei vincoli complessi. Ad esempio consente di esprimere vincoli di cardinalità,, ma i valori permessi sono solamente 0 oppure 1. OWL DL Corrispondenza con le Logiche Descrittive (Description Logic) Indirizzato agli utenti che desiderano disporre della massima espressività possibile, pur mantenendo la completezza computazionale e la decidibilità. Include tutti i costrutti linguistici del linguaggio OWL con la limitazione che essi possono essere utilizzati solamente sotto alcune restrizioni. Ad esempio, ad una classe viene consentito di essere sottoclasse di più classi,, ma non di essere un istanza di un altra classe.
OWL Full Concepito per quegli utenti che richiedono la massima espressività e tutta la libertà sintattica di RDF, senza alcuna garanzia computazionale; ad esempio, in OWL Full ad una classe è consentito di essere trattata contemporaneamente sia come una collezione di individui, sia come un individuo a sé stante. OWL Full permette ad una ontologia di aumentare il significato dei vocabolario (RDF o OWL) predefinito. Questo maggior potere espressivo e ottenuto a spese della decidibilita. Lo strato Logico Fino al livello delle ontologie non vi è inferenza, ma solo rappresentazione della conoscenza. Uso della logica per rispondere a interrogazioni al fine di poter estrarre informazioni utili, mediante regole di inferenza e altre tecniche logiche e non. Lo strato della Logica rende quello che era un linguaggio dichiarativo, con limitate capacità espressive, un linguaggio logico Turing- complete con inferenze e funzioni, consentendo ad applicazioni RDF diverse di connettersi.
Lo strato delle dimostrazioni Definire un linguaggio universale ( Proof Language )per rappresentare le dimostrazioni. Una dimostrazione ( Proof ) è una sequenza di formule, ciascuna delle quali è derivata, applicando: regole di inferenza, assiomi, definizioni, o formule ad essa precedenti nella sequenza Ad esempio i sistemi potrebbero quindi autenticare con la firma digitale queste dimostrazioni ed esportarle ad altri sistemi che le potrebbero incorporare nel Web Semantico. Lo strato della Fiducia: Web of trust Con un Proof Language si intende passare dal Web del Ragionamento al Web della Fiducia. Le asserzioni RDF devono essere contrassegnate con tecniche come la firma digitale o la crittografia,, il cui scopo e garantire l autenticità delle varie asserzioni e di scoprire la loro provenienza. Sarà poi l utente ad istruire il software del proprio computer su quali firme digitali fidarsi oppure no. Web of Trust : considerare la Fiducia una proprietà transitiva, cosicché se l utente A dichiara di fidarsi dell utente B, il quale a sua volta dichiara di fidarsi dell utente C, si ottiene che A si fida anche di C.
Logica e Dimostrazione: RuleML L obiettivo della iniziativa Rule Markup e lo sviluppo di RuleML come linguaggio web standard per esprimere regole inferenziali nel semantic web usando markup XML and semantica formale RuleML started life before the semantic web initiative was officially launched. It is a very significant group. Tim Berners-Lee, Director, W3C RuleML Rappresentazione della conoscenza delle regole (KR) in sintassi XML; RuleML include Regole di derivazione ( clausole di Horn ) Regole di reazione ( regole evento-conditione-azione ECA) Regole di integrità ( vincoli di integrità ). Garantisce iteroperabilità con i maggiori sistemi a regole commerciali e non (SQL, Prolog, OPS5, CLIPS, Jess, ECA..);
RuleML Sistema di sottolinguaggi : da RDF-like triple alla logica di Horn,, con equazioni che utilizzano sia individui URI che relazioni; I 12 sottolinguaggi, ciascuno con una propria semantica e relativo DTD, costituiscono la definizione modularizzata di base di RuleML. Un esempio di regola RuleML own(person,object)? < body> <and> buy(person,merchant,,merchant,objec <atom> t), keep(person,object). < opr> <rel>buy </rel> <imp> </ opr> < _head> <var>person </var> <atom> <var>merchant </var> < opr> <var>object </var> <rel>own </rel> </atom> conclusione <atom> </ opr> < opr> <var>person </var> <rel>keep </rel> <var>object </var> </ opr> </atom> <var>person </var> <var>object </var> </ head> </atom> </and> </ body> </imp> premessa
Ontologie e regole Le ontologie hanno una tassonomia per definire le classi di oggetti e le relazioni tra gli oggetti, e un insieme di regole di inferenza, per fornire ulteriore potenza espressiva ma limitate a ragionare solo su: Ontology design: : per controllare la consistenza delle classi e relazioni implicite (classi); Ontology deployment: : per determinare se un insieme di fatti e consistente (istanze); Ontology integration: : per asserire relazioni all interno di una ontologia prodotta tramite integrazione di due ontologie; Ontologie + Regole Le regole e le ontologie, perche : Una tassonomia di una ontologia (espressa per es. in OWL) può richiedere un sistema a regole per derivare o usare infomazione implicita, che non può essere catturata dalla sola tassonomia. La tecnologia delle regole è più matura delle logiche descrittive I non esperti hanno piu familiarità con le regole Le regole si integrano bene con i maggiori paradigmi di software commerciali, es. OO e DB
Le regole e le ontologie, perche : La regole possono aiutare una ontologia a ragionare sulle sue istanze, Le regole possono definire assiomi che operano su tassonomie. Aggiungono espressivita a cio che si puo asserire solo con OWL Regole sono ortogonali alle logiche descrittive Le regole nel Semantic web http://www.w3.org/designissues/diagrams/sw-stack-2002.png
Le regole e le ontologie, come: Regole al top delle ontologie (Knowledge Representation fusion): costruire regole al top delle ontologie, nel senso che le regole possono riferirsi ad ontologie OWL, usando uno o più domini ontologi specificati nelle Description Logics (DL) di OWL. SweetProlog (Semantic WEb Enabling Technlogies for Prolog) Sistema per le regole del Web Semantico in Prolog. Traduzione di un ontologia per (CLP) RuleML espressa in OWL. Deduzione per mezzo di JIProlog Engine. Specifica una ontologia OWL per la sintassi delle regole RuleML. Regole OWLRuleML al top delle ontologie Preserva la semantica
SweetProlog & OWLRuleML Le regole RuleML sono state specificate attraverso un linguaggio, quale OWL. OWLRuleML rappresenta la codifica OWL dello standard RuleML con Courteous Logic Programs (per la gestione dei conflitti), permettendo quindi di incrementare le potenzialità di RDFS e OWL all attuale RuleML. La sintassi risultante, denominata OWLRuleML, è essenzialmente una specifica della sintassi del rule language. SweetProlog Regole al top dell ontologia Sintatticamente, i nomi dei predicati che appaiono nelle regole possono essere URI che denotano classi e proprietà in una ontologia OWL. Semanticamente la base di conoscenza ontologica di OWL referenziata può essere vista come una teoria background per l insieme delle regole. Una classe OWL è trattata come un predicato unario, e una proprietà come un predicato binario. Le asserzioni sulle istanze in una classe e sulle proprietà sono trattate come fatti. I nomi delle classi, delle proprietà e degli individui sono URI al fine di permettere alle regole di riferirsi ad essi.
SweetProlog Regole al top dell ontologia La semantica formale per l integrazione è una rappresentazionedi conoscenza ibrida che combina le logiche descrittive e la programmazione logica: Description Logic Programs (DLP). Description Logic Programs aiuta ad integrare le regole con le ontologie compilando le definizioni ontologiche in un programma logico, il quale può essere esteso con ulteriori regole, rappresentando un sottoinsieme di OWL espressivo (senza disgiunzione nella testa, senza negazione e connettivi esistenziali). Description Logic Programs Architettura SweetProlog OWL + OWLRuleML Parsing with RDF PI into triples Knowledge base in RDF triples Transform OWLRuleML into CLP Transform query into Prolog Transform OWL into Logic Program Facts & rules represented as a CLP Query represented in Prolog Knowledge base in Prolog Courteous Logic Program compiler Inferencing using Prolog engine OWLRuleML represented in Prolog Derived conclusions in Prolog SweetProlog Transform facts into OWLRuleML Derived facts in OWLRuleML
Conclusioni Iteraperabilità semantica e inferenziale tra l approccio delle regole nel Semantic Web (RuleML Logic Programs) e le ontologie (OWL Description Logics). Nuova rappresentazione d conoscenza (DLP) e mostrato come può catturare un significante sottoinsieme di OWL, che include l intero sottoinsieme OWL di RDFS, ed alcuni assiomi sui concetti e proprietà. Livellare le regole al top dei linguaggi ontologici come proposto dalla visione del Sematic Web Bibliografia Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, b,scientific American, 17 Maggio 2001 Massimo Parodi, Alfio Ferrara, Xml, Semantic Web e Rappresentazione della Conoscenza, a,mondodigitale n.3 - Settembre 2002 Dan Brickley, R.V. Guha, RDF Vocabulary Description Language 1.0 : RDF Schema,W3C Working Draft 23 January2003 http://www.w3.org/tr/rdf-schema/ Ian Horrocks, Peter F. Patel-Schneider, Frank van Harmelen, Reviewing the Design of DAML+OIL : An Ontology Language for the Semantic Web (American Association for Artificial Intelligence, www.aaai.org, 2002) Deborah L. McGuinness, Frank van Harmelen, " Web Ontology Language (OWL): Overview", W3C Working Draft, 10 Febbraio 2003 http://www.w3.org/tr/owl-features/ M.Dean, G.Schreiber, " Web Ontology Language (OWL) Reference Version 1.0", W3C Working Draft, 21 Febbraio 2003 http://www.w3.org/tr/owl-ref/ Ruleml initiative. http://www.dfki.de/ruleml. Harold Boley, Said Tabet, Gerd Wagner. Design Rationale of RuleML: A Markup Language for Semantic Web Rules. In Proc. Semantic Web Working Symposium (SWWS SWWS 01), pag 381-401. Stanford University, July/August 2001. Grosof, B.N. and Horrocks, I. Description Logic Programs: Combining Logic Programs with Description Logic. Proc. Intl. Conf. on World Wide Web (WWW-2003),2003.