Programmazione logica per il Web semantico Relatore: Prof. Alessandro PROVETTI Correlatore: Prof.ssa Elisa BERTINO Tesi di Laurea di: Franco SALVETTI Argomenti Il Web semantico. RDF/RDFS. DAML+OIL. smodels. Semantica esplicita per DAML+OIL. Introduzione ai default. Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 2 Il Web semantico “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. Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 3 Obiettivi Rendere le informazioni “comprensibili”: – HTML vs XML vs RDF. Facilitare l’interazione tra gli Agenti: – i servizi. Aumentare l’efficienza dei Motori di Ricerca: – cosa trovo se cerco “Giuseppe Garibaldi”? Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 4 Fasi Web semantico Trust Logica DAML-S DAML-L DAML+OIL Ontologie RDF Schema RDF XML URI Internet Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 5 Resource Description Framework: RDF Risorsa: tutto ciò che si può nominare con una URI. Proprietà: caratteristica o attributo di un ente. Asserzione: Citazioni: soggetto - predicato - oggetto. asserzioni su asserzioni reificate. Rappresentazioni alternative del modello RDF: – EBNF XML; – grafi orientati; – Prolog; – smodels. Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 6 Asserzione RDF triple(“http://example.org/Tesi”, “http://example.org/autore”, “Franco”). <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:example="http://example.org/"> <rdf:Description rdf:about="http://example.org/Tesi"> <example:autore> Franco </example:autore> </rdf:Description> </rdf:RDF> Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 7 RDF Schema Language Classi e Proprietà base di RDFS: Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 8 DAML+OIL DARPA Agent Mark-up Languages Ontology Inference Layer. – Difesa americana: Stanford. – Europa: Germania. Perché DAML+OIL? – daml:disjointWith – daml:Transitive – daml:identicalTo DAML for Services. DAML for Logic. Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 9 smodels Estensione Dominio del DATALOGnot,¬. finito. Simmetria tra fatti positivi e negativi. CWA e UNA. Risolve gli usuali problemi risolti dal Prolog. Ragionamento Implementato Efficiente non-monotono. in C++ e distribuito sotto licenza GPL. (benchmark fino a 1000+ variabili). Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 10 Semantica Mancanza Permette di una semantica accettata e condivisa. la discussione su un oggetto “calcolabile”. Strumento di validazione. Approccio: Le Descrittivo vs. Prescrittivo. regole logiche danno la semantica. Calcolo dei modelli Stabili. Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 11 Ereditarietà - sottoproprietà q p triple(S,Super,O) :d(S), d(Super), d(O), d(Son), triple(Son, "rdfs:subPropertyOf", Super), triple(S, Son, O). Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 12 Violazione dominio - asserzioni reificate err("Nell'asserzione ",St, "vi è una violazione di dominio.") :triple(St, "rdf:type", "rdf:Statement"), triple(St, "rdf:predicate", P), triple(St, "rdf:subject", S), hasDomain(P), not inDomain(S,P). hasDomain(Y) :triple(Y, "rdfs:domain", D). inDomain(X,Y) :triple(Y, "rdfs:domain", D), triple(X, "rdf:type", D). Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 13 Inferenza Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 14 Default Gestione delle eccezioni nella classificazione. Compattezza espressiva. Applicazioni al ragionamento automatico: – database CYC. Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 15 Default inheritance triple(S, "rdfs:subClassOf", O) :d(S), d(O), d(B), d(C), triple(S, "rdfs:subClassOf", B), triple(B, "rdfs:subClassOf", O), not cannotBeSubClassOf(S,O). cannotBeSubClassOf(X,C) :d(X), d(C), d(A), triple(X, "rdfs:subClassOf", A), triple(A, "daml:complementOf", C). triple(S, "rdf:type", O) :d(S), d(C), d(B), d(O), triple(S, "rdf:type", B), triple(B, "rdfs:subClassOf", O), not cannotBeTypeOf(S,O). cannotBeTypeOf(X,C) :d(X), d(C), d(A), triple(X, "rdf:type", A), triple(A, "daml:complementOf", C). Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 16 Conclusioni “Esplorazione” del Web Sperimentabilità semantico. della semantica esplicita: – validazione; – inferenza. Estensione Sviluppi ai default della semantica esplicita. futuri: – principio di Touresky. Università degli Studi di Milano Corso di Laurea in Scienze dell’Informazione Franco SALVETTI Programmazione logica per il Web semantico, pag. 17 Programmazione logica per il Web semantico Grazie per l’attenzione