WNIOSKOWANIE REGUŁOWE Z ONTOLOGIAMI OWL 2 RL
|
|
- Amelia Wilk
- 6 lat temu
- Przeglądów:
Transkrypt
1 STUDIA INFORMATICA 2014 Volume 35 Number 2 (116) Jarosław BĄK, Maciej NOWAK, Czesław JĘDRZEJEK Politechnika Poznańska, Instytut Automatyki i Inżynierii Informatycznej WNIOSKOWANIE REGUŁOWE Z ONTOLOGIAMI OWL 2 RL Streszczenie. W pracy zaprezentowano metodykę transformacji ontologii OWL 2 RL do zestawu reguł, które mogą zostać użyte w regułowym silniku wnioskującym. Zaproponowano podział wnioskowania na dwie części: terminologiczną i asercyjną. Opracowano mechanizm transformacji ontologii do Abstrakcyjnej Składni Reguł i Faktów. Umożliwia to zamianę ontologii na język dowolnego silnika wnioskującego. W artykule opisano implementację dla silników Jess i Drools. Przeprowadzone eksperymenty pokazują, że opracowane narzędzie radzi sobie dużo lepiej we wnioskowaniu na danych niż w narzędziu HermiT. Słowa kluczowe: ontologie, systemy regułowe, wnioskowanie RULE-BASED REASONING WITH OWL 2 RL ONTOLOGIES Summary. In this paper we present a method of transforming OWL 2 RL ontologies into a set of rules which can be used in a rule engine. We use HermiT reasoner to perform the TBox reasoning. The ontology is transformed into an Abstract Syntax of Rules and Facts and then into any forward chaining reasoning engine. We present an implementation of our method using Jess and Drools engines. The evaluation performed on benchmark ontologies shows that we can perform the ABox reasoning with considerably better performance than HermiT. Keywords: ontologies, rule-based systems, reasoning 1. Wprowadzenie W ostatniej dekadzie wykorzystanie ontologii w systemach informatycznych stało się coraz bardziej popularne w różnych dziedzinach, takich jak technologie internetowe, integracja baz danych, systemy wieloagentowe, przetwarzanie języka naturalnego i w wielu innych. Jednym z najbardziej popularnych sposobów wyrażania ontologii jest użycie języka Web
2 112 J. Bąk, M. Nowak, C. Jędrzejek Ontology Language (OWL) [20]. Opiera się on na logikach deskrypcyjnych (ang. Description Logics), które są rodziną języków reprezentacji wiedzy. Powstające aplikacje, wykorzystujące język OWL, ujawniły wiele ograniczeń i wad tego języka [6]. W rezultacie została opracowana nowsza jego wersja OWL 2 [18]. Zawiera ona kilka ulepszeń w stosunku do OWL 1.0 oraz OWL 1.1. Co więcej, język OWL 2 definiuje trzy profile, które oferują istotne korzyści w różnych zastosowaniach. Te profile to: OWL 2 EL, OWL 2 QL oraz OWL 2 RL. Profil OWL 2 EL opiera się na rodzinie EL++ logik deskrypcyjnych, które są przeznaczone do efektywnego wnioskowania na dużych terminologiach [1]. Drugi profil, OWL 2 QL, opiera się na logice deskrypcyjnej DL-Lite, która została zaprojektowana w celu umożliwienia sprawnego wnioskowania na dużych zestawach danych o stosunkowo prostym schemacie [4]. Ostatni profil, OWL 2 RL, został zaprojektowany do przeprowadzania wnioskowania w systemach wnioskowania regułowego przez wdrożenie zestawu predefiniowanych reguł. Opiera się na różnych logikach deskrypcyjnych, takich jak Horn-SHIQ [14] i Description Logic Programs [7]. Każdy z profili jest zdefiniowany jako odpowiednie ograniczenie składni (dopuszczalnych konstrukcji) języka OWL 2 [18]. W celu wykorzystania wszystkich możliwości, jakie zapewnia ontologia, należy zastosować silnik wnioskujący, który umożliwia wnioskowanie w części terminologicznej (TBox) oraz w części asercyjnej (ABox). Można zastosować różne silniki wnioskowania dla ontologii wyrażonych w różnych profilach OWL 2 [18] (jak również w różnych fragmentach OWL 1.1 1, np. Horn-SHIQ). Na przykład dla ontologii w profilu OWL 2 możemy użyć silnika HermiT 2, ale dla ontologii w profilu OWL 2 QL, której siła ekspresji jest stosunkowo ograniczona, możemy użyć silnika REQUIEM 3. Wynika z tego, że odpowiednie wybranie silnika wnioskującego dla danej ontologii jest istotne, gdyż bezpośrednio wpływa na efektywność procesów wnioskowania, jak również przetwarzania zapytań i udzielania odpowiedzi. Wykorzystując silnik wnioskujący, możemy wykonywać zadania wnioskowania w dwóch składowych częściach ontologii będącej bazą wiedzy KB: TBox i ABox. TBox jest to część terminologiczna zawierająca klasy i relacje oraz aksjomaty opisujące, w jaki sposób są one ze sobą powiązane. Typowe zadania wnioskowania dla części TBox to sprawdzenie spełnialności danej deskrypcji (klasy lub relacji) oraz tego, czy deskrypcja subsumuje inną deskrypcję (czy jedna jest bardziej ogólna niż druga). Natomiast ABox to część asercyjna, która zawiera aksjomaty stwierdzające, że indywiduum jest instancją danej klasy, a para indywiduów jest instancją danej relacji. Typowe zadania wnioskowania dla części ABox to ustalenie, czy jest ona spójna oraz czy indywiduum jest wystąpieniem danej deskrypcji. Zadania rozstrzygalności i zgodności są wykonywane w celu określenia, czy baza wiedzy jest spójna i nie
3 Wnioskowanie regułowe z ontologiami OWL 2 RL 113 zawiera sprzeczności. Dzięki temu część TBox może być postrzegana jako schemat KB, który wyraża wiedzę dziedzinową, podczas gdy część ABox stanowi zbiór danych, który przechowuje informacje o poszczególnych obiektach. Przy użyciu odpowiedniego silnika możemy przeprowadzić wnioskowanie w ontologii w celu uzyskania dodatkowych informacji w postaci nowej (sklasyfikowanej) części TBox oraz nowej (wywnioskowanej) części ABox. W niniejszym artykule przedstawiamy narzędzie, które jest w stanie wykonać wnioskowanie opierające się na ontologii za pomocą standardowego silnika wnioskującego w przód. Praca opisuje następujące elementy: metodę transformacji ontologii OWL 2 do zestawu reguł i zbioru faktów (jeśli ontologia zawiera ABox), Abstrakcyjną Składnię Reguł i Faktów (ASRF), schemat wnioskowania zgodnego z zaproponowaną metodyką, implementację opracowanego podejścia z wykorzystaniem dwóch silników wnioskujących w przód: Jess [8] i Drools 4, eksperymentalną ocenę zaproponowanego podejścia z wykorzystaniem ontologii zgodnych z OWL 2. W niniejszym artykule koncentrujemy się na wnioskowaniu opierającym się na ontologii przy użyciu standardowego silnika wnioskowania w przód. W związku z tym zajmujemy się przede wszystkim profilem OWL 2 RL, jednakże przedstawiona metodyka może posłużyć do obsługi ontologii wykraczających poza OWL 2 RL. Jest to możliwe dzięki zastosowaniu narzędzia HermiT służącego do wnioskowania w TBox (terminologicznej części ontologii). W rezultacie możemy wykorzystać mechanizm wnioskowania opierający się na regułach do przeprowadzenia wnioskowania w ABox (asercyjnej części ontologii). Jest to zgodne z ideą OWL 2 RL (możliwość skalowalnego wnioskowania bez znacznej utraty siły wyrazu). Pozostała część niniejszej pracy jest zorganizowana w następujący sposób. Kolejna sekcja przedstawia motywacje, które kierowały autorami. Rozdział 3 opisuje metodę transformacji ontologii OWL 2 do zestawów reguł i faktów. W rozdziale 4 została zaprezentowana Abstrakcyjna Składnia Reguł i Faktów. W rozdziale 5 zawarte są szczegóły dotyczące implementacji. Eksperymenty oraz ich wyniki zostały przedstawione w rozdziale 6. Rozdział 7 to zbiór prac o podobnej tematyce, natomiast rozdział ostatni zawiera wnioski i dalsze kierunki badań. 4
4 114 J. Bąk, M. Nowak, C. Jędrzejek 2. Motywacje Z praktycznego punktu widzenia, terminologiczna część ontologii rzadko jest modyfikowana, w przeciwieństwie do części asercyjnej. Dzięki temu można oddzielić TBox od ABox. W rezultacie można zastosować różne schematy wnioskowania, jak również silniki wnioskujące. Co więcej, wnioskowania w części TBox należy wykonywać tylko raz (lub z każdą zmianą tej części), np. przy użyciu silników wnioskujących w logikach deskrypcyjnych. Następnie można wykonać wnioskowanie w części ABox za pomocą silnika regułowego (za każdym razem, gdy pojawią się nowe asercje). Tego typu podejście zostało przedstawione w [17], gdzie zastosowano silnik Pellet 5 z systemem regułowym Jena 6. Według oficjalnej listy 7 silników wnioskujących dla OWL 2 niewiele z nich wspiera profil OWL 2 RL. Stanowi to dodatkową motywację, aby zapewnić metodykę efektywnego wnioskowania w OWL 2 RL w systemie regułowym (ponieważ silniki wnioskujące w DL obsługują wnioskowanie w TBox efektywniej niż w ABox, które z kolei może być wykonywane efektywniej przez silniki regułowe [16]). Niemniej jednak prosta implementacja silnika wnioskującego w OWL 2 RL słabo radzi sobie z dużymi zbiorami danych [10]. Ponadto niniejsza praca nie ogranicza się do konkretnego silnika lub konkretnej implementacji. Zamiast tego stanowi próbę zaproponowania schematu działania systemu wnioskującego w OWL 2 RL z dowolnym silnikiem wnioskującym w przód. Dodatkowo opracowana Abstrakcyjna Składnia Reguł i Faktów może być łatwo zastosowana w różnych narzędziach. Ostatnim motywem podejmowanych działań jest interoperacyjność z powszechnie stosowanym językiem Semantic Web Rule Language (SWRL) [13], która jest wskazana w wielu zastosowaniach praktycznych. W związku z tym składnia ASRF obejmuje zbiór funkcji wbudowanych języka SWRL (SWRL Built-ins). Prezentowana praca jest wstępną wersją systemu RuQAR (ang. Rule-based Query Answering and Reasoning) mającego służyć do wnioskowania i realizacji zapytań. W niniejszym artykule przedstawiono jedynie funkcjonalność związaną z wnioskowaniem. 3. Transformacja ontologii OWL 2 Użycie regułowego silnika wnioskującego wykorzystującego ontologiczną bazę wiedzy wymaga metody transformacji ontologii do zestawu reguł. Ze względu na zastosowanie głównie profilu OWL 2 RL mechanizm wnioskowania został podzielony na dwa procesy
5 Wnioskowanie regułowe z ontologiami OWL 2 RL 115 składowe: wnioskowanie w części TBox i ABox. Zgodnie z tym założeniem opracowano metodę transformacji ontologii OWL 2 do zestawu reguł i zestawu faktów. W tym przypadku wnioskowanie można wykonać oddzielnie dla każdej z części. Ze względu na fakt, że niniejsza metoda ma mieć zastosowanie w wielu regułowych silnikach wnioskujących, zaproponowano Abstrakcyjną Składnię Reguł i Faktów (ASRF), umożliwiającą prostą transformację ontologii OWL 2 na język silnika wnioskującego. Rys. 1. Schemat transformacji ontologii OWL 2 Fig. 1. Scheme of OWL 2 ontology transformation Schemat transformacji ontologii OWL 2 na zestaw reguł i zbiór faktów wyrażonych w ASRF przedstawiono na rys. 1. Najpierw ontologia OWL 2 jest ładowana do silnika HermiT, przy założeniu że jest ona spójna. Następnie wykonywane jest wnioskowanie w części TBox. W efekcie uzyskuje się nową wersję (nowy TBox) ontologii. Wreszcie ontologia jest przekształcana na dwa zestawy: zbiór reguł i zbiór faktów (jeśli ontologia zawiera część asercyjną). Oba zestawy są wyrażone w notacji ASRF. W ten sposób została oddzielona część TBox (zbiór reguł) od części ABox (zbiór faktów). W wyniku takiego podziału można wykonać wnioskowanie w części ABox z wykorzystaniem regułowego silnika wnioskującego. Transformacja wywnioskowanej części TBox do zestawu reguł odbywa się zgodnie z regułami OWL 2 RL/RDF [18]. Wygenerowane reguły dzielą się na dwa rodzaje: reguły równości i reguły zależne od ontologii (tzw. reguły ABox). Reguły równości są zaczerpnięte bezpośrednio z tabeli 4 profilu OWL 2 RL. Reguły te są wyrażone w ASRF i są aksjomatyzacją semantyki równości w OWL 2. Są one niezależne od ontologii w przeciwieństwie do reguł Abox, które odzwierciedlają semantykę transformowanej ontologii. Transformacja ontologii (po klasyfikacji wykonanej przez narzędzie HermiT) do zestawu reguł ASRF jest wykonywana w następujący sposób. Dla każdej deskrypcji klasy lub relacji, która jest zgodna z odpowiednim aksjomatem OWL 2 RL i odpowiednią regułą z tabeli 1, tworzona jest reguła odzwierciedlająca semantykę tej deskrypcji. Oznacza to, że zamiast zamieniać semantykę języka OWL 2 do reguł, tworzone są reguły odpowiadające tej semantyce i danej ontologii. Przykładowo, mając relację hassibling, która jest zdefiniowana jako relacja symetryczna, można utworzyć regułę, która odzwierciedla fakt, że w przypadku wystąpienia instancji tej relacji symetryczna instancja również powinna wystąpić (użyto następujących skrótów: S dla podmiotu, P dla orzeczenia i O dla obiektu): If (Triple (S?x) (P hassibling ) (O?y)) Then (Triple (S?y) (P hassibling ) (O?x)) (1)
6 116 J. Bąk, M. Nowak, C. Jędrzejek Reguła (1) jest zgodna z semantyką reguły prp-symp z tabeli 5 w specyfikacji profilu OWL 2 RL. Dla każdego aksjomatu z OWL 2, który występuje w danej ontologii, generowana jest semantycznie równoważna reguła zawierająca bezpośrednie odniesienie do ontologii. Generowana reguła jest instancją odpowiedniej reguły OWL 2 RL/RDF dla konkretnego zbioru TBox. Reguły te mogą być postrzegane jako reguły związane z instancją ontologii (tzw. reguły ABox). Są one zależne od ontologii, ponieważ wyrażają jej semantykę i są przeznaczone do wnioskowania na faktach (części ABox). W rezultacie uzyskuje się zbiór reguł, które mogą być stosowane w silniku wnioskującym w przód po wcześniejszej translacji składni ASRF na język tego silnika. Prezentowane podejście umożliwia tylko i wyłącznie wnioskowanie z częścią asercyjną ontologii. Ma to pozytywny wpływ na wydajność wnioskowania, ponieważ semantyka TBox jest bezpośrednio wyrażona w regułach ASRF. Ponadto dodatkowe korzyści wynikają z faktu, że liczba warunków w ciele każdej reguły jest mniejsza niż w odpowiadającej jej regule OWL 2 RL/RDF. Reguły wynikowe obecnie obsługiwane przez OWL 2 RL Tabele ze specyfikacji OWL 2 RL Table 4. The Semantics of Equality Table 5. The Semantics of Axioms about Properties Table 6. The Semantics of Classes Table 7. The Semantic of Class Axioms Wspierane reguły eq-sym, eq-trans, eq-rep-p, eq-rep-s, eq-rep-o prp-dom, prp-rng, prp-fp, prp-ifp, prp-symp, prp-trp, prp-eqp1, prp-spo1, prp-eqp2, prp-inv1, prp-inv2 cls-int1, cls-int2, cls-uni, cls-svf1, cls-svf2, cls-avf, cls-hv1, cls-hv2, cls-maxc2 cax-sco, cax-eqc1, cax-eqc2 Tabela 1 Tabela 1 przedstawia reguły obsługiwane w naszej aktualnej implementacji. Zestaw pochodzi ze specyfikacji OWL 2 [18] i zawiera mniejszą liczbę reguł niż w oryginale. Zdecydowano się użyć najprostszego podzbioru reguł OWL 2 RL/RDF, który jest łatwy do zaimplementowania w dowolnym silniku wnioskującym. Co więcej, zrezygnowano z reguł typu ograniczenia (np. CLS nothing2 z tabeli 6 w profilu OWL 2 RL) oraz z każdej reguły, która nie ma wpływu na wnioskowanie w ABox (np. wszystkie reguły z tabeli 9 w profilu OWL 2 RL). Jednakże część reguł wymaga jeszcze implementacji, np. CLS maxqc3 z tabeli 6 specyfikacji OWL 2 RL. Przedstawiona metoda transformacji podczas wnioskowania może generować więcej rezultatów niż w tradycyjnym zastosowaniu reguł OWL 2 RL/RDF. Jest to spowodowane faktem wcześniejszego zastosowania wnioskowania w terminologii z użyciem narzędzia opierającego się na DL. W dużej mierze zależy to od ekspresywności danej ontologii. Niemniej stosując przedstawioną metodę do ontologii wykraczającej poza profil OWL 2 RL, nie uzy-
7 Wnioskowanie regułowe z ontologiami OWL 2 RL 117 ska się tych samych rezultatów co w silniku opierającym się na DL (np. HermiT). W tym przypadku wyniki zastosowania reguł ASRF są poprawne, ale nie kompletne. Wspomniana sytuacja wystąpiła podczas testów LUBM, w przypadku których wszystkie wyniki uzyskane w ramach prezentowanej transformacji były wśród wyników pochodzących z narzędzia HermiT, jednak ich liczba była większa w przypadku drugiego narzędzia. Jest to poprawne działanie ze względu na fakt, że ekspresywność LUBM wykracza poza profil OWL 2 RL. 4. Abstrakcyjna Składnia Reguł i Faktów Jak wspomniano w poprzednim rozdziale, wnioskowanie w TBox przeprowadza się z wykorzystaniem silnika HermiT. W kolejnym kroku ontologia jest automatycznie przekształcana do Abstrakcyjnej Składni Reguł i Faktów. Głównym celem opracowanej składni jest podniesienie poziomu abstrakcji i zapewnienie tym samym uniwersalnej reprezentacji reguł i faktów. Zastosowanie wyrażeń ASRF wymaga mapowania pomiędzy elementami ASRF a językiem wybranego silnika wnioskującego. Do wyrażenia Abstrakcyjnej Składni Reguł i Faktów użyto notacji Extended Backus- Naur Form (EBNF) [21]. Gramatyka bezkontekstowa została przedstawiona na rys. 2. Symbole nieterminalne zapisano w nawiasach trójkątnych (< i >), natomiast pozostałe symbole są symbolami terminalnymi. <Rule> ::= If <ConditionalAtom>+ Then <Atom>+ <ConditionalAtom> ::= <Atom> <Logic-operator> <ConditionalAtom> <Comparison> <Atom > ::= ( Triple ( Subject <Argument> ) ( Predicate <Constant> ) ( Object <Argument> ) ) ( Triple <Term>+ ) <Logic-operator> ::= AND OR NOT <Term> ::= ( <TermType> <Argument> ) <TermType> ::= Subject Predicate Object <Comparison> ::= ( <Argument> <Comparator> <Argument> ) <Argument> ::= <Constant> <Variable> <Comparator> ::= equal not equal greater than greater than or equal less than less than or equal different from <Fact> ::= ( Triple ( Subject <Constant> ) ( Predicate <Constant> ) ( Object <Constant> ) ) <Constant> ::= Skończona sekwencja znaków. <Variable> ::= Skończona sekwencja znaków poprzedzona '?'. Rys. 2. Abstrakcyjna Składnia Reguł i Faktów w notacji BNF Fig. 2. Abstract Syntax of Rules and Facts in EBNF notation
8 118 J. Bąk, M. Nowak, C. Jędrzejek Notacja składni ASRF opiera się na logice pierwszego rzędu. Każdy fakt to atom, który składa się z termów. Każdy term to zmienna (poprzedzona znakiem zapytania) lub stała. Ponadto każdy term jest jednym z następujących typów: podmiot, orzeczenie, obiekt lub argument. Podobnie każdy atom może być rodzaju: Trójka lub Porównanie (<, >, itd.). Każda reguła składa się z ciała B (części warunkowej jeżeli) oraz głowy H (części wynikowej to) reprezentowanych jako implikacja (B H). Oba elementy składają się z atomów. Wszystkie zmienne są kwantyfikowane uniwersalnie. Co więcej, można użyć dodatkowych operatorów, takich jak OR, by wyrazić alternatywę (tylko w ciele reguły), co jest zgodne z profilem OWL 2 RL. Zarówno ciało, jak i głowa reguły mogą zawierać stałe i/lub zmienne, natomiast w reprezentacji faktów nie jest to dozwolone. Pozwalając na użycie dodatkowych operatorów, dodano obsługę typów wbudowanych w SWRL, które mogą być stosowane w celu porównywania wartości. Domyślnym znaczeniem głowy każdej reguły jest dodanie (wywnioskowanie) nowej trójki (faktu). Aby reguła została użyta, wszystkie elementy warunkowe, które występują w jej ciele, muszą być prawdziwe. Na przykład reguła (1) jest zgodna z ASRF, podobnie jak przykładowe fakty (2) i (3). Fakt (3) został wywnioskowany przy zastosowaniu reguły (1) do faktu (2). (Triple (S Person10 ) (P hassibling ) (O Person20 )) (2) (Triple (S Person20 ) (P hassibling ) (O Person10 )) (3) Składnia ASRF jest podobna do składni dobrze znanych języków silników regułowych, takich jak Jess czy Clips 8. Jednakże ma ona mniejszą siłę wyrazu, ponieważ jest ograniczona do wyrażeń dostępnych w profilu OWL 2 RL. Przykładowo nie można wnioskować o niespójnościach w bazie wiedzy. 5. Implementacja RuQAR stanowi implementację opracowanej metody przekształcania ontologii OWL 2 do zestawu reguł i zbioru faktów wyrażonych w składni ASRF. Narzędzie jest implementowane w Javie i pozwala wykonywać wnioskowanie ABox w dwóch silnikach: Jess oraz Drools. RuQAR to biblioteka, która może być użyta w zastosowaniach wymagających wydajnego wnioskowania w ABox. Narzędzie wykorzystuje OWL API [11] do obsługi plików ontologii oraz do wyodrębniania aksjomatów języka OWL. Stosowane wersje silników wnioskujących to: Drools w wersji 5.5 i Jess w wersji
9 Wnioskowanie regułowe z ontologiami OWL 2 RL 119 RuQAR zawiera interfejs RulesInto, którego implementacja ma odwzorowywać notację ASRF na język wybranego silnika wnioskującego. Implementacja tego interfejsu wymaga zdefiniowania odwzorowań pomiędzy ASRF a elementami języka docelowego. Obecna implementacja dostarcza zbiór mapowań dla narzędzi Jess oraz Drools. Silniki używają różnych języków, a także różnego podejścia do reprezentacji reguł i faktów. Jess używa własnego języka skryptowego i reprezentuje reguły oraz fakty jako wewnętrzne obiekty Java, natomiast reguły w Drools są reprezentowane jako stwierdzenia when then, w których jako fakt może wystąpić dowolna klasa Javy. Co więcej, dane mogą być reprezentowane jako zwykłe obiekty. W rezultacie opracowano dodatkową klasę Triple, która może być stosowana w ciele każdej reguły, jak również do reprezentowania faktów jako trójki. W ten sposób składnia ASRF może być wykorzystywana w różnych silnikach wnioskowania regułowego. Ponadto, według naszej wiedzy, jest to pierwsze tego typu użycie narzędzi Drools oraz Jess (z wyjątkiem pracy zaprezentowanej w [19], która bezpośrednio implementuje semantykę ontologii wyrażonej w profilu OWL 2 RL). Opisywana metoda transformacji tworzy dwa oddzielne zestawy: reguł i faktów. Oznacza to, że wygenerowany zbiór reguł ABox można zastosować do faktów pochodzących ze źródeł innych niż przekształcona ontologia. Ponadto można używać wygenerowanych faktów z innymi zbiorami reguł. Jednakże w tym przypadku należy pamiętać, że wyniki wnioskowania mogą być niezgodne z zamierzeniami twórców ontologii. 6. Eksperymenty Narzędzie RuQAR zostało przetestowane za pomocą ontologii pobranych ze strony KAON2 9 : Vicodi 10 ontologia zawierająca informacje o historii Europy, Semintec 11 ontologia opisująca dziedzinę finansową i LUBM 12 ontologia o strukturach uczelni. W ramach testów użyto różnych zestawów danych dla każdej z ontologii (Semintec_0, Semintec_1 itd.), gdzie wyższy numer oznacza większy zestaw danych ABox. Schemat testowania dla każdej ontologii był następujący. Najpierw przeprowadzano wnioskowanie TBox z wykorzystaniem narzędzia HermiT. Następnie sklasyfikowana ontologia została załadowana do silnika wnioskującego i uruchamiano wnioskowanie ABox. W każdym przypadku rejestrowano czas wnioskowania i uzyskaną wielkość części asercyjnej. Przeprowadzono wnioskowanie ABox za pomocą następujących silników: Jess, Drools i HermiT. Zweryfikowano, że silniki generują identyczne wyniki (podobne, empiryczne po
10 120 J. Bąk, M. Nowak, C. Jędrzejek dejście zastosowano w [5 i 19] w celu porównania silników wnioskowania dla OWL 2 RL z Pellet/RacerPro i HermiT). HermiT wygenerował więcej wyników w przypadku ontologii LUBM. Jest to poprawny wynik, ponieważ tylko Vicodi jest ontologią w pełni zgodną z profilem OWL 2 RL. Jednakże stanowi to główną przyczynę bardzo dużych różnic w czasach wnioskowania w stosunku do Jess i Drools (w przypadku LUBM). Niemniej jednak wszystkie wyniki wywnioskowane przez Jess i Drools znajdowały się wśród wyników uzyskanych przez silnik HermiT. Wynika to z faktu, że w przypadku narzędzia HermiT możemy wywnioskować dodatkowe przynależności instancji do klas, co nie jest możliwe w profilu OWL 2 RL (ontologia LUBM zawiera konstrukcje OWL 2 DL). Jednakże w każdym przypadku uzyskano lepszą wydajność we wnioskowaniu ABox z Jess oraz Drools niż z HermiT. Przykładowo dla ontologii Semintec_4.owl czasy wnioskowania w ABox dla Jess, Drools i HermiT były następujące (wyniki były identyczne): odpowiednio powyżej 3 sekund, w ciągu 5 sekund i ponad 16 sekund. Rysunki 3, 4 oraz 5 przedstawiają wyniki testów. Jess wykonuje obliczenia szybciej niż Drools, podczas gdy HermiT zawsze znajdował się na ostatnim miejscu. Uzyskane wyniki potwierdzają, że opracowana metoda zwiększa wydajność wnioskowania w ABox w porównaniu z wnioskowaniem opierającym się tylko na silniku DL. Tabela 2 Rozmiary części Abox przed wnioskowaniem i po wnioskowaniu Ontologia ABox Jess/Drools Vicodi_0 Vicodi_1 Vicodi_2 Vicodi_3 Vicodi_4 Semintec_0 Semintec_1 Semintec_2 Semintec_3 Semintec_4 LUBM_1 LUBM_2 LUBM_3 LUBM_ Liczba uruchomionych reguł HermiT W tabeli 2 przedstawiono dane dotyczące wnioskowania w ABox. Kolumna ABox oznacza liczbę trójek w asercyjnej części ontologii przed wnioskowaniem. Kolumna Jess/Drools pokazuje rozmiar ABox po procesie wnioskowania. Kolumna Liczba uruchomionych reguł 12
11 Wnioskowanie regułowe z ontologiami OWL 2 RL 121 przedstawia liczbę reguł, które były uruchomione podczas wnioskowania. Liczby w tych dwóch kolumnach były identyczne w przypadku obu testowanych silników regułowych. Ostatnia kolumna zawiera informacje o rozmiarze ABox po przeprowadzeniu wnioskowania z silnikiem HermiT. We wszystkich przypadkach (z wyjątkiem LUBM) wynikowe zestawy trójek były dokładnie takie same. Rys. 3. Czasy wnioskowania na części ABox ontologii Vicodi Fig. 3. Reasoning times on the ABox part of Vicodi ontology Rys. 4. Czasy wnioskowania na części Abox ontologii Semintec Fig. 4. Reasoning times on the ABox part of Semintec ontology Rys. 5. Czasy wnioskowania na części Abox ontologii LUBM Fig. 5. Reasoning times on the ABox part of LUBM ontology
12 122 J. Bąk, M. Nowak, C. Jędrzejek 7. Podobne prace Najbardziej zbliżone do prezentowanego rozwiązanie zastosowano w pracy DLEJena [17]. Jednakże w naszej pracy nie ograniczamy się do jednego narzędzia wnioskującego (Jena w porównaniu z Jess i Drools). Dodatkowo stosujemy inną metodę transformacji zamiast reguł szablonowych (ang. template rules) do tworzenia reguł ABox wykorzystujemy mechanizm generacji zaimplementowany na sztywno w Javie. Dzięki takiemu podejściu nie generujemy zbędnych (nadmiarowych) reguł, które występują w [17]. Ponadto w narzędziu DLEJena reguły służące do wnioskowania w ABox są generowane w czasie działania wnioskowania, podczas gdy w naszej metodyce reguły ABox są generowane przed tym procesem. Zestaw dwóch silników wnioskujących dla OWL 2 RL przedstawiono w pracy [19]. W tym przypadku narzędzia Drools oraz Jess są używane do wnioskowania z regułami bezpośrednio odwzorowującymi semantykę profilu OWL 2 RL. Praca zaprezentowana w [10] dostarcza mechanizmów wnioskowania dla OWL 2 RL i opiera się na tzw. częściowym indeksowaniu służącym do optymalizacji skalowalnej materializacji wyników z wykorzystaniem zestawu reguł szablonowych podobnie jak w narzędziu DLEJena. Skalowalny silnik wnioskujący dla OWL 2 RL został przedstawiony w [15], gdzie silnik wnioskujący zaimplementowano jako wewnętrzne narzędzie systemu bazy danych Oracle. Praca ta wprowadza nowe techniki przetwarzania równoległego oraz specjalne optymalizacje obliczania relacji owl:sameas. W [5] przedstawiono metodę magazynowania asercyjnej i wywnioskowanej części bazy wiedzy w relacyjnej bazie danych. Zaproponowano również nową, opartą na bazach danych metodę wnioskowania w przód, która pozwala wykonywać skalowalne wnioskowanie w ontologii OWL 2 RL z dużymi zbiorami danych. 8. Podsumowanie i dalsze prace W niniejszym artykule przedstawiono metodę przekształcania ontologii OWL 2 w zestaw reguł i zestaw faktów. Zaproponowano Abstrakcyjną Składnię Reguł i Faktów, ponadto opisano schemat wnioskowania, wstępną implementację oraz przeprowadzone eksperymenty. Zaprezentowano pierwszą wersję narzędzia RuQAR, które jest wciąż rozwijane. Aktualna wersja, przy wykorzystaniu narzędzi Jess oraz Drools, jest w stanie przeprowadzić wnioskowanie ABox ze znacznie lepszą wydajnością niż w przypadku zastosowania narzędzia HermiT. W następnej wersji narzędzia RuQAR planujemy dodać obsługę relacyjnych baz danych, a także zoptymalizowany system zapytań (obecnie możemy skorzystać z nieefek-
13 Wnioskowanie regułowe z ontologiami OWL 2 RL 123 tywnych metod zapytań dostępnych w Jess i Drools). Dodatkowo planujemy optymalizację procesu wnioskowania przez zastosowanie i rozszerzenie metod opisanych w [5 i 2]. Ze względu na składnię ASRF zaproponowane optymalizacje będą możliwe do wykorzystania zarówno w Jess, jak i w Drools oraz w innych silnikach wnioskujących w przód. Według naszej wiedzy prezentowana praca jest pierwszą realizacją wnioskowania dla OWL 2 RL za pomocą Drools i Jess (z wyjątkiem [19]), które może być z powodzeniem zastosowane w dowolnej aplikacji wymagającej wydajnego wnioskowania z dużymi zbiorami danych. Planujemy również przeprowadzić testy z najnowszymi wersjami narzędzi Jess i Drools (odpowiednio 8,0 i 6,0). Naszym celem będzie sprawdzenie, czy wydajność wnioskowania wzrosła wraz z nową wersją; dzięki temu będziemy mogli porównać dwa różne algorytmy zaimplementowane w silniku Drools: ReteOO (Drools 5.5) i PHREAK (Drools 6.0). BIBLIOGRAFIA 1. Baader F., Brandt S., Lutz C.: Pushing the el envelope further. [w:] Clark K., Patel- Schneider P. F. (red.): Proceedings of the OWLED 2008 DC Workshop on OWL: Experiences and Directions, Bak J., Brzykcy G., Jedrzejek C.: Extended rules in knowledge-based data access. Proceedings of the 5th international conference on Rule-based modeling and computing on the semantic web, RuleML 11, Springer-Verlag, Berlin, Heidelberg 2011, s Boris M.: On the properties of metamodeling in OWL. Journal of Logic and Computation, Vol. 17, Issue 4, 2007, s Calvanese D., Giacomo G., Lembo D., Lenzerini M., Rosati R.: Tractable reasoning and efficient query answering in description logics: The dl-lite family. J. Autom. Reason., Vol. 39, Issue 3, 2007, s Faruqui R., MacCaull W.: Owlontdb: A scalable reasoning system for OWL 2 RL ontologies with large aboxes. [w:] Weber J., Perseil I. (red.): Foundations of Health Information Engineering and Systems. Lecture Notes in Computer Science, Vol. 7789, Springer, Berlin, Heidelberg 2013, s Grau B. C., Horrocks I., Motik B., Parsia B., Patel-Schneider P., Sattler U.: OWL 2: The next step for OWL. Web Semant. 2008, Vol. 6, Issue 4, 2008, s Grosof B. N., Horrocks I., Volz R., Decker S.: Description logic programs: combining logic programs with description logic. Proceedings of the 12th international conference on World Wide Web, WWW 03, ACM, New York, NY, USA 2003, s
14 124 J. Bąk, M. Nowak, C. Jędrzejek 8. Hill E. F.: Jess in Action: Java Rule-Based Systems. Manning Publications Co. Greenwich, CT, USA Hogan A., Decker S.: On the ostensibly silent w in OWL 2 RL. [w:] Polleres A., Swift T. (red.): Web Reasoning and Rule Systems, Lecture Notes in Computer Science, Vol. 5837, Springer, Berlin, Heidelberg 2009, s Hogan A., Pan J., Polleres A., Decker S.: SAOR: Template rule optimisations for distributed reasoning over 1 billion linked data triples. [w:] Patel-Schneider P., Pan Y., Hitzler P., Mika P., Zhang L., Pan J., Horrocks I., Glimm B. (red.): The Semantic Web ISWC 2010, Lecture Notes in Computer Science, Vol. 6496, Springer, Berlin, Heidelberg 2010, s Horridge M., Bechhofer S.: The OWL API: A Java API for working with OWL 2 ontologies. OWLED, Horrocks I., Patel-Schneider P. F.: Knowledge representation and reasoning on the semantic Web: OWL, Horrocks I., Patel-Schneider P. F., Boley H., Tabet S., Grosof B., Dean M.: SWRL: A semantic web rule language combining OWL and RuleML, Hustadt U., Motik B., Sattler U.: Data complexity of reasoning in very expressive description logics. Proc. IJCAI 2005, Professional Book Center, 2005, s Kolovski V., Wu Z., Eadon G.: Optimizing enterprise-scale OWL 2 RL reasoning in a relational database system. [w:] Patel-Schneider P., Pan Y., Hitzler P., Mika P., Zhang L., Pan J., Horrocks I., Glimm B. (red.): The Semantic Web ISWC 2010, Lecture Notes in Computer Science, Vol. 6496, Springer, Berlin, Heidelberg 2010, s Meditskos G., Bassiliades N.: Combining a DL reasoner and a rule engine for improving entailment-based OWL reasoning. Proceedings of the 7th International Conference on The Semantic Web, ISWC 08, Springer-Verlag, Berlin, Heidelberg 2008, s Meditskos G., Bassiliades N.: Dlejena: A practical forward-chaining OWL 2 RL reasoner combining Jena and Pellet. J. Web Sem., Vol. 8, Issue 1, 2010, s Motik B., Grau B. C., Horrocks I., Wu Z., Fokoue A., Lutz C.: OWL 2 Web ontology language profiles (second edition). W3C Recommendation, O Connor M. J., Das A.: A pair of OWL 2 RL reasoners. [w:] Klinov P., Horridge M. (red.): OWLED, CEUR Workshop Proceedings, Vol. 849, CEUR-WS.org, Patel-Schneider P. F., Horrocks I.: OWL 1.1 Web ontology language, Pattis R. E.: EBNF: A Notation to Describe Syntax, 1980.
15 Wnioskowanie regułowe z ontologiami OWL 2 RL 125 Wpłynęło do Redakcji 7 lutego 2014 r. Abstract In this paper we present a method of transforming OWL 2 RL ontologies into a set of rules which can be used in any forward chaining rule engine. By applying a reasoning engine we can perform reasoning tasks with two parts of ontology as a knowledge base KB: the TBox and the ABox. The transformation schema of OWL 2 ontology into a set of rules and a set of facts expressed in Abstract Syntax of Rules and Facts is presented in Figure 1. Firstly, OWL 2 ontology is loaded into the HermiT engine to perform the TBox reasoning and to produce inferred ontology. We assume that the ontology is consistent. As a result of TBox reasoning we obtain a new classified version of the ontology (new TBox). After that the ontology is transformed into two sets: a set of rules and a set of facts (if it contains the assertional part). In that way we separate the TBox part (set of rules) from the ABox part (set of facts). The inferred ontology is automatically transformed into its ASRF syntax counterpart. This context-free grammar is presented in Figure 2. Then, ontology can be transformed into any forward chaining reasoning engine language in order to conduct ABox reasoning. We present an implementation of our method using two engines: Jess and Drools. We evaluate our approach by performing the ABox reasoning on the number of benchmark ontologies originating from KAON2 project. Additionally, we compare obtained results with inferences provided by the HermiT reasoner. The evaluation presented in Table 2 shows that we can perform the ABox reasoning with considerably better performance than HermiT. Adresy Jarosław BĄK: Politechnika Poznańska, Instytut Automatyki i Inżynierii Informatycznej, pl. M. Skłodowskiej-Curie 5, Poznań, Polska, jaroslaw.bak@put.poznan.pl. Maciej NOWAK: Politechnika Poznańska, Instytut Automatyki i Inżynierii Informatycznej, pl. M. Skłodowskiej-Curie 5, Poznań, Polska, maciej.wojciech.nowak@gmail.com. Czesław JĘDRZEJEK: Politechnika Poznańska, Instytut Automatyki i Inżynierii Informatycznej, pl. M. Skłodowskiej-Curie 5, Poznań, Polska, czeslaw.jedrzejek@put.poznan.pl.
Reprezentacja wiedzy ontologie, logiki deskrypcyjne
Reprezentacja wiedzy ontologie, logiki deskrypcyjne Agnieszka Ławrynowicz 24 listopada 2016 Plan wykładu 1 Powtórka: sieci semantyczne, RDF 2 Definicja ontologii 3 Logiki deskrypcyjne Semantyczny Internet
Internet Semantyczny i Logika II
Internet Semantyczny i Logika II Ontologie Definicja Grubera: Ontologia to formalna specyfikacja konceptualizacji pewnego obszaru wiedzy czy opisu elementów rzeczywistości. W Internecie Semantycznym językiem
Optimizing Programs with Intended Semantics
Interaktywna optymalizacja programów 26 kwietnia 2010 Spis treści Spis treści Wstęp Omówienie zaproponowanego algorytmu na przykładzie Wewnętrzna reprezentacja reguł dotyczących optymalizacji Wybrane szczegóły
INSTYTUT AUTOMATYKI I INŻYNIERII INFORMATYCZNEJ POLITECHNIKI POZNAŃSKIEJ. Adam Meissner. Elementy logik deskrypcyjych
INSTYTUT AUTOMATYKI I INŻYNIERII INFORMATYCZNEJ POLITECHNIKI POZNAŃSKIEJ Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis Elementy logik deskrypcyjych Literatura [1] Baader F.
Regułowa metoda realizacji zapytań do bazy wiedzyo przestępstwach gospodarczych
Politechnika Poznańska Streszczenie rozprawy doktorskiej Regułowa metoda realizacji zapytań do bazy wiedzyo przestępstwach gospodarczych Jarosław Ksawery BAK Promotor: prof. dr hab. inż. Czesław JEDRZEJEK
Internet Semantyczny. Logika opisowa
Internet Semantyczny Logika opisowa Ontologie Definicja Grubera: Ontologia to formalna specyfikacja konceptualizacji pewnego obszaru wiedzy czy opisu elementów rzeczywistości. W Internecie Semantycznym
Systemy ekspertowe. Krzysztof Patan
Systemy ekspertowe Krzysztof Patan Wprowadzenie System ekspertowy Program komputerowy, który wykonuje złożone zadania o dużych wymaganiach intelektualnych i robi to tak dobrze jak człowiek będący ekspertem
3 grudnia Sieć Semantyczna
Akademia Górniczo-Hutnicza http://www.agh.edu.pl/ 1/19 3 grudnia 2005 Sieć Semantyczna Michał Budzowski budzow@grad.org 2/19 Plan prezentacji Krótka historia Problemy z WWW Koncepcja Sieci Semantycznej
Logika rozmyta typu 2
Logika rozmyta typu 2 Zbiory rozmyte Funkcja przynależności Interwałowe zbiory rozmyte Funkcje przynależności przedziałów Zastosowanie.9.5 Francuz Polak Niemiec Arytmetyka przedziałów Operacje zbiorowe
XII International PhD Workshop OWD 2010, 23 26 October 2010. Metodyka pozyskiwania i analizy wyników badań symulacyjnych ścieżek klinicznych
XII International PhD Workshop OWD 2010, 23 26 October 2010 Metodyka pozyskiwania i analizy wyników badań symulacyjnych ścieżek klinicznych Methodology of Acquiring and Analyzing Results of Simulation
Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi
Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie
Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski
Systemy ekspertowe i ich zastosowania Katarzyna Karp Marek Grabowski Plan prezentacji Wstęp Własności systemów ekspertowych Rodzaje baz wiedzy Metody reprezentacji wiedzy Metody wnioskowania Języki do
Spis treści Informacje podstawowe Predykaty Przykłady Źródła RDF. Marek Prząda. PWSZ w Tarnowie. Tarnów, 6 lutego 2009
PWSZ w Tarnowie Tarnów, 6 lutego 2009 1 Interpretacja trójek i SWI-Prolog Składnia 2 3 4 Interpretacja trójek i SWI-Prolog Składnia Opis (ang. Resource Description Framework) jest specyfikacją modelu metadanych,
Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.
Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class
Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4
Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne
Języki programowania zasady ich tworzenia
Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie
Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)
Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu
Instalacja SQL Server Express. Logowanie na stronie Microsoftu
Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy
Biblioteka SDL narzędzie semantycznego przetwarzania danych relacyjnych
XIV Konferencja PLOUG Szczyrk Październik 2008 Biblioteka SDL narzędzie semantycznego przetwarzania danych relacyjnych Jarosław Bąk, Czesław Jędrzejek Centrum Doskonałości w dziedzinie Telematyki, Instytut
Hurtownie danych - przegląd technologii
Hurtownie danych - przegląd technologii Problematyka zasilania hurtowni danych - Oracle Data Integrator Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel
Indeksowanie w bazach danych
w bazach Katedra Informatyki Stosowanej AGH 5grudnia2013 Outline 1 2 3 4 Czym jest indeks? Indeks to struktura, która ma przyspieszyć wyszukiwanie. Indeks definiowany jest dla atrybutów, które nazywamy
Projektowanie baz danych za pomocą narzędzi CASE
Projektowanie baz danych za pomocą narzędzi CASE Metody tworzenia systemów informatycznych w tym, także rozbudowanych baz danych są komputerowo wspomagane przez narzędzia CASE (ang. Computer Aided Software
Integracja systemu CAD/CAM Catia z bazą danych uchwytów obróbkowych MS Access za pomocą interfejsu API
Dr inż. Janusz Pobożniak, pobozniak@mech.pk.edu.pl Instytut Technologii Maszyn i Automatyzacji produkcji Politechnika Krakowska, Wydział Mechaniczny Integracja systemu CAD/CAM Catia z bazą danych uchwytów
Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat
Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych
OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI
Autoreferat do rozprawy doktorskiej OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Michał Mazur Gliwice 2016 1 2 Montaż samochodów na linii w
Projektowanie relacyjnych baz danych
Mam nadzieję, że do tej pory przyzwyczaiłeś się do tabelarycznego układu danych i poznałeś sposoby odczytywania i modyfikowania tak zapisanych danych. W tym odcinku poznasz nieco teorii relacyjnych baz
XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
REFERAT PRACY DYPLOMOWEJ
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany
Java Developers Day. Silniki reguł biznesowych
Java Developers Day Silniki reguł biznesowych Mariusz Kaczor mariusz.kaczor@altkom.pl Łukasz Szandecki lukasz.szandecki@altkom.pl slide 1 Agenda Mamy problem.. Programowanie deklaratywne Drools przykład
Oracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
PyPy's Approach to Virtual Machine Construction
PyPy's Approach to Virtual Machine Construction Armin Rigo, Samuele Pedroni Prezentacja: Michał Bendowski Czym jest PyPy? Implementacja Pythona w Pythonie - wydajniejsza niż oryginalna implementacja w
Semantic Web Internet Semantyczny
Semantic Web Internet Semantyczny Semantyczny Internet - Wizja (1/2) Pomysłodawca sieci WWW - Tim Berners-Lee, fizyk pracujący w CERN Jego wizja sieci o wiele bardziej ambitna niż istniejąca obecnie (syntaktyczna)
O-MaSE Organization-based Multiagent System Engineering. MiASI2, TWO2,
O-MaSE Organization-based Multiagent System Engineering MiASI2, TWO2, 2017-2018 Materiały Strona poświęcona metodzie O-MaSE http://macr.cis.ksu.edu/projects/omase.html (Multiagent & Cooperative Reasoning
Programowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Programowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak
OpenAI Gym Adam Szczepaniak, Kamil Walkowiak Plan prezentacji Programowanie agentowe Uczenie przez wzmacnianie i problemy związane z rozwojem algorytmów Charakterystyka OpenAI Gym Biblioteka gym Podsumowanie
Tworzenie języków specyfikacji dla zagadnień numerycznych
Tworzenie języków specyfikacji dla zagadnień numerycznych prof. dr hab. inż. Norbert Sczygiol dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 11 września
SZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA WYKŁAD 10. WNIOSKOWANIE W LOGICE ROZMYTEJ Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska WNIOSKOWANIE W LOGICE DWUWARTOŚCIOWEJ W logice
Programowanie obiektowe
Programowanie obiektowe Laboratorium 11 - przegląd wybranych wzorców mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 24 maja 2017 1 / 38 mgr inż. Krzysztof Szwarc Programowanie obiektowe Wzorce
Oracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
Modelowanie hierarchicznych struktur w relacyjnych bazach danych
Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego
LEMRG algorytm generowania pokoleń reguł decyzji dla baz danych z dużą liczbą atrybutów
LEMRG algorytm generowania pokoleń reguł decyzji dla baz danych z dużą liczbą atrybutów Łukasz Piątek, Jerzy W. Grzymała-Busse Katedra Systemów Ekspertowych i Sztucznej Inteligencji, Wydział Informatyki
METODA PRZYROSTOWEGO TWORZENIA BAZY WIEDZY NA PODSTAWIE BAZY DANYCH, ONTOLOGII I WIEDZY EKSPERTA
STUDIA INFORMATICA 2009 Volume 30 Number 2A (83) Jarosław BĄK, Jolanta CYBULKA Politechnika Poznańska, Instytut Automatyki i Inżynierii Informatycznej METODA PRZYROSTOWEGO TWORZENIA BAZY WIEDZY NA PODSTAWIE
Systemy ekspertowe. System ekspertowy wspomagający wybór zestawu komputerowego w oparciu o ontologie i system wnioskujący RacerPro
Systemy ekspertowe System ekspertowy wspomagający wybór zestawu komputerowego w oparciu o ontologie i system wnioskujący RacerPro Autorzy: 1 Wstęp Wybór zestawu komputerowego, ze względu na istnienie wielu
Programowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
SAS Institute Technical Support
SAS Institute Technical Support Optymalizacja kostek krok po kroku Pracując z kostkami OLAP często nie zdajemy sobie sprawy, że można przygotować je w taki sposób, aby praca z nimi była efektywniejsza
Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym
1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle
KOTLIN. Język programowania dla Androida
KOTLIN Język programowania dla Androida Historia Kotlin został opracowany przez firmę JetBrains Prace rozpoczęto w 2011 r., od 2012 r. dostępny na licencji Apache 2. Nazwa pochodzi od wyspy koło Petersburga
HARMONIZACJA DANYCH PRZESTRZENNYCH JERZY GAŹDZICKI
HARMONIZACJA DANYCH PRZESTRZENNYCH JERZY GAŹDZICKI PODSTAWOWE POJĘCIA (1) 1. Dane przestrzenne (dane geoprzestrzenne) dane bezpośrednio lub pośrednio odniesione do określonego położenia lub obszaru geograficznego
INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE
Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby
Kraków, 14 marca 2013 r.
Scenariusze i trendy rozwojowe wybranych technologii społeczeństwa informacyjnego do roku 2025 Antoni Ligęza Perspektywy rozwoju systemów eksperckich do roku 2025 Kraków, 14 marca 2013 r. Dane informacja
XIII International PhD Workshop OWD 2011, October 2011 METODA REEINGINEERINGU ORGANIZACJI Z WYKORZYSTANIEM SYMULATORA PROCESÓW BIZNESOWYCH
XIII International PhD Workshop OWD 2011, 22 25 October 2011 METODA REEINGINEERINGU ORGANIZACJI Z WYKORZYSTANIEM SYMULATORA PROCESÓW BIZNESOWYCH METHOD OF REEINGINEERING ORGANIZATION USING BUSINESS PROCESS
Podstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Wykład I. Wprowadzenie do baz danych
Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles
Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych
Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych dr inż. Adam Iwaniak Infrastruktura Danych Przestrzennych w Polsce i Europie Seminarium, AR Wrocław
Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu. 1 Logika Klasyczna obejmuje dwie teorie:
Tworzenie aplikacji bazodanowych
Wydział Informatyki Politechnika Białostocka Studia stacjonarne Tworzenie aplikacji bazodanowych Prowadzący: pokój: E-mail: WWW: Małgorzata Krętowska, Agnieszka Oniśko 206 (Małgorzata Krętowska), 207 (Agnieszka
Metody Kompilacji Wykład 3
Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy
Praca magisterska Jakub Reczycki. Opiekun : dr inż. Jacek Rumiński. Katedra Inżynierii Biomedycznej Wydział ETI Politechnika Gdańska
System gromadzenia, indeksowania i opisu słownikowego norm i rekomendacji Praca magisterska Jakub Reczycki Opiekun : dr inż. Jacek Rumiński Katedra Inżynierii Biomedycznej Wydział ETI Politechnika Gdańska
Teoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 8b: Algebra relacyjna http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2009/tpi-2009 Prof. dr hab. Elżbieta Richter-Wąs 1 Algebra relacyjna Algebra relacyjna (ang.
Model semistrukturalny
Model semistrukturalny standaryzacja danych z różnych źródeł realizacja złożonej struktury zależności, wielokrotne zagnieżdżania zobrazowane przez grafy skierowane model samoopisujący się wielkości i typy
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym
Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym konceptualnym modelem danych jest tzw. model związków encji (ERM
Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD
Projektowanie systemów informatycznych Roman Simiński roman.siminski@us.edu.pl siminskionline.pl Modelowanie danych Diagramy ERD Modelowanie danych dlaczego? Od biznesowego gadania do magazynu na biznesowe
Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08
Spis treści Wstęp.............................................................. 7 Część I Podstawy analizy i modelowania systemów 1. Charakterystyka systemów informacyjnych....................... 13 1.1.
Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY.
Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY. 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z przykładowym systemem ekspertowym napisanym w JESS. Studenci poznają strukturę systemu ekspertowego,
DSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.
DSL w środowisku Eclipse Grzegorz Białek Architekt techniczny, Sygnity S.A. Agenda Wstęp do tematu (10 min) Sens tworzenia języków biznesowych UML jako język biznesu? Zintegrowane środowisko deweloperskie
Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas
Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego
E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze
Funkcje użytkownika Tworzenie funkcji Usuwanie funkcji Procedury składowane Tworzenie procedur składowanych Usuwanie procedur składowanych Wyzwalacze Wyzwalacze a ograniczenia i procedury składowane Tworzenie
Klasy abstrakcyjne i interfejsy
Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie
Temat: Model SUGENO. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE
Temat: Model SUGENO Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Dr inż. Barbara Mrzygłód KISiM, WIMiIP, AGH mrzyglod@ agh.edu.pl 1 Wprowadzenie Pierwszym rodzajem modelowania
Instytut Technik Innowacyjnych Semantyczna integracja danych - metody, technologie, przykłady, wyzwania
Instytut Technik Innowacyjnych Semantyczna integracja danych - metody, technologie, przykłady, wyzwania Michał Socha, Wojciech Górka Integracja danych Prosty export/import Integracja 1:1 łączenie baz danych
THE PART OF FUZZY SYSTEMS ASSISTING THE DECISION IN DI- AGNOSTICS OF FUEL ENGINE SUBASSEMBLIES DEFECTS
Journal of KONES Internal Combustion Engines 2005, vol. 12, 3-4 THE PART OF FUZZY SYSTEMS ASSISTING THE DECISION IN DI- AGNOSTICS OF FUEL ENGINE SUBASSEMBLIES DEFECTS Mariusz Topolski Politechnika Wrocławska,
Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu
Dane wejściowe Oracle Designer Generowanie bazy danych Diagramy związków encji, a w szczególności: definicje encji wraz z atrybutami definicje związków między encjami definicje dziedzin atrybutów encji
Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa
Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Instalacja roli kontrolera domeny, Aby zainstalować rolę kontrolera domeny, należy uruchomić Zarządzenie tym serwerem, po czym wybrać przycisk
Zaawansowane Modelowanie I Analiza Systemów Informatycznych
Zaawansowane Modelowanie I Analiza Systemów Informatycznych Wprowadzenie mgr. inż. Tomasz Pieciukiewicz tomasz.pieciukiewicz@gmail.com Agenda ZMA jako przedmiot Wprowadzenie do Object Role Modeling ZMA
Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski
Struktura systemu operacyjnego Schemat budowy systemu operacyjnego model warstwowy Schemat budowy systemu operacyjnego części składowe Większość systemów operacyjnych opiera się o koncepcję jądra, która
The Binder Consulting
The Binder Consulting Contents Indywidualne szkolenia specjalistyczne...3 Konsultacje dla tworzenia rozwiazan mobilnych... 3 Dedykowane rozwiazania informatyczne... 3 Konsultacje i wdrożenie mechanizmów
Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania. Pomiary w inżynierii oprogramowania
Jarosław Kuchta Jakość Systemów Informatycznych Jakość Oprogramowania Pomiary w inżynierii oprogramowania Cel pomiarów ocena jakości produktu ocena procesów (produktywności ludzi) stworzenie podstawy dla
Reprezentacja wiedzy w indukcyjnym programowaniu logicznym
Reprezentacja wiedzy w indukcyjnym programowaniu logicznym Agnieszka Ławrynowicz Instytut Informatyki Politechnika Poznańska marzec 2006 Plan prezentacji Plan prezentacji 1 Wprowadzenie Plan prezentacji
WZORCE LOGIKI APLIKACJI Reużywalne składniki wymagań
WZORCE LOGIKI APLIKACJI Reużywalne składniki wymagań Albert Ambroziewicz, Michał Śmiałek Politechnika Warszawska KKIO 0, SCR 0 27-29.09.200 Treść prezentacji Wprowadzenie powtarzalność rozwiązań w IO Koncepcja
Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne
Architektury i technologie integracji danych Systemy Mediacyjne Multi-wyszukiwarki Wprowadzenie do Mediacyjnych Systemów Zapytań (MQS) Architektura MQS Cechy funkcjonalne MQS Cechy implementacyjne MQS
Programowanie obiektowe - 1.
Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która
UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
Tom 6 Opis oprogramowania
Część 4 Narzędzie do wyliczania wielkości oraz wartości parametrów stanu Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 30 maja 2012 Historia dokumentu Nazwa
Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl
Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
IDEOLOGICZNY I PRAKTYCZNY MODEL METAONTOLOGII
STUDIA INFORMATICA 200 Volume 3 Number 2A (89) Krzysztof GOCZYŁA, Aleksander WALOSZEK, Wojciech WALOSZEK, Teresa ZAWADZKA Politechnika Gdańska, Wydział Elektroniki, Telekomunikacji i Informatyki IDEOLOGICZNY
Zarządzanie sieciami komputerowymi - wprowadzenie
Zarządzanie sieciami komputerowymi - wprowadzenie Model zarządzania SNMP SNMP standardowy protokół zarządzania w sieci Internet stosowany w dużych sieciach IP (alternatywa logowanie i praca zdalna w każdej
Paweł Kurzawa, Delfina Kongo
Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management
Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni
Akademia Morska w Gdyni Gdynia 2004 1. Złączenie definicja Złączenie (JOIN) to zbiór rekordów stanowiących wynik zapytania służącego pobraniu danych z połączonych tabel (związki jeden-do-jeden, jeden-do-wiele
Spis treści. Przedmowa
Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach
SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD
Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości
Formularz recenzji magazynu. Journal of Corporate Responsibility and Leadership Review Form
Formularz recenzji magazynu Review Form Identyfikator magazynu/ Journal identification number: Tytuł artykułu/ Paper title: Recenzent/ Reviewer: (imię i nazwisko, stopień naukowy/name and surname, academic
Systemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Wprowadzenie do Prologa
Wprowadzenie do Prologa Rozdział 1 Tutorial Introduction Maciej Gapiński Dominika Wałęga Spis treści 1. Podstawowe informacje 2. Obiekty i relacje 3. Reguły 4. Fakty 5. Zapytania 6. Zmienne i stałe Podstawowe
Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].
ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości
Procesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4
Procesy biznesowe w praktyce Przykłady użycia z wykorzystaniem jbpm 4.4 1 Agenda Definicja i zastosowanie procesu biznesowego Języki dziedzinowe (DSL) a rozwiązania BPM JBPM: jbpm 4.4 krótka charakterystyka
Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych
Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w