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