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
Scarica

Query Processing by Semantic Reformulation