UNIVERSITÀ DEGLI STUDI
DI MODENA E REGGIO EMILIA
Facoltà di Ingegneria – Sede di Modena
Corso di Laurea in Ingegneria Informatica
Query Processing by Semantic
Reformulation
_________________________
Elaborazione di Interrogazioni
tramite l’uso di
Corrispondenze Semantiche
Relatore
Prof.ssa Sonia Bergamaschi
Correlatore
Ing. Maurizio Vincini
Tesi di Laurea di
Raffaele Capezzera
Anno Accademico 2002 - 2003
Sommario
Query Processing by Semantic Reformulation
Ambito di ricerca
SEWASIE Brokering Agent
DAML-S Broker
Elaborazione di interrogazioni
Riformulazione
Implementazione
Conclusioni e ricerca futura
2
Intermediazione di servizi
Query Processing by Semantic Reformulation
Interrogazione
Richiesta di servizio
vs
Annuncio delle capacità di servizio
Preferenze richieste
vs
Capacità pubblicizzate
Richiedente 1
Richiedente 2
Fornitore 1
Intermediario
Fornitore 2
Richiedente 3
Fornitore 3
Matchmaker
Broker
Conosce le capacità dei fornitori ma
Conosce sia le capacità dei fornitori
non le preferenze dei richiedenti
Non si interpone nello scambio del
servizio
che le preferenze dei richiedenti
Si interpone nello scambio del
servizio
3
Query Processing by Semantic Reformulation
Ambito di ricerca
Come può un broker determinare se una interrogazione verrà
soddisfatta da una sorgente di dati che si sia in precedenza esposta?
Sistemi di integrazione intelligente di informazioni
Web semantico
Agenti
Logiche descrittive
Rappresentazione di ontologie
SEWASIE Brokering Agent
(BA)
DAML-S Broker
(DSB)
Analisi e sviluppo delle funzionalità comuni
4
SEWASIE Brokering Agent
Query Processing by Semantic Reformulation
SEWASIE (SEmantic Webs and AgentS in Integrated Economies, www.sewasie.org) è un motore di ricerca
avanzato per l’accesso intelligente tramite arricchimento semantico a sorgenti dati eterogeneee sul Web
Query Agent 1
Query Agent 2
Brokering Agent
Query Agent 3
Virtual
Data
Store
Virtual
Data
Store
SINode
SINode
Ontologia di
riferimento
Specifiche
Ontologia di riferimento comune in ODLI3
Interrogazioni in OQLI3
Virtual
Data
Store
SINode
Funzionalità richieste
Protocollo di comunicazione per l’interazione con Query Agent ed SINode
Accoppiamento semantico dei termini di un interrogazione rispetto
all’ontologia di riferimento per individuare l’SINode più adeguato a rispondere
5
Sistemi di integrazione a mediatore
Query Processing by Semantic Reformulation
Interrogazione
Utente – Applicazione
Utente - Applicazione
Mediatore
Mediatore
Mediatore
Wrapper
Riscrittura di
interrogazioni in
base alle
Decisione sulla
capacità delle esprimibilità
sorgenti
rispetto alle
sorgenti dati
Descrizione delle
capacità di
interrogazione e
delle capacità di
contenuto di una
sorgente dati
Wrapper 1
Wrapper 2
Sorgente dati 1
Sistemi di
integrazione
a mediatore
Sorgente dati 2
Ontologia
Wrapper 3
Wrapper 4
Sorgente dati 3
Infrastruttura
MAS
Sorgente dati 4
GAV
LAV
Capacità di
interrogazione
esplicite
Capacità di
contenuto
esplicite
MOMIS
-
-
-
TSIMMIS
-
-
-
Information
Manifold
-
-
-
SIMS
-
-
Carnot
-
-
InfoSleuth
-
6
DAML-S (Web service semantici)
Annotazione semantica dei contenuti del
Web (RDF, DAML, OIL, OWL, ...)
Interazioni tra agenti per lo scambio di servizi
sul Web (SOAP, WSDL, UDDI, ...)
Query Processing by Semantic Reformulation
Web semantico
Web service
DAML-S
Ontologia e linguaggio annotato per la
descrizione semantica di Web service
ServiceModel
presents
supports
ServiceGrounding
Linguaggio di descrizione
delle capacità offerte e
delle capacità richieste
describedBy
Service
ServiceProfile
input
output
precondition
effect
Indicazione dei più adeguati fornitori di servizio
per una data richiesta tramite accoppiamento
semantico delle capacità espresse dai rispettivi
ServiceProfile
7
Query Processing by Semantic Reformulation
DAML-S Broker
Algoritmo di accoppiamento
semantico dei ServiceProfile
Gli output promessi dal
fornitore devono includere gli
output voluti dal richiedente
Funzionalità richieste
Linguaggio di interrogazione
Conversione di interrogazioni
in richieste ossia ServiceProfile
Corrispondenze semantiche
tra gli input forniti dal
richiedente e gli input richiesti
dal fornitore
Scelta del più appropriato
fornitore tra quelli indicati
dall’algoritmo di accoppiamento
semantico
8
Interazione tra QA, BA ed SINode
3. Conversione da interrogazione a richiesta
in forma di ServiceProfile
Query Processing by Semantic Reformulation
6. Riscrittura interrogazione
2. Interrogazione
Query Agent
Brokering Agent
5. Indicazione del SINode
4. Accoppiamento semantico
1. Annuncio capacità in forma di ServiceProfile
6. Interrogazione
8. Risposta
Virtual
Data
Store
SINode
7. Elaborazione risposta
Soluzioni Proposte
Protocollo di comunicazione per il SEWASIE Brokering Agent
ibrido tra broker e matchmaker
Accoppiamento semantico tra i ServiceProfile che
rappresentano richiesta ed annuncio di servizio per il soddisfacimento
di una interrogazione
9
Elaborazione di interrogazioni
Interrogazioni poste al DAML-S Broker in DAML Query Language (DQL)
Ontologia di riferimento comune tra richiedente, broker e fornitore
Algoritmo di accoppiamento semantico delle capacità espresse dai ServiceProfile
Capacità rappresentate da concetti
Sviluppo
1. Astrazione
Da istanze e variabili dell’interrogazione
iniziale in concetti per operare l’algoritmo
di accoppiamento semantico
2. Accoppiamento semantico
3. Riscrittura
Da concetti dell’interrogazione astratta ed
istanze dell’interrogazione iniziale in
concetti ed istanze richiesti dal fornitore
indicato dall’algoritmo di accoppiamento
semantico
Riformulazione
Query Processing by Semantic Reformulation
Premesse
10
Ontologia di riferimento
Rappresentata nel linguaggio OWL DL (inferenze decidibili e complete)
Query Processing by Semantic Reformulation
Elemento di OWL DL
Descrizione di ODLI3
Rappresentazione in logica descrittiva
Significato
owl:Thing
-
T
concetto universo
owl:Nothing
-
concetto vuoto
interface, view
C
concetto astratto
B
D
intervallo concreto
owl:ObjectProperty
attribute
R
ruolo astratto
owl:DatatypeProperty
attribute
U
ruolo concreto
owl:inverseOf
-
R-
ruolo inverso
owl:SymmetricProperty
-
-R
ruolo simmetrico
owl:TransitiveProperty
-
R+
ruolo transitivo
and
C1 ∏ C2
congiunzione
union
C1 C2
disgiunzione
C
negazione
{o1, o2, …, ol}, {v1, v2, …, vm}
enumerazione
owl:Class
owl:DataRange
owl:intersectionOf
owl:unionOf
owl:complementOf
owl:one of
range, enum
rule
R.C, U.D
exists
R.C, U.D
quantificazione esistenziale
attribute set, forall
R.C, U.D
quantificazione universale
owl:hasValue
-
R : o2 , U : v
quantificazione su individui
owl:Cardinality
-
= n R, = n U
restrizione numerica
owl:maxCardinality
-
n R, n U
restrizione minorativa
owl:minCardinality
-
n R, n U
restrizione maggiorativa
owl:Restriction… owl:onProperty
owl:someValuesFrom
owl:allValuesFrom
restrizione
Sostanziale equivalenza col linguaggio ODLI3
11
Query Processing by Semantic Reformulation
Riformulazione (1)
Interrogazioni formulate come triple (predicati binari)
Termini variabili intesi come output
Termini non variabili intesi come input
Similarità semantica (strutturale e lessicale) come euristica
Utilizzo di relazioni intra-ontolologiche
Astrazione
has+father(John, y)
has+father(John, man)
Di variabili
Interrogazione: P(x, B)
Se Ai {A1, A2, …, An} t.c. C: P├ P(Ai, C) KB ╞ P(Ai, C)
allora Abstract(x) = Ai.
Quindi, interrogazione astratta: P(Ai, B)
Interrogazione: P(A, y)
Se Bi {B1, B2, …, Bm} t.c. C: P├ P(Bi, C) KB ╞ P(Bi, C)
allora Abstract(y) = Bi.
Quindi, interrogazione astratta: P(A, Bi)
has+father(person, y)
Di istanze
Interrogazione: P(a, B)
Se A t.c. a ├ A(a) KB ╞ A(a)
allora Abstract(a) = A.
Quindi, interrogazione astratta: P(A, B)
12
Riformulazione (2)
Query Processing by Semantic Reformulation
Riscrittura
Trasformazione di concetti
Concetto origine: A = A0, concetto obiettivo: B = An.
A può essere trasformato in B sse
P1 t.c. (P1 ├ P1(A0, A1) KB ╞ P1(A0, A1)) (P1 ├ P1(A1, A0) KB ╞ P1(A1, A0)),
P2 t.c. (P2 ├ P2(A1, A2) KB ╞ P2(A1, A2)) (P2 ├ P2(A2, A1) KB ╞ P2(A2, A1)),
…
Pn t.c. (Pn ├ Pn(An-1, An) KB ╞ Pn(An-1, An)) (Pn ├ Pn(An, An-1) KB ╞ Pn(An, An-1)),
Quindi, Percorso(A0, An) = Percorso(A0.A1.A2. … .An-1.An)
Riscrittura di istanze
Istanza origine: a = a0,
Concetto origine: A = A0 s.t. a0 ├ A0(a0) KB ╞ A0(a0),
Concetto obiettivo: B = An,
PercorsoTriple(A0, An) = {(A0, P1, A1), (A1, P1, A2), ..., (An-1, Pn, An)}.
a0 può essere riscritta in un’istanza an t.c. an ├ An(an) KB ╞ An(an) sse
a1 t.c. (P1 ├ P1(a0, a1) KB ╞ P1(a0, a1)) (P1 ├ P1(a1, a0) KB ╞ P1(a1, a0)),
a2 t.c. (P2 ├ P2(a1, a2) KB ╞ P2(a1, a2)) (P2 ├ P2(a2, a1) KB ╞ P2(a2, a1)),
…
an t.c. (Pn ├ Pn(an-1, an) KB ╞ Pn(an-1, an)) (Pn ├ Pn(an, an-1) KB ╞ Pn(an, an-1))
13
Trasformazione di concetti - Esempio
Query Processing by Semantic Reformulation
person
isSubsuming
pet+ow ner
isSubsuming
cat+ow ner
isSubsuming
old+lady
isSubsumedBy
grow nup
isSubsuming
man
person
isSubsuming
driver
person
person
has+f ather
isSubsuming
AND(man, person)
grow nup
isSubsuming
isSubsuming
van+driver
man
isSubsuming
w hite+van+man
Caratteristiche dell’algoritmo
Decidibile
Completo
Ordinamento dei percorsi
trovati
Strategia breadth first con
euristica
Relazioni utilizzabili per
la trasformazione di
concetti
equivalentClass
subClassOf
intersectionOf
unionOf
ObjectProperty
DatatypeProperty
14
Query Processing by Semantic Reformulation
Implementazione e ragionatori
Componente
software modulare
e flessibile scritto in
Java
Ausilio
dell’ontologia
lessicale WordNet
Ausilio di RACER
quale ragionatore
Ragionatori
Ragionamento
a
posteriori
Ragionamento
a
posteriori
Logica
descrittiva
implementata
Linguaggio
di
rappresentazione
Linguaggio
di
interrogazione
Mondo
aperto
Mondo
chiuso
Java
API
ODB-Tools
-
-
OCDL, OLCD
ODL, ODLI3
OQL, OQLI3
-
-
JTP
-
-
KIF 3.0
KIF 3.0
-
DAMLJessKB
-
-
JESS
JESS
-
FaCT
-
-
SHIQ, SHF
KRSS
KRSS
-
RACER
-
-
SHIQ
KRSS
KRSS
-
15
Query Processing by Semantic Reformulation
Conclusioni
Nei sistemi di integrazione di dati a mediatore la descrizione delle capacità di
interrogazione permette di risolvere il CBR ed QED
DAML-S come linguaggio di descrizione delle capacità di un Web service permette al
DAML-S Broker la scoperta dei fornitori di servizio più adatti per un certo richiedente
Inquadrare il SEWASIE Brokering Agent come ibrido tra broker e matchmaker ed
inscriverlo entro il paradigma DAML-S gli giova le richieste funzionalità di accoppiamento
semantico
L’elaborazione di interrogazioni comprende sottoprocessi quali riformulazione ed
accoppiamento semantico. La riformulazione di interrogazioni è costituita da astrazione e
riscrittura.
Nella astrazione da variabili a concetti e nella trasformazione di concetti per la riscrittura
di interrogazioni si utilizza una euristica basata su similarità semantica (coadiuvata da
WordNet)
Pur essendo stata proposta per dotare il DAML-S Broker delle funzionalità richieste, la
riformulazione di interrogazioni è applicabile ogni qualvolta sia necessario astrarre e
riscrivere termini rispetto a determinati concetti di riferimento
L’intero processo sfrutta relazioni intra-ontologiche di una ontologia in OWL DL. Una
ontologia in ODLI3 è parimenti utilizzabile.
16
Ricerca futura
Query Processing by Semantic Reformulation
Interrogazioni formulate come congiunzioni di predicati binari
Interpretazione di predicati binari
Accoppiamento semantico di predicati binari
Riformulazione dei termini di una interrogazione per ottenere tutti i
parametri di un DAML-S ServiceProfile, non solo input ed output.
Specifica analisi di interrogazioni in DQL ed OQLI3
Utilizzo di ODB-Tools come ragionatore
Interfaccia per permettere al DAML-S Broker di processare
interrogazioni DQL
Ottimizzazione degli algoritmi implementati per la riformulazione di
interrogazioni con ulteriori euristiche
17
Query Processing by Semantic Reformulation
Bibliografia essenziale
Jose Luis Ambite, Craig A. Knoblock, Ion Muslea and Andrew Philpot. Compiling Source
Descriptions for Efficient and Flexible Information Integration. Journal of Intelligent
Information Systems, vol. 16, no. 2, pp. 149-187. 2001.
V. Vassalos and Y. Papakonstantinou. Expressive Capabilities Description Languages
and Query Rewriting Algorithms. Journal of Logic Programming, vol. 43, no. 1, pp. 75122. 2000.
Sonia Bergamaschi, Silvana Castano, Domenico Beneventano, and Maurizio Vincini.
Semantic Integration of Heterogeneous Information Sources. Special Issue on Intelligent
Information Integration, Data & Knowledge Engineering, vol. 36, No. 1, Pages 215-249.
Elsevier Science B.V. 2001.
Massimo Paolucci, Takahiro Kawamura, Terry R. Payne, and Katia Sycara. Semantic
Matching of Web Services Capabilities. Proceedings of the first International Semantic
Web Conference (ISWC), LNCS 2342, pp. 333-347. Springer Verlag. 2002.
Franz Baader, Ralf Küsters, and Ralf Molitor. Rewriting Concepts Using Terminologies.
Proceedings of the Seventh International Conference on Knowledge Representation and
Reasoning (KR2000). 2000.
Ian Horrocks, Peter F. Patel-Schneider, and Frank van Harmelen. From SHIQ and RDF
to OWL: The Making of a Web Ontology Language. Journal of Web Semantics, vol. 1, no.
1. 2003.
Volker Haarslev and Ralf Möller. RACER User’s Guide and Reference Manual Version
1.7.7. November 7, 2003.
18
Query Processing by Semantic Reformulation
Elaborazione di interrogazioni tramite l’uso di
corrispondenze semantiche
Grazie per l’attenzione
Raffaele Capezzera