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
Scarica

Programmazione logica per il Web semantico