pobierz plik referatu - BDAS

Transkrypt

pobierz plik referatu - BDAS
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Rozdział 6
w
Zastosowanie ontologii w procesie odwzorowywania
schematów i wymiany danych XML
w
w
da
.b
Streszczenie. W rozdziale przedstawia się problematykę wymiany danych
reprezentowanych w języku XML, sformułowaną jako zagadnienie translacji
bazującej zarówno na składni, jak i na semantyce schematów XML, traktowanych jak języki formalne służące do wyrażania danych. Składnię schematu
opisują wzorce drzew, wzorce kluczy, zależności pomiędzy kluczami oraz
inne zależności funkcjonalne. Denotacjami semantyki są semantyczne wzorce drzew, które konstruuje się z wykorzystaniem pojęć wskazanej ontologii
odniesienia. Badanie podobieństwa denotacji jest podstawą do odkrywania
powiązań pomiędzy składowymi składniowymi schematów. Odkryte podobieństwa można sformułować w postaci specjalnego c-odwzorowania pomiędzy schematem źródłowym i docelowym, które w połączeniu z funkcyjną reprezentacją schematu docelowego (jego autoodwzorowaniem) daje wykonywalne odwzorowanie transformujące dane z formy źródłowej w dane zgodne
ze schematem docelowym.
pl
s.
1 Wstęp
Jeden z trybów wymiany danych (ang. data exchange) poprzez współpracujące ze sobą
aplikacje polega na ich przekształceniu z formy źródłowej do formy docelowej, przy zachowaniu semantyki transformowanych danych. Trudności przy realizowaniu rozważanego
zadania wynikają głównie z różnorodności istniejących form danych, która wpływa ograniczająco na możliwość zautomatyzowania procesu wymiany danych. Zadanie nie staje się
znacząco łatwiejsze do wykonania także wtedy, gdy ograniczy się formę danych do postaci
zapisów w XMLu. Problem wynika z natury paradygmatu modelowana danych w języku
XML, który jest przeznaczony głównie do wyrażania ich aspektów strukturalnych. Co
więcej, nie istnieją jasne reguły wskazujące na to, które strukturalne części danych mają
być reprezentowane za pomocą elementów (znaczników) XML, a które za pomocą atrybutów związanych ze znacznikami. Ponadto, nie definiuje się żadnych wskazówek w odnieJolanta Cybulka, Adam Meissner, Tadeusz Pankowski
Politechnika Poznańska, Instytut Automatyki i Inżynierii Informatycznej,
Pl. M. Skłodowskiej-Curie 5, 60-965 Poznań, Polska
email:{jolanta.cybulka, ameis, tadeusz.pankowski}@put.poznan.pl
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie ontologii w procesie odwzorowywania schematów i wymiany danych XML
w
sieniu do sposobu reprezentowania semantyki, na której podstawie można (pół)automatycznie odkrywać zachowujące znaczenie powiązania pomiędzy formami danych. Potencjalnie,
znaczenie może być jawnie przypisywane danym za pośrednictwem mechanizmu atrybutów, zazwyczaj jednak fragmenty semantyki są niejawnie zaszyte w nazwach znaczników
i regułach ich komponowania. Zatem, brak formalnie zdefiniowanego znaczenia danych
stanowi poważną przeszkodę na drodze ich automatycznej wymiany. Tradycyjnie, wymianę
realizuje się na bazie translacji sterowanych składnią (zapisywanych w postaci wyrażeń języka XSLT), które są implementacyjnie kosztowne, a zadanie zachowania semantyki przekształcanych danych spoczywa na projektancie schematu translacji.
Znaczący wzrost liczby aplikacji wymieniających dane XML (w tym działających
w modelu serwisów WWW, ang. Web services), zapoczątkował powstawanie metod mających na celu wyeliminowanie w możliwie największym stopniu konieczności ręcznego definiowania (programowania) przekształceń form danych. Rozważane metody można podzielić na kategorie ([2]) w zależności od uwzględnianego aspektu danych, wyróżniając:
metody bazujące wyłącznie na składni danych oraz metody uwzględniające także ich semantykę.
Najistotniejszą cechą metod „składniowych” jest podniesienie, w stosunku do rozwiązań
tradycyjnych, poziomu abstrakcji przy definiowaniu przekształceń − zamiast żmudnie operacyjnie programować treść przekształcenia, specyfikuje się powiązania pomiędzy formami
danych w postaci formuł logicznych typu „zależności źródło-cel” (stanowiących zmodyfikowaną postać stosowanych w relacyjnym modelu danych formuł STD, ang. source-totarget dependencies, [3]). Formuły takie autorzy artykułu nazywają c-odwzorowaniami
i wykorzystują do opisywania bezkontekstowych zależności strukturalnych pomiędzy formami (wyrażonymi za pomocą schematów [13]) danych. Dodatkowo, autorzy pokazują, że
specyfikację zależności można wzbogacić o opis ograniczeń kontekstowych, wyrażających
np. znane z modelu relacyjnego więzy integralności definiujące klucze, referencje pomiędzy nimi oraz zależności funkcjonalne zachodzące pomiędzy wskazanymi rodzajami danych. Całkowity opis składni pewnego schematu można przechowywać w postaci jego autoodwzorowania ([10]), uzyskiwanego automatycznie z opisu w języku definiowania schematów XSD. Jest to o tyle cenne, że złożenie c-odwzorowania pomiędzy dwoma schematami z autoodwzorowaniem schematu docelowego pozwala wyrazić odwzorowanie transformujące (t-odwzorowanie) dane z formy źródłowej w formę docelową. T-odwzorowania
są programowalne, w [11] podano algorytm generacji danych w formie docelowej na podstawie danych w formie źródłowej.
Podstawowy mankament rozważanej grupy metod jest taki, jak w metodzie tradycyjnej:
c-odwzorowanie jest zadawane a priori przez twórcę przekształcenia, który tworząc tę formułę niejawnie postuluje, że zostanie zachowana semantyka transformowanych danych.
Dlatego w drugiej grupie metod wykorzystuje się jawnie wyspecyfikowane znaczenie danych, będące podstawą do odkrywania (i uzasadniania poprawności) c-odwzorowań. Domenę bytów semantycznych buduje się na bazie pojęć zawartych w konceptualizacji dziedziny przedmiotowej, której dotyczą dane. Nowoczesnym sposobem reprezentowania takich konceptualizacji są ontologie, będące strukturami pojęć powiązanych za pomocą relacji, wyrażonych w pewnym języku formalnym o sile wyrazu wyznaczonej przez język
wskazanej logiki. Pojęcia ontologii są wykorzystywane do wyrażania znaczeń przypisywanych (poprzez schematy) danym. Istnieją dwa główne sposoby wykorzystywania
ontologii ([9]). W pierwszym próbuje się w pełni automatycznie, na podstawie słowników
języka naturalnego oraz technik maszynowego uczenia i heurystyk, odczytać znaczenie
ukryte w definicji schematu i wyrazić je w postaci lokalnej ontologii. W trakcie uzgadniania lokalnych ontologii są odkrywane zależności pomiędzy schematami. Metodę można
stosować jedynie w powiązaniu z dobrymi słownikami i przy założeniu, że nazwy znaczni-
da
.b
w
w
pl
s.
70
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie ontologii w procesie odwzorowywania schematów i wymiany danych XML
w
ków są słowami języka naturalnego. W drugim podejściu wykorzystuje się ogólną ontologię odniesienia, najczęściej fundacjonistyczną (określenie za [8]), w której zakotwicza się
pojęcia odpowiadające znaczeniom przypisywanym elementom schematu. W takim wypadku byty semantyczne przypisane różnym schematom mogą być odnoszone do siebie na
bazie ontologii ogólnej umożliwiając wykrywanie i uzasadnianie c-odwzorowań. Mankamentem podejścia jest konieczność włączenia człowieka w proces przypisywania znaczenia
schematom.
W pracy prezentujemy rozwinięcie opracowanej wcześniej metody składniowej ([11])
w kierunku metod wykorzystujących semantykę, przy wykorzystaniu fundacjonistycznej
ontologii odniesienia. W podrozdziale 2 definiujemy pojęcie schematu, poprawnej danej
oraz formułujemy zadanie wymiany danych wyrażonych w języku XML. Podrozdział 3 zawiera charakterystykę ontologii oraz opis sposobu definiowania semantyki schematów, po
czym w podrozdziale 4 wskazujemy sposób odkrywania powiązań pomiędzy schematami.
Rozdział kończy podsumowanie.
w
w
2 Schematy i dane XML oraz zagadnienie wymiany danych
da
.b
Do definiowania danych XML (zwanych także dokumentami) stosujemy schematy XML
traktowane jako języki formalne S definiowane w powiązaniu z ontologią odniesienia
O w postaci krotki
S = <E ∪ X, SB, ZK, DS, FSem>
pl
s.
gdzie:
− E jest zbiorem etykiet (nazw znaczników, zwanych też elementami), rozłącznym ze
zbiorem zmiennych indywiduowych X (reprezentujących wartości elementów mających prosty model zawartości),
− SB definiuje składnię bezkontekstową danych zadaną w formie wzorców drzew (ang.
tree-pattern) na bazie E ∪ X (patrz przykład 1),
− ZK = <OK, ORefK, ZF> opisuje zbiór zależności kontekstowych wzorowany na więzach integralności zaczerpniętych z relacyjnego modelu danych, w którym OK definiuje ograniczenia wynikające z zastosowania kluczy (służących do wskazywania
unikatowości podstruktur danych), wyrażone w postaci wzorców kluczy (ang. Key-patterns, patrz przykład 1); ORefK są referencjami pomiędzy kluczami, zapisywanymi za pomocą równości postaci y = y′ (zmienne1 reprezentują etykiety wrażające klucze); ZF są równościami postaci y = f(y1, y2, …, yn) wyrażającymi zależności funkcjonalne (f) pomiędzy danymi reprezentowanymi przez etykiety notowane za pomocą
zmiennych,
− DS jest denotacją semantyczną przypisywaną strukturze składniowej, wyrażaną
w postaci semantycznego wzorca drzewa, w którym wykorzystuje się pojęcia ontologii odniesienia O (patrz podrozdział 3),
− FSem jest funkcją semantyki, przypisującą elementom składniowym denotacje semantyczne.
Rozważmy przykład.
1
Są to metazmienne z języka definiowania schematów.
71
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie ontologii w procesie odwzorowywania schematów i wymiany danych XML
Przykład 1. Prezentowane drzewo odzwierciedla schemat S1, który definiuje strukturę
składniową (w rzeczywistości gramatykę bezkontekstową w notacji podobnej do EBNF,
zapisaną w postaci drzewa; etykiety reprezentują nieterminale gramatyki) danych zawartych w pewnym katalogu sprzedawców towarów. Strukturę bezkontekstową w wygodny
sposób reprezentuje się w zapisie liniowym w postaci (zmodyfikowanego) wzorca drzewa,
a zależności typu OK wyraża się w postaci wzorców kluczy ([11]).
S1
w
S*
N
T+
w
I
C
etykiety:
S − sprzedawca
N − nazwa
T − towar
I − identyfikator
C − cena
SB: wzorzec drzewa dla S1:
S1[S[N=xN ∧ T[I=xI ∧ C=xc ]+]*]
OK: wzorce kluczy dla S1:
/S1/S[N = xN ]
∧ /S1/S[N = xN ]/N[xN ]
∧ /S1/S[N = xN ]/T[I=xI]
∧ /S1/S[N = xN ]/T[I=xI]]/I[xI]
∧ /S1/S[N = xN ]/T[I=xI]]/C[xC]
Rys. 1. Struktura bezkontekstowa schematu S1 wraz ze specyfikacją kluczy
w
da
.b
We wzorcu drzewa podaje się dla każdej etykiety (w nawiasach kwadratowych) podstrukturę, której korzeniem jest dana etykieta. Modyfikacja wzorca w stosunku do [11] polega na uwzględnieniu operatorów wyrażeń regularnych zawartych w (oryginalnym) schemacie XSD. Równości wskazują powiązanie pomiędzy etykietą a wartością z niej wywodzoną (wartością zmiennej leksykalnej). Zakładamy, że z każdą etykietą (oprócz korzenia)
związany jest klucz identyfikujący każde wywodzone poddrzewo, zatem, w przykładzie
występuje pięć wzorców kluczy. Pierwszy dotyczy etykiety S, która znajduje się na końcu
ścieżki /S1/S prowadzącej od korzenia, a wywodzone z niej poddrzewa są jednoznacznie
identyfikowane przez wartość przypisaną zmiennej xN, wywiedzioną z N. Następny wzorzec orzeka, że liście typu N są identyfikowane przez swoją własną wartość. Można także
wprowadzić zależność funkcjonalną ZF postaci xC = fC(xN), która wyraża powiązanie (fC)
pomiędzy ceną towaru i nazwą sprzedawcy (towar może mieć różne ceny).
Każdy schemat definiuje język, w którym kodowane są poprawne dane XML (dokumenty XML). Poprawna dana (ang. valid XML document) D zapisana w języku schematu S ma
postać krotki
pl
s.
D = <ED ∪ Str, Syn, Sem>
gdzie:
− ED ⊆ E, bowiem niektóre etykiety mogą być opcjonalne,
− Str jest zbiorem łańcuchów znakowych reprezentujących wartości przypisywane
zmiennym leksykalnym,
− Syn jest strukturą danej, wyrażoną w postaci ukonkretnionego na (podstawie wzorca)
drzewa, spełniającego wszystkie więzy nałożone w definicji S przez SB i ZK (patrz
przykład 2),
− Sem jest denotacją semantyczną przypisaną strukturze Syn (w postaci ukonkretnionego semantycznego wzorca drzewa).
Przykładową poprawną daną D1 wyrażoną w języku S1 przedstawia następny przykład.
72
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie ontologii w procesie odwzorowywania schematów i wymiany danych XML
Przykład 2. Drzewo D1 reprezentuje dane dotyczące dwóch sprzedawców, z których pierwszy sprzedaje dwa towary, a drugi − jeden towar. Dana spełnia zależności bezkontekstowe,
a także unikatowość kluczy (poddrzewa wywodzone z S są identyfikowane poprzez wartość wywodzoną z N, a poddrzewa T przez wartość wywodzoną z I). Ponadto, spełniona jest
zależność funkcjonalna mówiąca, że cena towaru zależy od sprzedawcy: sprzedawca
n1 sprzedaje towar i1 po cenie c1, a sprzedawca n2 sprzedaje towar i1 po cenie c3.
w
S1
S
S
T
w
N
N
T
n2
n1
I
C
I
C
i1
c1
i2
c2
T
I
C
i1
c3
w
Rys. 2. Przykładowy dokument XML w języku S1
Strukturę danej D1 obrazuje ukonkretniony wzorzec drzewa postaci
da
.b
Syn = S1[S[N=n1 ∧ T[I=i1 ∧ C=c1 ] ∧T[I=i2 ∧ C=c2 ]] ∧ S[N=n2 ∧ T[I=i1 ∧ C=c3 ]]]
W kolejnym przykładzie przedstawia się inny schemat, który również jest przeznaczony
do wyrażania danych katalogowych dostawców i towarów.
Przykład 3. Schemat S2 służy do definiowania katalogów towarów. Każdy towar ma unikatowy identyfikator I, cenę sprzedaży C oraz opis dostawcy D (jego nazwę N i opcjonalny
adres A). Podajemy (dla celów ilustracyjnych) drzewo struktury bezkontekstowej, znaczenie etykiet oraz wzorce drzewa i kluczy Zbiór zmiennych indywiduowych oznaczamy przez
Y). Dodatkowo, uwzględniamy dwie zależności funkcjonalne: zależność ceny towaru od
dostawcy oraz zależność adresu dostawcy od jego nazwy.
T*
I
C
D+
N
A?
etykiety:
D− dostawca
N − nazwa
T − towar
I − identyfikator
C − cena
A − adres
SB: wzorzec drzewa dla S2:
pl
s.
S2
S2[T[I=yI ∧ C= yC ∧ D[N=yN ∧ A=yA?]+]*]
OK: wzorce kluczy dla S2:
/S2/T[I = yI]
∧ /S2/T[I = yI]/I[yI ]
∧ /S2/T[I = yI]/C[yC]
∧ /S2/T[I = yI]/D[N = yN]
∧ /S2/T[I = yI]/D[N = yN]/N[yN]
∧ /S2/T[I = yI]/D[N = yN]/A[yA]
Rys. 3. Struktura bezkontekstowa schematu S2 wraz ze specyfikacją kluczy
Zbiór ZF zawiera dwie zależności: jedna powtarza cechę yC = fC(yN) poprzedniego schematu, a druga wskazuje, że adres dostawcy jest funkcją jego nazwy yA = fA(yN).
Z pobieżnej analizy obydwu schematów wynika, że służą one do opisywania tych samych danych − o czym świadczy chociażby to, że zbiór wartości umieszczanych w liściach
drzew typu S1 zawiera się w zbiorze wartości liści drzew typu S2. Zatem, dane można wy73
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie ontologii w procesie odwzorowywania schematów i wymiany danych XML
mieniać za pośrednictwem schematu translacji sterowanej składnią, który wyrazi sposób
przekształcania danych wyrażonych w języku S1 (schemat źródłowy) w dane zapisane
zgodnie z S2 (schemat docelowy). W pracach [11], [1] autorzy przedstawili sposób specyfikowania takich translacji w postaci t-odwzorowania uzyskiwanego przez złożenie dwóch
innych odwzorowań: c-odwzorowania deklarującego odpowiedniości pomiędzy schematami i autoodwzorowania schematu docelowego. T-odwzorowania są wykonywalne, autorzy
podali stosowne algorytmy. Rozwiązanie zilustrujemy przykładami.
w
w
Przykład 4. Dany jest schemat S2 z przykładu 3. Jak pokazano w [11], dla celów transformacyjnych schemat może być reprezentowany w postaci odwzorowania generującego
wszystkie dane z nim zgodne, zwanego autoodwzorowaniem. Przyjmuje ono postać formuły logicznej
SBS2 (Y) ∧ ORefK S2 (Y) ∧ ZF S2 (Y) ⇒ OK S2 (Y),
w
która postuluje, że każda dana spełniająca poprzednik implikacji spełnia również jej następnik. Dla schematu S2 uzyskamy2
/S2[T[I=yI ∧ C= yC ∧ D[N=yN ∧ A=yA]]] ∧ yC=fC(yN) ∧ yA=fA(yN) ⇒
da
.b
/S2/T[I = yI]
∧ /S2/T[I = yI]/I[yI ]
∧ /S2/T[I = yI]/C[yC]
∧ /S2/T[I = yI]/D[N = yN]
∧ /S2/T[I = yI]/D[N = yN]/N[yN]
∧ /S2/T[I = yI]/D[N = yN]/A[yA]
Przykład 5. Dane są schematy S1 i S2 z przykładów 1 i 3. Istnienie odpowiedniości pomiędzy strukturami obydwu schematów można specyfikować za pomocą c-odwzorowania
przyjmującego postać formuły
SBS1 (X) ∧ ϕ(X, Y) ∧ ϕ′(Y) ⇒ SBS2 (X, Y)
S1
(1)
S2
pl
s.
w której SB (X) reprezentuje strukturę języka źródłowego, SB (X, Y) jest składnią języka
docelowego, ϕ(X, Y) jest zbiorem równości wskazujących odpowiedniości pomiędzy
zmiennymi z X i Y a ϕ′(Y) opisuje zależności funkcjonalne pomiędzy zmiennymi ze schematu docelowego. C-odwzorowanie schematu S1 w S2 przyjmuje postać
/S1[S[N=xN ∧ T[I=xI ∧ C=xc ]]] ∧ yN = xN ∧ yI = xI ∧ yC = xC ∧ yA = fA(xN) ⇒
/S2[T[I=yI ∧ C= yC ∧ D[N=yN ∧ A=yA]]]
Przykład 6. C-odwzorowanie pomiędzy schematami można złożyć z autoodwzorowaniem
schematu docelowego uzyskując odwzorowanie opisujące transformowanie danych z postaci źródłowej do postaci docelowej, zwane t-odwzorowaniem. Ma ono postać formuły
SBS1 (X) ∧ ϕ(X, Y) ∧ ϕ′(Y) ∧ ORefK S2 (Y) ∧ ZF S2 (Y) ⇒ OK S2 (X, Y)
2
Wzorzec drzewa w postaci niezmodyfikowanej. Y jest zbiorem zmiennych indywiduowych.
74
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie ontologii w procesie odwzorowywania schematów i wymiany danych XML
Podstawiając konkretne wartości do powyższego schematu formuły uzyskamy
/S1[S[N=xN ∧ T[I=xI ∧ C=xc ]]] ∧ yN = yN ∧ yI = yI ∧ yC = yC ∧ yA = fA(yN) ∧ yC = fC(yN) ⇒
w
/S2/T[I = yI]
∧ /S2/T[I = yI]/I[yI ]
∧ /S2/T[I = yI]/C[yC]
∧ /S2/T[I = yI]/D[N = yN]
∧ /S2/T[I = yI]/D[N = yN]/N[yN]
∧ /S2/T[I = yI]/D[N = yN]/A[yA]
w
3 Specyfikowanie semantyki danych XML z wykorzystaniem ontologii
da
.b
w
W poprzednim podrozdziale założono, że schemat XML jest językiem formalnym i jako
taki, składa się ze zbioru napisów (o wskazanej składni bezkontekstowej i kontekstowej),
którym funkcja semantyki przypisuje znaczenia z dziedziny semantycznej (zbioru denotacji
semantycznych). Dziedziną semantyczną są semantyczne wzorce drzew, w których wykorzystuje się pojęcia ontologii odniesienia. Przez ontologię rozumiemy inżynierski artefakt
służący do jawnego, w języku formalnym, specyfikowania konceptualizacji pewnego obszaru zainteresowań. Konceptualizacja jest strukturą złożoną (głównie) z pojęć powiązanych za pomocą relacji. Wiązanie pojęć relacjami służy ujawnianiu ich zamierzonego znaczenia (ang. intended meaning) konstytuującego bazowe jednostki semantyczne. W niektórych formalizacjach ontologia jest teorią logiczną, w której pojęcia są reprezentowane przez
unarne predykaty, a relacje − przez predykaty binarne ([5]). Tak rozumiane ontologie mogą
mieć różne przeznaczenie, np. wspomagać tworzenie elektronicznych zasobów języka naturalnego (jedno-i wielojęzycznych leksykonów semantycznych, jak WordNet, EuroWordNet, czy SIMPLE), mogą także służyć strukturalizowaniu wiedzy w systemach informatycznych lub być współdzielonym słownikiem ułatwiającym komunikowanie się aplikacji.
W pracy będziemy wykorzystywać pojęcie ontologii w tym ostatnim sensie.
Ontologie można klasyfikować w różnoraki sposób, klasyfikacja ujawnia hierarchiczne
powiązania pomiędzy typami ontologii. Najwyższą warstwę stanowią ontologie reprezentujące najogólniejsze, niezależne od dziedziny pojęcia, powiązane generycznymi relacjami,
wyznaczające ogólne spojrzenie na rzeczywistość, umotywowane z punktu widzenia filozofii, lingwistyki, psychologii, a także zdroworozsądkowego postrzegania świata przez człowieka. Ontologie takie noszą miano fundacjonistycznych (ang. foundational). Z formalnego
punktu widzenia są one zazwyczaj złożonymi teoriami logicznymi wyrażanymi w językach
logiki o dużej sile wyrazu. Zastosujemy ontologię DOLCE+D&S ([6], [4]), dla której istnieje formalizacja w języku logiki deskrypcyjnej (rozstrzygalny podzbiór logiki pierwszego
rzędu), wyrażona w języku OWL-DL (standard rekomendowany przez W3C [7]). Ontologie fundacjonistyczne mogą być specjalizowane przez bardziej szczegółowe pojęcia, które
należą do niższych warstw rozważanej hierarchii, np. ontologii rdzennych ang. (ang core,
najogólniejsze pojęcia i relacje pewnej dziedziny), a poprzez nie ontologii dziedzinowych
(ang. domain), związanych z rozwiązywanie zadań (ang. task), a także ze szczególnego rodzaju konkretnymi aplikacjami (ang. application). Ontologie fundacjonistyczne i dziedzinowe mogą być także specjalizowane przez ontologie tematyczne (ang. topical) stanowiące
powiązane ze sobą najogólniejsze pojęcia (być może z różnych warstw) dotyczące pewnego
zagadnienia.
Paradygmat modelowania stanów rzeczy w ontologii DOLCE+D&S umożliwia odzwierciedlanie warstw epistemicznych postrzeganego świata, zatem, jego konceptualizacja może
pl
s.
75
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie ontologii w procesie odwzorowywania schematów i wymiany danych XML
w
zawierać różne „deskrypcje” (teorie) odnoszące się do rzeczywistości. Szczególnym rodzajem deskrypcji są „deskrypcje sytuacji”, spełniane przez „rzeczywiste sytuacje”. Relacja
spełniania jest jedną z bazowych relacji ontologicznych. Szczegółowe przedstawianie ontologii DOLCE+D&S wykracza poza ramy prezentowanej pracy, potrzebne określenia będą
definiowane na bieżąco.
Jak już wspomniano, denotacje semantyczne w postaci semantycznych wzorców drzew
będą konstruowane3 (przez inżyniera wiedzy wspomaganego przez środowisko programowe) z wykorzystaniem pojęć i relacji ontologii odniesienia. W dalszej części opiszemy propozycję zastosowania ontologii odniesienia DOLCE+D&S.
Zakładamy, że pojęcia użyte w denotacji semantycznej dotyczą realnej sytuacji reprezentowanej przez schemat XML i są ontologicznie zawarte w pewnej deskrypcji tej sytuacji. Deskrypcja stanowi kontekst semantyczny dla wszystkich schematów strukturalizujących dane wymieniane przez współpracujące aplikacje. Oczywiście, nie wszystkie schematy muszą reprezentować wszystkie dane opisywalne przez wskazaną deskrypcję sytuacji,
gdyż aplikacje mogą wymieniać jedynie niektóre spośród danych. Zakładamy, że wszystkie
dane źródłowe będą przekształcane w docelowe, natomiast schemat docelowy może zawierać fragmenty (poddrzewa) nie istniejące w schemacie źródłowym.
Obydwa schematy z przykładów 1 i 3 dotyczą biznesowej sytuacji sprzedaży towarów,
przy czym, w schemacie pierwszym mamy zestawienie sprzedawców, którym przypisano
sprzedawane towary, a w drugim odwrotnie: towarom przypisano ich dostawców. Deskrypcja każdej sytuacji w DOLCE+D&S jest zbudowana zgodnie ze pewnym schematem,
w którym występuje pojęcie reprezentujące tę deskrypcję (specjalizuje pojęcie Deskrypcja
sytuacji), powiązane strukturalnie za pomocą wskazanych relacji generycznych z pojęciami
specjalizującymi wskazane, predefiniowane pojęcia, jak (Nie)Agentywna Rola Funkcjonalna, Przebieg Zdarzeń i Parametr. Zatem, deskrypcja wiąże opis przebiegu pewnego zdarzenia z jego aktorami (agentami, rolami aktywnymi i pacjensami [12], rolami pasywnymi)
oraz atrybutami okoliczności całej sytuacji, reprezentowanymi w formie parametrów. Wracając do rozważanych schematów, deskrypcja sytuacji sprzedaży jest reprezentowana ontologicznie przez pojęcie Sprzedaż powiązane funkcjonalnie za pomocą relacji ma-jako-agenta (specjalizacja relacji t-component) z pojęciem Sprzedawca (Dostawca), które specjalizuje pojęcie Agentywna Rola Funkcjonalna. Podobnie, Sprzedaż jest powiązana relacją majako-pacjensa (specjalizacja relacji t-component) z pojęciem Towar, które specjalizuje
NieAgentywną Rolę Funkcjonalną. Ponadto, zarówno Sprzedawca (Dostawca), jak i Towar
mają atrybuty, które można reprezentować poprzez specjalizowanie pojęcia Parametr. Są
nimi: Nazwa, Identyfikator, Cena i Adres wraz z relacjami specjalizującymi relację generyczną requisite: ma-nazwę, ma-identyfikator, ma-cenę i ma-lokalizację. Wystąpi także specyficzna relacja ma-jako-ofertę, wiążąca Sprzedawcę z Towarem, która nie ma odpowiednika wśród relacji generycznych ontologii odniesienia. Każda z zaproponowanych relacji ma
relację odwrotną, np. ma-nazwę jest odwrotnością jest-nazwą.
W przykładzie 7 zilustrujemy sposób konstruowania denotacji semantycznej dla schematu S1 z przykładu 1. Zakładamy, że ontologia odniesienia zawiera konceptualizację sytuacji
sprzedaży w postaci omówionej deskrypcji Sprzedaż.
da
.b
w
w
pl
s.
3
Można mówić także o „odtwarzaniu” denotacji semantycznej zawartej niejawnie w schemacie na
etapie jego konstruowania.
76
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie ontologii w procesie odwzorowywania schematów i wymiany danych XML
Przykład 7. W metodzie konstruowania denotacji semantycznej wykorzystuje się jako
reprezentację składni zbiór wzorców kluczy schematu, które zawierają wszystkie ścieżki
drzewa reprezentującego schemat. Będziemy rozważać elementarne fragmenty takich
ścieżek złożone z pary etykiet i wiążącej je krawędzi. Wszystkim trzem elementom
przypiszemy pojęcia i relacje wchodzące w skład deskrypcji Sprzedaż.
OK: wzorce kluczy dla S1:
1) rozważamy wzorzec:
/S1/S[N = xN ]
∧ /S1/S[N = xN ]/N[xN ]
∧ /S1/S[N = xN ]/T[I=xI]
∧ /S1/S[N = xN ]/T[I=xI]]/I[xI]
∧ /S1/S[N = xN ]/T[I=xI]]/C[xC]
w
np.:
/S1/ S[N = xN ]
/S1
< relacja >
123
Sprzedaż
⇓
ma-jako-agenta
S[N= xN]
123
Sprzedawca
w
2) kolejny wzorzec:
/S1/S[N = N = xN]/N[xN ]
< relacja >
/S1/S[N = xN ]
123
Sprzedawca
⇓
ma-nazwę
N[xN ]
123
Nazwa
w
3) na podstawie wszystkich kluczy uzyskamy zbiór stwierdzeń:
ma-jako-agenta
ma-nazwę
ma-jako-ofertę
ma-identyfikator
ma-cenę
Sprzedawca
Nazwa [xN]
Towar
Identyfikator [xI]
Cena [xC]
da
.b
Sprzedaż
Sprzedawca
Sprzedawca
Towar
Towar
4) stwierdzeniami „dekorujemy” wzorzec drzewa SBS1 uzyskując semantyczny wzorzec
drzewa DSS1:
S1
DS : [Sprzedaż ma-jako-agenta Sprzedawca [ma-nazwę Nazwa [xN] i ma-jako-ofertę Towar
[ma-identyfikator Identyfikator [xI] i ma-cenę Cena [xC]] +] * ]
S1’
pl
s.
Tak zbudowany semantyczny wzorzec drzewa stanowi parafrazę semantyki schematu
(języka) S1. Można z niego wywodzić inne reprezentacje składniowe, przekształcając denotację poprzez zastosowanie np. relacji odwrotnych do danych i innych dopuszczalnych
w deskrypcji Sprzedaż, co jest przydatne w procesie odkrywania powiązań pomiędzy schematami. Na przykład, możemy chcieć zamienić miejscami w schemacie etykiety Sprzedawca i Towar, co jest uzasadnione semantycznie, gdyż wzorzec semantyczny postaci:
DS : [Sprzedaż ma-jako-pacjensa Towar [ma-identyfikator Identyfikator [xI] i ma-cenę Cena [xC]
i jest-ofertą Sprzedawca [ma-nazwę Nazwa [xI] ] +] * ]
jest zgodny z deskrypcją sytuacji Sprzedaż. Jednocześnie odpowiada mu schemat o następującej składni bezkontekstowej:
S2
T*
I
C
S+
N
Rys. 4. Schemat XML odpowiadający wzorcowi semantycznemu DSS1’
W procesie odkrywania powiązań pomiędzy schematami, wygodnie jest posługiwać się
graficzną reprezentacją semantycznego wzorca drzewa, w postaci drzewa (skierowanego)
właśnie, np. DSS1 przyjmie postać:
77
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie ontologii w procesie odwzorowywania schematów i wymiany danych XML
Sprzedaż
ma-jako-agenta
Sprzedawca *
ma-nazwę
ma-ofertę
Nazwa
Towar +
w
ma-identyfikator
Identyfikator
ma-cenę
Cena
w
Rys. 5. Reprezentacja graficzna semantycznego wzorca drzewa DSS1
w
4 Sterowane semantyką odkrywanie powiązań pomiędzy schematami
da
.b
Odwzorowanie schematu źródłowego w docelowy (c-odwzorowanie) jest jedynym z rozpatrywanych działań, którego definicji nie uzyskuje się w pełni automatycznie, a to z uwagi
na występujący w formule 1 składnik ϕ(X, Y), który określa powiązania pomiędzy wierzchołkami wiszącymi schematu źródłowego SZ i schematu docelowego SD. W niniejszym
podrozdziale podaje się ogólny opis metody półautomatycznego konstruowania relacji ϕ(X,
Y) poprzez sterowane semantyką odkrywanie powiązań między schematami. Należy zaznaczyć, że jest to metoda prototypowa, będąca przedmiotem aktualnie prowadzonych prac.
U podstaw dalszych rozważań leży oczywista obserwacja, że jeśli schematy SZ i SD reprezentują te same dane, to odpowiadające im denotacje DZ oraz DD powinny być do siebie
podobne lub wręcz identyczne. Należy jednak uwzględnić fakt, że wymienione schematy
mogą być budowane niezależnie od siebie (np. w różnych instytucjach), skutkiem czego
między odpowiadającymi im denotacjami będą zachodzić różnice spowodowane przez
następujące przyczyny.
1) Schemat docelowy SD może być bogatszy niż schemat źródłowy SZ. W takim wypadku denotacja DD będzie zawierać składowe strukturalne (tj. wierzchołki i krawędzie)
niewystępujące w denotacji DZ.
2) Schematy SZ i SD mogą być ustrukturalizowane na różne sposoby (patrz przykłady 1
i 3 w podrozdziale 2), skutkiem czego relacje pomiędzy odpowiadającymi sobie pojęciami w denotacjach DZ i DD mogą zachodzić w odmiennych kierunkach.
3) Wierzchołkom w denotacji DZ i ich odpowiednikom w denotacji DD mogą być przyporządkowane różne nazwy pojęć. Wynika to z faktu, że potencjalnie różni inżynierowie wiedzy, pomimo korzystania z tej samej ontologii odniesienia, mogą nadać odpowiadającym sobie wierzchołkom nazwy synonimiczne (np. element i składnik) lub
też użyć pojęć nieco różniących się stopniem ogólności (np. sprzedawca i handlowiec, zakładając, że pierwsze pojęcie jest specjalizacją drugiego). Analogiczna sytuacja dotyczy nazw relacji przypisywanych krawędziom.
4) Odpowiadającym sobie wierzchołkom z denotacji DZ i DD mogą być przyporządkowane odmienne operatory wyrażeń regularnych (patrz wierzchołek o etykiecie
T w przykładzie 1 i 3). Należy jednak zauważyć, że różnice te wynikają raczej ze
sposobu ustrukturalizowania schematu niż z semantyki etykiet wierzchołków i krawędzi, dlatego też pomijamy je w dalszych rozważaniach
pl
s.
78
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie ontologii w procesie odwzorowywania schematów i wymiany danych XML
w
Okoliczności opisane w punkcie 3 powodują, że w celu badania powiązań między schematami definiuje się binarną funkcję logiczną zgodne(x, y), której argumenty to odpowiednio
nazwy pojęć albo nazwy relacji. Przyjmujemy, że funkcja ta ma wartość prawda wtedy
i tylko wtedy, gdy argumenty x i y są zbliżone do siebie pod względem stopnia ogólności
w kontekście danej ontologii odniesienia (w szczególnym przypadku mogą to być synonimy). Opis metody oceniania odległości między argumentami funkcji zgodne wykracza poza
ramy tego rozdziału.
Niech GZ będzie grafem utworzonym poprzez usunięcie korzenia z drzewa reprezentującego denotację DZ i niech GD będzie grafem utworzonym w ten sam sposób dla denotacji
GD. Proponowana przez nas metoda odkrywania powiązań między schematem źródłowym
SZ i schematem docelowym SD polega na znalezieniu w grafie GD podgrafu izomorficznego
z grafem GZ. Efektem wykonywanych działań jest zbiór par odpowiadających sobie wierzchołków schematów SZ i SD albo zbiór pusty, jeżeli schematów nie można ze sobą powiązać. Przyjmuje się przy tym następujące założenia dodatkowe.
1) Każdemu wierzchołkowi wiszącemu w grafie GZ odpowiada wierzchołek wiszący
w grafie GD.
2) Niech eZ = <uZ, vZ> oraz eD = <uD, vD> będą parami wierzchołków reprezentującymi
odpowiednio dowolną krawędź grafu GZ i grafu GD oraz niech l(x) oznacza funkcję,
której wartością dla x będącego wierzchołkiem lub krawędzią jest etykieta x. Zakłada
się, że krawędź eD może zostać uznana za odpowiednik krawędzi eZ, jeżeli jest spełniony jeden z poniższych warunków:
a) zgodne(l(uZ), l(uD)) ∧ zgodne(l(vZ), l(vD)) ∧ zgodne(l(eZ), l(eD)); parami odpowiadających sobie wierzchołków są wówczas <uZ, uD> i <vZ, vD>,
b) zgodne(l(uZ), l(vD)) ∧ zgodne(l(vZ), l(uD)) ∧ zgodne(l(eZ)-1, l(eD)), gdzie l(eZ)-1
oznacza relację odwrotną do relacji będącej etykietą krawędzi eZ; parami odpowiadających sobie wierzchołków są wówczas <uZ, uD> i <vZ, uD>.
W procesie odkrywania powiązań pomiędzy schematami może wystąpić przypadek, w którym dla danej krawędzi z grafu GZ istnieje więcej niż jeden potencjalny odpowiednik
w grafie GD. Decyzję o wyborze odpowiednika (tj. właściwej krawędzi) podejmuje wtedy
użytkownik. W rozpatrywanej metodzie uwzględnia się przy tym możliwość wykonania nawrotu i umożliwienia użytkownikowi ponownego wyboru krawędzi, gdyby wcześniejsza
decyzja okazała się nietrafna w toku dalszych obliczeń.
da
.b
w
w
pl
s.
Przykład 8. Na poniższym rysunku (po lewej stronie) przedstawia się graf GZ, utworzony
dla schematu S1 z przykładu 1 oraz graf GD dla schematu S2 z przykładu 3 (po stronie
prawej). Odpowiadające sobie wierzchołki w grafie GZ i GD są połączone linią przerywaną.
Należy zauważyć, że pojęcie Dostawca uznano za odpowiednik pojęcia Sprzedawca.
Sprzedawca *
ma-jako-ofertę
ma-nazwę
Nazwa
ma-cenę
Towar *
ma-ident.
Towar +
ma-ident.
Ident.
ma-cenę
Cena
jest-ofertą
Dostawca +
ma-nazwę
Cena
Ident.
Nazwa
ma-adres
Adres?
Rys. 6. Odpowiedniości między wierzchołkami grafów reprezentujących schematy XML
79
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie ontologii w procesie odwzorowywania schematów i wymiany danych XML
5 Podsumowanie
w
W rozdziale rozpatruje się problematykę wymiany danych XML sformatowanych zgodnie
z różnymi schematami. W prezentowanym ujęciu schematy XML traktuje się jako języki
formalne, a zgodne z nimi (poprawne) dokumenty uważa się za wyrażenia, między którymi
można przeprowadzić translację sterowaną semantyką. W tym celu definiuje się odwzorowanie transformujące (t-odwzorowanie) pomiędzy danymi, które można uzyskać automatycznie poprzez złożenie autoodwzorowania schematu docelowego oraz c-odwzorowania,
które opisuje odpowiedniości pomiędzy schematem źródłowym i docelowym. Z kolei, definicję autoodwzorowania schematu można uzyskać automatycznie na podstawie samego
schematu. Najtrudniejszym elementem rozpatrywanego problemu, dla którego nie są znane
rozwiązania automatyczne, jest skonstruowanie definicji c-odwzorowania. W pracy proponuje się zastosowanie do tego celu metody półautomatycznej, uwzględniającej semantykę
elementów schematu. Nadawanie semantyki schematom (jej odkrywanie) odbywa się przy
czynnym udziale inżyniera wiedzy, z wykorzystaniem pojęć wskazanej ontologii odniesienia. W pracy przedstawiono propozycję metody, w której denotacje semantyczne przypisywane schematom konstruuje się na bazie pojęć fundacjonistycznej ontologii odniesienia
DOLCE+D&S. W dalszych pracach autorzy zamierzają rozszerzyć klasę schematów XML,
do których można stosować przedstawione podejście, jak również udoskonalać algorytm
odkrywania powiązań między semantycznymi denotacjami schematów. Koncepcje te zostaną zaimplementowane w budowanym, prototypowym systemie SIX-P2P.
1.
2.
3.
4.
6.
7.
8.
9.
10.
11.
12.
13.
Cybulka J., Meissner A., Pankowski T.: Schema- and Ontology-Based XML Data Exchange in
Semantic E-Business Applications, Business Information Systems, BIS 2006, Lecture Notes in
Informatics, Vol. 85, 2006.
Doan A., Noy N.F., Halevy A.: Introduction to the Special Issue on Semantic Integration,
SIGMOD Record, 33(4), 2004.
Fagin R., Kolaitis P.G., Popa L.: Composing Schema Mappings: Second-Order Dependencies to
the Rescue, ACM Transactions on Database Systems, Vol. 30(4), December 2005.
Gangemi A., Mika P.: Understanding the Semantic Web through Descriptions and Situations,
The International Conference on Ontologies, DataBases and Applications of Semantics
ODBASE03, Berlin, 2003.
Guarino N.: Semantic Matching: Formal Ontological Distinctions for Information Organization,
Extraction, and Integration. W M.T. Pazienza (red.): Infromation Extraction: A Multidisciplinary
Approach to an Emerging Information Technology, Springer Verlag, 1997.
Masolo C., Borgo S., Gangemi A., Guarino N., Oltramari A.: WonderWeb Deliverable D18;
Ontology Library (final), http://wonderweb.semanticweb.org/deliverables/D18.shtml, 2003.
McGuinness D. L., Smith M. K., Welty C.: OWL Web Ontology Language Guide,
http://www.w3.org/TR/owl-guide/, 2004.
Morton A.: Przewodnik po teorii poznania. Wydawnictwo Spacja 2002.
Noy N.F.: Semantic Integration: A Survey of Ontology-Based Approaches, SIGMOD Record,
33(4), 2004.
Pankowski, T.: Management of executable schema mappings for XML data exchange, Database
Technologies for Handling XML Information on the Web, EDBT2006 Workshops, Lecture
Notes in Computer Science 4254, Springer, 2006.
Pankowski, T., Cybulka J., Meissner A.: XML Schema Mappings in the Presence of Key Constraints and Value Dependencies. ICDT Workshop on Emerging Research Opportunities in Web
Data Management (EROW 2007), Barcelona, 2007.
Polański K. (red.): Encyklopedia językoznawstwa ogólnego. Wydawnictwo Ossolineum, 1999.
XML Schema, W3C, http://www.w3.org/TR/xmlschema-0.
pl
s.
5.
da
.b
w
w
Literatura
80
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007