Rappresentazione della Conoscenza nel Semantic Web

26
Rappresentazione Rappresentazione della della Conoscenza Conoscenza nel nel Semantic Web Semantic Web seminario seminario di di Laera Laera Loredana Loredana Semantic Web Semantic Web The Semantic Web is an extension of the The Semantic Web is an extension of the current web in which information is given current web in which information is given well well- defined meaning, better enabling defined meaning, better enabling computers and people to work in computers and people to work in cooperation”. cooperation”. - Tim Berners Tim Berners- Lee, James Lee, James Hendler Hendler , , Ora Ora Lassila Lassila

Transcript of Rappresentazione della Conoscenza nel Semantic Web

1

RappresentazioneRappresentazionedelladella ConoscenzaConoscenza nelnel

Semantic WebSemantic Webseminarioseminario didi LaeraLaera LoredanaLoredana

Semantic WebSemantic Web

““The Semantic Web is an extension of the The Semantic Web is an extension of the current web in which information is given current web in which information is given wellwell--defined meaning, better enabling defined meaning, better enabling computers and people to work in computers and people to work in cooperation”. cooperation”.

--Tim BernersTim Berners--Lee, James Lee, James HendlerHendler, , OraOraLassilaLassila

2

ObiettiviObiettivi del Web del Web SemanticoSemanticoGli obiettivi di Gli obiettivi di TimTim BernersBerners--LeeLee::•• MetainformazioniMetainformazioni machinemachine--processableprocessable;;•• InteroperabilitàInteroperabilità sintattica (facilità di leggere i dati da applicazioni sintattica (facilità di leggere i dati da applicazioni

diverse);diverse);•• Interoperabilità semantica;Interoperabilità semantica;•• Potere espressivo universale per la rappresentazione di Potere espressivo universale per la rappresentazione di

metainformazionimetainformazioni (modello comune molto generale, es. RDF)(modello comune molto generale, es. RDF)•• Ricerca dei documenti basata sul significato di un concetto o diRicerca dei documenti basata sul significato di un concetto o di più più

concetti legati tra loroconcetti legati tra loro. .

WWWWWWoggioggi WebWeb

semanticosemantico

OntologiaOntologia

”una ontologia è una esplicita ”una ontologia è una esplicita specializzazione di una specializzazione di una concettualizzazioneconcettualizzazione””––Gruber Gruber

3

OntologiaOntologia•• UnUn’’OntologiaOntologia rappresentarappresenta unauna concettualizzazioneconcettualizzazione

condivisacondivisa didi un un certocerto dominiodominio..•• ContieneContiene ll’’insiemeinsieme deidei concetticoncetti ((entitentitàà, , attributiattributi, ,

processiprocessi), le ), le definizionidefinizioni e le e le relazionirelazioni frafra concetticoncetti..•• Le Le relazionirelazioni possonopossono essereessere didi variovario tipotipo: :

tassonomicotassonomico (IS_A), (IS_A), meronimicomeronimico (PART_OF) (PART_OF) telicotelico(PURPOSE_OF..) (PURPOSE_OF..) eccecc..

•• UnUn’’OntologiaOntologia puòpuò avereavere varivari livellilivelli didi formalizzazioneformalizzazione, , ma, ma, necessariamentenecessariamente, , devedeve includereincludere un un vocabolariovocabolario diditermini (concept names) con associate termini (concept names) con associate definizionidefinizioni((assiomiassiomi), e (), e (almenoalmeno) ) relazionirelazioni tassonomichetassonomiche..

OntologiaOntologia

•• UnaUna OntologiaOntologia èè unauna sortasorta didi ““scheletroscheletro”” didi unaunabase base didi conoscenzaconoscenza, , ilil cui cui obiettivoobiettivo èè la la descrizionedescrizione deidei concetticoncetti necessarinecessari a a ““parlareparlare”” didiun un certocerto dominiodominio..

•• UnaUna base base didi conoscenzaconoscenza include, include, oltreoltre al al livellolivelloontologicoontologico, , regoleregole cheche possonopossono essereessere utilizzateutilizzateper per provareprovare teoremiteoremi e e rispondererispondere a a domandedomandeconcernenticoncernenti le le istanzeistanze un un certocerto dominiodominio. . ((OntologiaOntologia + + RegoleRegole + + MotoreMotore InferenzialeInferenziale))

4

StratificazioneStratificazione del Web del Web SemanticoSemantico

•• Il Web Il Web semanticosemantico e’ e’ costruitocostruito attraversoattraversostratistrati sovrappostisovrapposti, , cheche permettonopermettono didiraggiungereraggiungere i i varivari obiettiviobiettivi cheche sisi prefiggeprefigge..

•• OgniOgni nuovonuovo stratostrato usausa o o estendeestende gligli stratistratiprecedentiprecedenti. .

ArchitetturaArchitettura del Web del Web SemanticoSemantico

http://www.w3.org/2000/Talks/1206-xml2k-tbl/slide10-0.html

5

Lo Lo stratostrato didi base : URIbase : URI

•• URI: (Uniform Resource Identifier ) serve ad URI: (Uniform Resource Identifier ) serve ad identificareidentificare gligli oggettioggetti, o “, o “risorserisorse”, per “”, per “metterlemetterlesusu Web”.Web”.ÈÈ la base la base susu cui cui sisi fondafonda ilil Semantic Semantic Web.Web.

•• URL: (Uniform Resource Locator ) URL: (Uniform Resource Locator ) casocasoparticolareparticolare didi URI. URI. ÈÈ ll’’indirizzoindirizzo didi un un sitosito Web.Web.

Lo Lo stratostrato didi markmark--up:up:XML XML ((eXtensibleeXtensible MarkMark--upup

LanguageLanguage))

•• Marcare dei testi di significato e di Marcare dei testi di significato e di strutturastruttura

•• I meccanismi di I meccanismi di markmark--upup utilizzati per il utilizzati per il Web semantico sono riconducibili e Web semantico sono riconducibili e preiscindonopreiscindono da XMLda XML

6

XMLXML•• Linguaggio di Linguaggio di markupmarkup..•• Semplicità di HTML.Semplicità di HTML.•• Flessibilità di SGML (Standard Generalized Flessibilità di SGML (Standard Generalized

Markup Markup LanguageLanguage).).•• Maggiore strutturazione dei documenti.Maggiore strutturazione dei documenti.•• Permette di separare la struttura dalla Permette di separare la struttura dalla

rappresentazione (al contrario di HTML).rappresentazione (al contrario di HTML).•• Solido livello di Solido livello di interoperabilitàinteroperabilità sintattica ma non sintattica ma non

semantica, in quanto l’accordo sul significato semantica, in quanto l’accordo sul significato che le applicazioni devono attribuire ai che le applicazioni devono attribuire ai tagtag deve deve avvenire offavvenire off--line e prima della elaborazioneline e prima della elaborazione..

Lo strato dei modelli base: Lo strato dei modelli base: RDF (RDF (ResourceResource DescriptionDescription

FrameworkFramework) ) •• Modello di dati, specifiche semantiche.Modello di dati, specifiche semantiche.•• Aggiunge semantica ai documenti Web.Aggiunge semantica ai documenti Web.•• Ispirato allo standard PICS (Ispirato allo standard PICS (PlatformPlatform forfor

Internet Internet ContentContent SelectionSelection).).•• Al contrario di PICS, e’ caratterizzato una Al contrario di PICS, e’ caratterizzato una

maggiore generalità.maggiore generalità.

7

RDFRDF

Lavora con tre tipi di elementi fondamentali:Lavora con tre tipi di elementi fondamentali:

•• Risorse (o oggetti): entità riferite attraverso Risorse (o oggetti): entità riferite attraverso URIURI

•• Proprietà (o attributi): relazioni binarie tra Proprietà (o attributi): relazioni binarie tra risorse e/o valori atomici di tipo primitivorisorse e/o valori atomici di tipo primitivo

•• Affermazioni (o proposizioni): specificano il Affermazioni (o proposizioni): specificano il valore di una certa proprietà relativa a una valore di una certa proprietà relativa a una risorsarisorsa

RDF: un semplice esempioRDF: un semplice esempio

affermazioneaffermazione

risorsa/oggettorisorsa/oggetto valorevalore

Autore(http://www.pincopallino.com)=PincoPallino

proprietàproprietà

8

RDF: un secondo esempioRDF: un secondo esempio

autoreDiautoreDi(“http://www.pincopallino.com”,(“http://www.pincopallino.com”,“http://www.books.org/ISBN0012515866”)“http://www.books.org/ISBN0012515866”)

haPrezzohaPrezzo(“http://www.books.org/ISBN0012515866”, “10 (“http://www.books.org/ISBN0012515866”, “10 euro”)euro”)

autoreDiautoreDi haPrezzohaPrezzo

http://www.pincopallino.comhttp://www.pincopallino.com

http://www.books.org/ISBN0012515866http://www.books.org/ISBN0012515866

10 euro10 euro

Reificazione in RDFReificazione in RDF

La reificazione è l’uso di proposizioni per La reificazione è l’uso di proposizioni per asserire altre proposizioni.asserire altre proposizioni.La proposizione originale viene espressa come La proposizione originale viene espressa come una risorsa con 4 proprietuna risorsa con 4 proprietàà ((soggettosoggetto, , predicatopredicato, , oggettooggetto, , tipotipo))..

http://www.mario.it Mario

Luigi creatorerdf:Statement

rdf:type

a:attributedTo

rdf:predicate

rdf:subject rdf :objectEs.Es. Luigi dice che Luigi dice che Mario Mario èè il creatore il creatore della risorsa della risorsa http://www.mario.ithttp://www.mario.it

9

Lo strato degli schemi: RDFSLo strato degli schemi: RDFS

RDF non fornisce meccanismi per RDF non fornisce meccanismi per dichiarare attributi (dichiarare attributi (proprieta’proprieta’caratterizzanti)caratterizzanti) delle classi di risorse né delle classi di risorse né per per definire relazioni tra proprietà e risorsedefinire relazioni tra proprietà e risorse

RDF SchemaRDF Schema

Permette la definizione di un Permette la definizione di un vocabolariovocabolario per le per le proprietà proprietà RDFRDF e la specifica dei e la specifica dei tipi di oggettitipi di oggetti su cui possono su cui possono essere applicateessere applicate

RDFS: classi baseRDFS: classi base

Sono definite le seguenti classi (ovvero risorse di Sono definite le seguenti classi (ovvero risorse di tipo tipo rdfsrdfs:Class:Class):):

•• rdfsrdfs::ResourceResource: rappresenta tutto ciò che viene : rappresenta tutto ciò che viene descritto in RDF (corrispondente di descritto in RDF (corrispondente di ObjectObject in in Java)Java)

•• rdfsrdfs::PropertyProperty: rappresenta il sottoinsieme di : rappresenta il sottoinsieme di risorse che sono proprietàrisorse che sono proprietà

•• rdfsrdfs:Class:Class: corrisponde al concetto di tipo : corrisponde al concetto di tipo (corrispondente alla nozione di classe nei (corrispondente alla nozione di classe nei linguaggi OO)linguaggi OO)

10

RDFS: vincoliRDFS: vincolirdfsrdfs::ConstraintPropertyConstraintProperty è una sottoclasse di è una sottoclasse di rdfrdf::PropertyProperty. .

Le sue istanze sono proprietà utilizzate all’interno di Le sue istanze sono proprietà utilizzate all’interno di vincoli.vincoli.

RDF Schema permette di imporre:RDF Schema permette di imporre:

•• Vincoli di dominioVincoli di dominio ((rdfsrdfs::domaindomain))•• Istanze di Istanze di rdfsrdfs::ConstraintPropertyConstraintProperty•• Vincolano l’applicazione di una proprietà a una o più classiVincolano l’applicazione di una proprietà a una o più classi

•• Vincoli di intervalloVincoli di intervallo ((rdfsrdfs::rangerange))•• Istanze di Istanze di rdfsrdfs::ConstraintPropertyConstraintProperty•• Vincolano il valore di una proprietà a un determinato intervalloVincolano il valore di una proprietà a un determinato intervallo

scelto su istanze di classiscelto su istanze di classi

RDFS: proprietà baseRDFS: proprietà base•• RDFS definisce le proprietà (ovvero risorse di tipo RDFS definisce le proprietà (ovvero risorse di tipo

rdfsrdfs::PropertyProperty):):

•• rdfsrdfs::typetype: indica che una risorsa è istanza di una classe : indica che una risorsa è istanza di una classe (1 risorsa, molti tipi)(1 risorsa, molti tipi)

•• rdfs:subClassOf:rdfs:subClassOf: relazione “sottoinsieme relazione “sottoinsieme -- sovrainsiemesovrainsieme” ” tra classi (una classe può essere sottoclasse di molte tra classi (una classe può essere sottoclasse di molte classi)classi)

•• rdfsrdfs::subPropertyOfsubPropertyOf: una proprietà è una specializzazione : una proprietà è una specializzazione di un’altra (1 proprietà, 0di un’altra (1 proprietà, 0--n specializzazioni)n specializzazioni)

•• rdfs:seeAlsordfs:seeAlso: una risorsa contiene informazioni su : una risorsa contiene informazioni su un’altra informazioneun’altra informazione

•• rdfs:isDefinedByrdfs:isDefinedBy: sottoproprietà di : sottoproprietà di rfdsrfds::seeAlsoseeAlso, indica , indica quale risorsa definisce un’altra risorsa (es. quale quale risorsa definisce un’altra risorsa (es. quale schema?)schema?)

11

Carenze di RDFSCarenze di RDFS

•• Numero ridotto di proprietà e classi predefinite, quindi ha Numero ridotto di proprietà e classi predefinite, quindi ha un limitato potere espressivo.un limitato potere espressivo.

•• Il vocabolario di RDF/RDF Schema presenta lacune Il vocabolario di RDF/RDF Schema presenta lacune espressive rilevanti, ed è pertanto opportuno estenderlo espressive rilevanti, ed è pertanto opportuno estenderlo con un ulteriore livello semantico.con un ulteriore livello semantico.

•• Ad esempio Ad esempio RDFSchemaRDFSchema non è possibile qualificare non è possibile qualificare come transitiva la proprietà come transitiva la proprietà essere_Antenato_Di.essere_Antenato_Di.

A èè antenato di Bantenato di B

B B èè antenato di Cantenato di CA èè antenato di Cantenato di C

LivelloLivello ontologicoontologico

•• Fornisce gli strumenti per la definizione e Fornisce gli strumenti per la definizione e l’uso di ontologie.l’uso di ontologie.

•• Si fonda su RDF e RDF Schema per Si fonda su RDF e RDF Schema per definire le primitive di modellazione delle definire le primitive di modellazione delle ontologie.ontologie.

12

RequisitiRequisiti per i per i linguaggilinguaggiontologiciontologici

•• CompatibileCompatibile con con gligli standard standard esistentiesistenti sulsulweb (XML, RDF, RDF Schema)web (XML, RDF, RDF Schema)

•• FacileFacile dada comprenderecomprendere e e dada utilizzareutilizzare((basandosibasandosi susu idiomiidiomi familiarifamiliari didi KR)KR)

•• SpecificatoSpecificato formalmenteformalmente e e didi ““adeguatoadeguato” ” poterepotere espressivoespressivo

•• IdoneoIdoneo a a fornirefornire un un supportosupporto al al ragionamentoragionamento automatizzatoautomatizzato

OIL (OIL (OntologyOntology InferenceInferenceLayerLayer))

Unifica tre aspetti importanti:Unifica tre aspetti importanti:•• Semantica formale e supporto al Semantica formale e supporto al

ragionamento efficiente (ragionamento efficiente (DescriptionDescriptionLogicLogic).).

•• Ricche primitive di modellazione (Ricche primitive di modellazione (FrameFrame).).•• Proposte standard per notazioni sintattiche Proposte standard per notazioni sintattiche

((W3C, comunità WebW3C, comunità Web).).

13

DAML (DAML (DDARPA ARPA AAgentgent MMarkuparkupLLanguageanguage))

•• Linguaggio di Linguaggio di markupmarkup promosso promosso dall’agenzia dall’agenzia DARPA DARPA ((DefenceDefence AdvancedAdvancedResearchResearch ProjectsProjects AgencyAgency) .) .

•• fondato principalmente su RDF.fondato principalmente su RDF.•• Partendo da una serie di Partendo da una serie di statementsstatements

DAML ,conclude altri DAML ,conclude altri statementsstatements DAML.DAML.

madreDi SubPropertyOf genitoreDi

Roberta madreDi AndreaRoberta genitoreDiAndrea

DAML+OILDAML+OIL

•• Unione dei linguaggi OIL e DAML.Unione dei linguaggi OIL e DAML.•• Linguaggio semantico di Linguaggio semantico di markupmarkup che si che si

fonda sugli standard del comitato W3C, fonda sugli standard del comitato W3C, come RDF e RDF Schema, e li estende come RDF e RDF Schema, e li estende con primitive di modellazione picon primitive di modellazione piùù ricche, ricche, molte delle quali mutuate dai linguaggi molte delle quali mutuate dai linguaggi basati su logica descrittiva.basati su logica descrittiva.

14

Limitazioni di DAML+ OILLimitazioni di DAML+ OIL

•• Numero fissoNumero fisso di di proprietà algebricheproprietà algebriche(transitività, simmetria, inversa).(transitività, simmetria, inversa).

•• Mancanza di Mancanza di modularizzazionemodularizzazione: non è : non è possibile rinominare, ristrutturare e possibile rinominare, ristrutturare e ridefinire ontologie importate.ridefinire ontologie importate.

•• Limitata espressività del Limitata espressività del second’second’ordine.ordine.

OWL OWL ((WWeb eb OOntology ntology LLanguageanguage))

•• SviluppatoSviluppato come come revisionerevisione didi DAML+OIL.DAML+OIL.•• PermettePermette didi arricchirearricchire (con un (con un insiemeinsieme didi

potentipotenti primitive) le primitive) le ridotteridotte capacitàcapacitàespressiveespressive didi RDF Schema, RDF Schema, consentendoconsentendounauna dettagliatadettagliata descrizionedescrizione delladella strutturastrutturadidi un un qualsiasiqualsiasi dominiodominio..

•• SiSi appoggiaappoggia sullasulla sintassisintassi e e sullesulle primitive primitive ontologicheontologiche didi base base fornitefornite dada RDF/RDF RDF/RDF SchemaSchema

15

OWLOWLOWL utilizza URI per nominare le risorse e il OWL utilizza URI per nominare le risorse e il linkinglinking fornito da RDF per aggiungere le fornito da RDF per aggiungere le seguenti capacità alle ontologie: seguenti capacità alle ontologie:

•• Abilità di essere distribuite tra più sistemi; Abilità di essere distribuite tra più sistemi;

•• ScalabilitàScalabilità per le necessità del Web;per le necessità del Web;

•• Compatibilità con gli standard Web per quanto Compatibilità con gli standard Web per quanto riguarda l' accessibilità e l'internazionalizzazione;riguarda l' accessibilità e l'internazionalizzazione;

•• Apertura ad applicazioni complesse ed Apertura ad applicazioni complesse ed estensibilitàestensibilità;;

I I sottolinguaggisottolinguaggi didi OWLOWL

OWL è OWL è costituitocostituito dada tretre sottolinguaggisottolinguaggi, , ciascunociascuno deidei qualiquali caratterizzatocaratterizzato dada unaunadiversadiversa capacitàcapacità e e destinatodestinato ad ad unaunadiversadiversa plateaplatea didi utentiutenti e e didi sviluppatorisviluppatori::

•• OWL OWL LiteLite•• OWL DLOWL DL•• OWL FullOWL Full

RDF

OWL FullOWL DL

OWL Lite

16

OWL OWL LiteLite

RivoltoRivolto a a quegliquegli utentiutenti cheche necessitanonecessitanoprincipalmenteprincipalmente didi unauna gerarchiagerarchia didiclassificazioneclassificazione e non e non sentonosentono l’esigenzal’esigenza didiesprimereesprimere deidei vincolivincoli complessicomplessi. . Ad Ad esempioesempio consenteconsente didi esprimereesprimere vincolivincolididi cardinalitàcardinalità, ma i , ma i valorivalori permessipermessi sonosonosolamentesolamente 0 0 oppureoppure 1.1.

OWL DLOWL DL•• CCorrispondenzaorrispondenza con le con le LogicheLogiche DescrittiveDescrittive ((Description Description

LogicLogic))

•• IndirizzatoIndirizzato agliagli utentiutenti cheche desideranodesiderano disporredisporre delladellamassimamassima espressivitàespressività possibilepossibile, , purpur mantenendomantenendo la la completezzacompletezza computazionalecomputazionale e la e la decidibilitàdecidibilità ..Include Include tuttitutti i i costrutticostrutti linguisticilinguistici del del linguaggiolinguaggio OWL con OWL con la la limitazionelimitazione cheche essiessi possonopossono essereessere utilizzatiutilizzatisolamentesolamente sotto sotto alcunealcune restrizionirestrizioni..Ad Ad esempioesempio, ad , ad unauna classeclasse vieneviene consentitoconsentito didi essereesseresottoclassesottoclasse didi piùpiù classiclassi, ma non , ma non didi essereessere un’un’istanzaistanza didiun’altraun’altra classeclasse..

17

OWL FullOWL Full

CConcepitooncepito per per quegliquegli utentiutenti cheche richiedonorichiedono la la massimamassima espressivitàespressività e e tuttatutta la la libertàlibertà sintatticasintatticadidi RDF, RDF, senzasenza alcunaalcuna garanziagaranzia computazionalecomputazionale; ; ad ad esempioesempio, in OWL Full ad , in OWL Full ad unauna classeclasse è è consentitoconsentito didi essereessere trattatatrattatacontemporaneamentecontemporaneamente siasia come come unauna collezionecollezionedidi individuiindividui, , siasia come un come un individuoindividuo a a sésé stantestante. . OWL Full OWL Full permettepermette ad ad unauna ontologiaontologia didiaumentareaumentare ilil significatosignificato deidei vocabolariovocabolario (RDF o (RDF o OWL) OWL) predefinitopredefinito. . Questo maggior potere espressivo e’ ottenuto a Questo maggior potere espressivo e’ ottenuto a spese della spese della decidibilita’decidibilita’..

Lo Lo stratostrato LogicoLogico•• Fino al livello delle ontologie non vi è inferenza, Fino al livello delle ontologie non vi è inferenza,

ma solo rappresentazione della conoscenza. ma solo rappresentazione della conoscenza. •• Uso della logica per rispondere a interrogazioni Uso della logica per rispondere a interrogazioni

al fine di poter estrarre informazioni utili, al fine di poter estrarre informazioni utili, mediante regole di inferenza e altre tecniche mediante regole di inferenza e altre tecniche logiche e non.logiche e non.

•• Lo strato della Logica rende quello che era un Lo strato della Logica rende quello che era un linguaggio dichiarativo, con limitate capacità linguaggio dichiarativo, con limitate capacità espressive, un linguaggio logico espressive, un linguaggio logico ““TuringTuring--completecomplete”” con inferenze e funzioni, consentendo con inferenze e funzioni, consentendo ad applicazioni RDF diverse di connettersi.ad applicazioni RDF diverse di connettersi.

18

Lo Lo stratostrato delledelle dimostrazionidimostrazioni•• Definire un linguaggio universale (“Definire un linguaggio universale (“ProofProof LanguageLanguage” )per ” )per

rappresentare le dimostrazioni.rappresentare le dimostrazioni.•• Una dimostrazione (“Una dimostrazione (“ProofProof”) è una sequenza di formule, ”) è una sequenza di formule,

ciascuna delle quali è derivata, applicando:ciascuna delle quali è derivata, applicando:•• regole di inferenza, regole di inferenza, •• assiomi,assiomi,•• definizioni, definizioni, •• o formule ad essa precedenti nella sequenzao formule ad essa precedenti nella sequenza

•• Ad esempio i sistemi potrebbero quindi autenticare con Ad esempio i sistemi potrebbero quindi autenticare con la firma digitale queste dimostrazioni ed esportarle ad la firma digitale queste dimostrazioni ed esportarle ad altri sistemi che le potrebbero incorporare nel Web altri sistemi che le potrebbero incorporare nel Web SemanticoSemantico..

Lo strato della Fiducia: Web of trustLo strato della Fiducia: Web of trust

•• Con un “Con un “ProofProof LanguageLanguage” si intende passare” si intende passare daldal ““Web Web del Ragionamentodel Ragionamento” al “” al “Web della FiduciaWeb della Fiducia”.”.

•• Le asserzioni RDF devono essere contrassegnate con Le asserzioni RDF devono essere contrassegnate con tecniche come la tecniche come la firma digitalefirma digitale o la o la crittografiacrittografia, il cui , il cui scopo e’ garantire l’autenticità delle varie asserzioni e di scopo e’ garantire l’autenticità delle varie asserzioni e di scoprire la loro provenienza. Sarà poi l’utente ad istruire scoprire la loro provenienza. Sarà poi l’utente ad istruire il software del proprio computer su quali firme digitali il software del proprio computer su quali firme digitali fidarsi oppure no. fidarsi oppure no.

•• “Web of Trust”: considerare la Fiducia una proprietà “Web of Trust”: considerare la Fiducia una proprietà transitiva, cosicché se l’utente A dichiara di fidarsi transitiva, cosicché se l’utente A dichiara di fidarsi dell’utente B, il quale a sua volta 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.dell’utente C, si ottiene che A si fida anche di C.

19

LogicaLogica e e DimostrazioneDimostrazione: : RuleMLRuleML

L’obiettivoL’obiettivo delladella iniziativainiziativa “Rule “Rule MarkupMarkup” e’ ” e’ lo lo svilupposviluppo didi RuleMLRuleML come come linguaggiolinguaggioweb standard per web standard per esprimereesprimere regoleregoleinferenzialiinferenziali nelnel semantic web semantic web usandousandomarkupmarkup XML and XML and semanticasemantica formaleformale

RuleML started life before the semantic web initiative was officially launched. It is a very significant group.

Tim Berners-Lee, Director, W3C

RuleMLRuleML

•• Rappresentazione della conoscenza delle regole Rappresentazione della conoscenza delle regole (KR) in sintassi XML;(KR) in sintassi XML;

•• RuleMLRuleML include include •• Regole di derivazioneRegole di derivazione ( ‘clausole di ( ‘clausole di HornHorn ’)’)•• Regole di reazioneRegole di reazione (‘regole (‘regole eventoevento--conditioneconditione--azioneazione

ECA)ECA)•• Regole di integritàRegole di integrità (‘vincoli di (‘vincoli di integrità’integrità’).).

•• Garantisce Garantisce iteroperabilititeroperabilitàà con i maggiori sistemi con i maggiori sistemi a regole commerciali e non (SQL, a regole commerciali e non (SQL, PrologProlog, OPS5, , OPS5, CLIPS, CLIPS, JessJess, ECA..);, ECA..);

20

RuleMLRuleML

•• Sistema di sottolinguaggi : da Sistema di sottolinguaggi : da RDFRDF--likeliketriple alla logica di triple alla logica di HornHorn, con equazioni , con equazioni che utilizzano sia individui URI che che utilizzano sia individui URI che relazioni; relazioni;

•• I 12 sottolinguaggi, ciascuno con una I 12 sottolinguaggi, ciascuno con una propria semantica e relativo DTD, propria semantica e relativo DTD, costituiscono la definizione costituiscono la definizione modularizzatamodularizzatadi base di di base di RuleMLRuleML..

Un Un esempioesempio didi regolaregola RuleMLRuleML< body>< body>

<and><and><atom><atom>

< < opropr>><<relrel>buy </>buy </relrel>>

</ </ opropr>><var><var>personperson </var></var><var><var>merchantmerchant </var></var><<varvar>object </>object </varvar>>

</atom></atom><atom><atom>

< < opropr>><<relrel>keep </>keep </relrel>>

</ </ opropr>><<varvar>person </>person </varvar>><<varvar>object </>object </varvar>>

</atom></atom></and></and>

</ body></ body></</impimp>>

ownown((PersonPerson,,ObjectObject) ) ??buybuy((PersonPerson,Merchant,,Merchant,ObjecObjectt), ), keepkeep((PersonPerson,,ObjectObject).).

<imp><imp>

< _head>< _head><atom><atom>< < opropr>>

<<relrel>own </>own </relrel>>

</ </ opropr>><<varvar>person </>person </varvar>><<varvar>object </>object </varvar>>

</atom></atom>

</ head></ head>

conclusione premessa

21

OntologieOntologie e e regoleregole

Le ontologie hanno una tassonomia per definire le classi Le ontologie hanno una tassonomia per definire le classi di oggetti e le relazioni tra gli oggetti, e un insieme di di oggetti e le relazioni tra gli oggetti, e un insieme di regole di inferenza, per fornire ulteriore potenza regole di inferenza, per fornire ulteriore potenza espressiva ma limitate a ragionare solo su:espressiva ma limitate a ragionare solo su:•• OntologyOntology designdesign: per controllare la consistenza delle classi e : per controllare la consistenza delle classi e

relazioni implicite (classi);relazioni implicite (classi);•• Ontology Ontology deploymentdeployment: per determinare se un insieme di fatti e’ : per determinare se un insieme di fatti e’

consistente (istanze);consistente (istanze);•• OntologyOntology integrationintegration: per asserire relazioni all’interno di una : per asserire relazioni all’interno di una

ontologia prodotta tramite integrazione di due ontologie;ontologia prodotta tramite integrazione di due ontologie;

Ontologie + Regole

Le Le regoleregole e le e le ontologieontologie, , percheperche’:’:

• 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 dellelogiche 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

22

Le Le regoleregole e le e le ontologieontologie, , percheperche’:’:

• 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 Le regoleregole nelnel Semantic webSemantic web

http://www.w3.org/DesignIssues/diagrams/swhttp://www.w3.org/DesignIssues/diagrams/sw--stackstack--2002.png2002.png

23

Le Le regoleregole e le e le ontologieontologie, , come: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 DescriptionLogics (DL) di OWL.

SweetPrologSweetProlog((Semantic Semantic WEbWEb Enabling Enabling TechnlogiesTechnlogies

for for PrologProlog))

•• Sistema per le regole del Web Semantico Sistema per le regole del Web Semantico in in PrologProlog..

•• Traduzione di un ontologia per (CLP) Traduzione di un ontologia per (CLP) RuleMLRuleML espressa in OWL . espressa in OWL .

•• Deduzione per mezzo di Deduzione per mezzo di JIPrologJIProlog EngineEngine..•• Specifica una ontologia OWL per la Specifica una ontologia OWL per la

sintassi delle regole sintassi delle regole RuleMLRuleML. . •• Regole Regole OWLRuleMLOWLRuleML al topal top delle ontologiedelle ontologie•• Preserva la semantica Preserva la semantica

24

SweetPrologSweetProlog & & OWLRuleMLOWLRuleML

•• Le regole Le regole RuleMLRuleML sono state specificate sono state specificate attraverso un linguaggio, quale OWL. attraverso un linguaggio, quale OWL.

•• OWLRuleMLOWLRuleML rappresenta la codifica OWL dello rappresenta la codifica OWL dello standard standard RuleMLRuleML con con CourteousCourteous LogicLogicProgramsPrograms (per la gestione dei conflitti), (per la gestione dei conflitti), permettendo quindi di incrementare le permettendo quindi di incrementare le potenzialità di RDFS e OWL all’attuale potenzialità di RDFS e OWL all’attuale RuleMLRuleML..

•• La sintassi risultante, denominata La sintassi risultante, denominata OWLRuleMLOWLRuleML, , è essenzialmente una specifica della sintassi del è essenzialmente una specifica della sintassi del rulerule languagelanguage..

SweetPrologSweetPrologRegoleRegole al top al top dell’ontologiadell’ontologia

•• Sintatticamente, i nomi dei predicati che appaiono nelle Sintatticamente, i nomi dei predicati che appaiono nelle regole possono essere URI che denotano classi e regole possono essere URI che denotano classi e proprietà in una ontologia OWL.proprietà in una ontologia OWL.

•• SemanticamenteSemanticamente la base di conoscenza ontologica di la base di conoscenza ontologica di OWL referenziata può essere vista come una teoria OWL referenziata può essere vista come una teoria background per l’insieme delle regole.background per l’insieme delle regole.

•• Una classe OWL è trattata come un predicato Una classe OWL è trattata come un predicato unariounario, e , e una proprietà come un predicato binario. Le asserzioni una proprietà come un predicato binario. Le asserzioni sulle istanze in una classe e sulle proprietà sono trattate sulle istanze in una classe e sulle proprietà sono trattate come fatti.come fatti.

•• I nomi delle classi, delle proprietà e degli individui sono I nomi delle classi, delle proprietà e degli individui sono URI al fine di permettere alle regole di riferirsi ad essi.URI al fine di permettere alle regole di riferirsi ad essi.

25

SweetPrologSweetPrologRegoleRegole al top al top dell’ontologiadell’ontologia

•• La La semanticasemantica formaleformale per per l’integrazionel’integrazione è è unaunarappresentazionedirappresentazionedi conoscenzaconoscenza ibridaibrida che combina le logiche che combina le logiche descrittive e la programmazione logica: descrittive e la programmazione logica: DescriptionDescription LogicLogicProgramsPrograms (DLP).(DLP).

•• DescriptionDescription LogicLogic ProgramsPrograms aiuta ad integrare le regole con le aiuta ad integrare le regole con le ontologie compilando le definizioni ontologiche in un programma ontologie compilando le definizioni ontologiche in un programma logico, il quale può essere esteso con ulteriori regole, logico, il quale può essere esteso con ulteriori regole, rappresentando un sottoinsieme di OWL espressivo (senza rappresentando un sottoinsieme di OWL espressivo (senza disgiunzione nella testa, senza negazione e connettivi disgiunzione nella testa, senza negazione e connettivi esistenziali).esistenziali).

DescriptionLogicPrograms

ArchitetturaArchitettura SweetPrologSweetPrologOWL

+ OWLRuleML

Parsingwith RDF PI into triples

Knowledgebase in RDF

triples

Facts & rulesrepresentedas a CLP

Queryrepresented

in Prolog

Knowledgebase inProlog

OWLRuleMLrepresented

in Prolog

Derivedconclusions

in Prolog

Derivedfacts in

OWLRuleML

TransformOWLRuleML

into CLP

Transformquery intoProlog

TransformOWL into Logic

Program

CourteousLogic Program

compiler

Inferencingusing Prolog

engine

Transformfacts into

OWLRuleML

SweetProlog

26

ConclusioniConclusioni

•• IteraperabilitàIteraperabilità semantica e semantica e inferenzialeinferenziale tra tra l’approccio delle regole nel l’approccio delle regole nel SemanticSemantic Web Web ((RuleMLRuleML LogicLogic ProgramsPrograms) e le ontologie (OWL ) e le ontologie (OWL DescriptionDescription LogicsLogics). ).

•• Nuova rappresentazione d conoscenza (DLP) e Nuova rappresentazione d conoscenza (DLP) e mostrato come può catturare un significante mostrato come può catturare un significante sottoinsieme di OWL, che include l’intero sottoinsieme di OWL, che include l’intero sottoinsieme OWL di RDFS, ed alcuni assiomi sottoinsieme OWL di RDFS, ed alcuni assiomi sui concetti e proprietà.sui concetti e proprietà.

•• Livellare le regole al top dei linguaggi ontologici Livellare le regole al top dei linguaggi ontologici come proposto dalla visione del come proposto dalla visione del SematicSematic Web Web

BibliografiaBibliografia•• TimTim BernersBerners--LeeLee, , JamesJames HendlerHendler, Ora , Ora LassilaLassila, “ , “ The The SemanticSemantic

WeWeb”,b”,ScientificScientific American, 17 Maggio 2001American, 17 Maggio 2001•• Massimo Parodi, Alfio Ferrara, “ Massimo Parodi, Alfio Ferrara, “ Xml, Semantic Web e Rappresentazione Xml, Semantic Web e Rappresentazione

della Conoscenzdella Conoscenza”,a”,MondoDigitaleMondoDigitale n n .3.3 -- Settembre 2002Settembre 2002•• DanDan BrickleyBrickley, , R.V.R.V. GuhaGuha, “ , “ RDF RDF VocabularyVocabulary DescriptionDescription LanguageLanguage 1.0 : 1.0 :

RDF SchemRDF Schema”,W3C Working a”,W3C Working DraftDraft 23 23 JanuaryJanuary 2003 2003 http://www.w3.org/TR/http://www.w3.org/TR/rdfrdf--schemaschema//

•• IanIan HorrocksHorrocks, , PeterPeter F.F. PatelPatel--SchneiderSchneider, , FrankFrank vanvan HarmelenHarmelen, “, “ReviewingReviewingthe Design of the Design of DAML+OILDAML+OIL : : AnAn OntologyOntology LanguageLanguage forfor the the SemanticSemantic Web” Web”

(American (American AssociationAssociation forfor ArtificialArtificial Intelligence, www.aaai.org , 2002)Intelligence, www.aaai.org , 2002)•• Deborah Deborah L.L. McGuinnessMcGuinness, , FrankFrank vanvan HarmelenHarmelen, " , " Web Web OntologyOntology LanguageLanguage

(OWL): (OWL): OvervieOvervieww", W3C Working ", W3C Working DraftDraft, 10 Febbraio 2003 , 10 Febbraio 2003 http://www.w3.org/TR/http://www.w3.org/TR/owlowl--featuresfeatures//

•• M.Dean, G.Schreiber, " M.Dean, G.Schreiber, " Web Ontology Web Ontology LanguageLanguage (OWL) (OWL) ReferenceReference VersionVersion1.1.0", W3C Working 0", W3C Working DraftDraft, 21 Febbraio 2003 , 21 Febbraio 2003 http://www.w3.org/TR/http://www.w3.org/TR/owlowl--refref//

•• RulemlRuleml initiativeinitiative. . http://www.dfki.de/http://www.dfki.de/rulemlruleml..•• Harold Boley, Said Tabet, Gerd Wagner. Design Harold Boley, Said Tabet, Gerd Wagner. Design RationaleRationale of of RuleMLRuleML: A : A

MarkupMarkup LanguageLanguage forfor SemanticSemantic Web Web RulesRules. In . In ProcProc. . SemanticSemantic Web Web Working SymposiumWorking Symposium ((SWWS’SWWS’01), 01), pagpag 381381--401. 401. StanfordStanford University, University, JulyJuly//AugustAugust 2001.2001.

•• GrosofGrosof, B.N. and , B.N. and HorrocksHorrocks, I. , I. ““Description Logic Programs: Combining Description Logic Programs: Combining Logic Programs with Description LogicLogic Programs with Description Logic””. . ProcProc. Intl. . Intl. ConfConf. on World Wide . on World Wide Web (WWWWeb (WWW--2003),2003.2003),2003.