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