Inteligentne wnioskowanie w sieci semantycznej web 3.0

Podobne dokumenty
Semantic Web. dr inż. Aleksander Smywiński-Pohl. Elektroniczne Przetwarzanie Informacji Konsultacje: czw , pokój 3.211

Reprezentacja wiedzy ontologie, logiki deskrypcyjne

Semantic Web. Grzegorz Olędzki. prezentacja w ramach seminarium Protokoły komunikacyjne. luty 2005

Internet Semantyczny. Schematy RDF i wnioskowanie

3 grudnia Sieć Semantyczna

Internet Semantyczny. Wstęp do OWL 2

RDF Schema (schematy RDF)

Ontologie, czyli o inteligentnych danych

Semantic Web Internet Semantyczny

Rozszerzenie funkcjonalności systemów wiki w oparciu o wtyczki i Prolog

Spis treści Informacje podstawowe Predykaty Przykłady Źródła RDF. Marek Prząda. PWSZ w Tarnowie. Tarnów, 6 lutego 2009

Web 3.0 Sieć Pełna Znaczeń (Semantic Web) Perspektywy dla branży motoryzacyjnej i finansowej. Przyjęcie branżowe EurotaxGlass s Polska 10 luty 2012

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Internet Semantyczny. Linked Open Data

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe.

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

SYSTEM DO GENEROWANIA ONTOLOGII NA PODSTAWIE DIAGRAMÓW UML SYSTEM TO ONTOLOGY GENERATION FROM UML DIAGRAMS

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Internet Semantyczny i Logika II

Galileo - encyklopedia internetowa Plan testów

Wykład I. Wprowadzenie do baz danych

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Instytut Technik Innowacyjnych Semantyczna integracja danych - metody, technologie, przykłady, wyzwania

Programowanie obiektowe

extensible Markup Language, cz. 1 Marcin Gryszkalis, mg@fork.pl

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Logika dla socjologów Część 2: Przedmiot logiki

Monitoring procesów z wykorzystaniem systemu ADONIS

World Wide Web? rkijanka

Internet Semantyczny. Logika opisowa

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań

System zarządzający grami programistycznymi Meridius

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Przetwarzanie języka naturalnego (NLP)

Wstęp do logiki. Klasyczny Rachunek Zdań III

POLITYKA PRYWATNOŚCI I COOKIES

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Systemy ekspertowe. System ekspertowy wspomagający wybór zestawu komputerowego w oparciu o ontologie i system wnioskujący RacerPro

2/4. informatyka" studia I stopnia. Nazwa kierunku studiów i kod. Informatyka WM-I-N-1 programu wg USOS. Tytuł zawodowy uzyskiwany przez

Polityka prywatności 1. Definicje Administrator Cookies - Cookies Administratora - Cookies Zewnętrzne - Serwis - Urządzenie - Ustawa Użytkownik -

Praca w sieci z serwerem

WOJSKOWA AKADEMIA TECHNICZNA WYDZIAŁ CYBERNETYKI

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

serwisy W*S ERDAS APOLLO 2009

Zapisywanie algorytmów w języku programowania

Zajęcia nr. 3 notatki

Natalia BIEŃ Uniwersytet Przyrodniczy, Studenckie Koło Naukowe Informatyków IMPLEMENTACJA PORTALU INTERNETOWEGO W TECHNOLOGIACH PHP I MYSQL

Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy

EXSO-CORE - specyfikacja

CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Systemy ekspertowe. Krzysztof Patan

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Rachunek zdań i predykatów

Przygotowała Elżbieta Pastucha na podstawie CityGML OGC Standard for Photogrammetry by Thomas H. Kolbe, Claus Nagel, Alexandra Stadler

Baza danych sql. 1. Wprowadzenie

Polityka Cookies. 1 Definicje. Administrator oznacza przedsiębiorstwo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

rdf:type ex:homepage ex:createdwith /amaya rdf:type ex:htmleditor

HTML5 Nowe znaczniki header nav article section aside footer

1 Projektowanie systemu informatycznego

Wprowadzenie do baz danych

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Pojęcie bazy danych. Funkcje i możliwości.

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych

Modelowanie i Programowanie Obiektowe

Polityka prywatności woda.krakow.pl

Lokalizacja Oprogramowania

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

Reguły plików cookies witryny i usług internetowych tsop.pl

Koncepcja wirtualnego uniwersytetu z wykorzystaniem technologii semantycznej. Ilona Pawełoszek Tomasz Turek Politechnika Częstochowska

Sklep internetowy wtspartner.pl dokłada wszelkich starań, aby prowadzony serwis ułatwiał każdemu użytkownikowi

Internet Semantyczny. Podstawy SPARQL

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Zadanie 1. Suma silni (11 pkt)

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

PODSTAWY BAZ DANYCH. 19. Perspektywy baz danych. 2009/2010 Notatki do wykładu "Podstawy baz danych"

Stosowanie ciasteczek (cookies)

Tom 6 Opis oprogramowania

3.1. Na dobry początek

Metoda Tablic Semantycznych

2

2 Podstawy tworzenia stron internetowych

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY.

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Transkrypt:

Wydział Informatyki i Zarządzania kierunek studiów: Informatyka specjalność: Systemy Informacyjne Praca dyplomowa - magisterska Inteligentne wnioskowanie w sieci semantycznej web 3.0 Filip Jarosław Marek słowa kluczowe: Sieć semantyczna Web 3.0 Wnioskowanie inteligentne Ontologie Reasonery krótkie streszczenie: Praca dotyczy zasad tworzenia sieci semantycznej jako rozwiązania dla Web 3.0. Przedstawione, zbadane i porównane zostały silniki wnioskujące. opiekun pracy dyplomowej Dr Marek Kopel...... Tytuł/stopień naukowy/imię i nazwisko ocena podpis Do celów archiwalnych pracę dyplomową zakwalifikowano do:* a) kategorii A (akta wieczyste) b) kategorii BE 50 (po 50 latach podlegające ekspertyzie) * niepotrzebne skreślić pieczątka wydziałowa Wrocław 2016

Spis treści 1 Streszczenie:... 3 2 Abstract:... 4 3 Wnioskowanie inteligentne.... 5 Wnioskowanie... 5 Definicja rozumowania... 5 Definicja wnioskowania... 5 3.1 Inteligencja inteligentnego wnioskowania... 6 3.2 Rodzaje wnioskowania... 6 4 Sieć semantyczna... 7 4.1 Semantyka... 7 4.2 Sieć semantyczna... 7 4.3 Zastosowania Sieci Semantycznej... 8 4.4 Linked Data... 8 4.5 Standardy techniczne sieci semantycznej.... 10 4.6 RDF Resource Description Framework... 10 4.7 RDFS RDF Schema... 11 4.7.1 Struktura RDFS podstawowe konstruktory... 12 4.8 OWL Web Ontology Language... 13 4.9 SPARQL Protocol i RDF Query Language... 14 5 Web 3.0... 14 5.1 Pojęcie... 14 6 Wnioskowanie semantyczne... 17 6.1 Własności i konkstruktory w języku OWL dla wnioskowania... 17 6.2 Własności RDF/RDFS umożliwiające wnioskowanie Przykłady... 17 6.2.1 Dziedziczenie typu przez podklasę - rdfs:subclassof.... 18 6.2.2 Zwrotność przez podwłaściwość rdfs:subpropertyof i podklasę rdfs:subclassof 18 6.2.3 Wnioskowanie typu przez zakres rdfs:range i domenę rdfs:domain... 18 6.2.4 Przechodniość podklasy rdfs:subclassof i podwłaściwości rdfs:subpropertyof 18 6.3 OWL Własności umożliwiające wnioskowanie - Przykłady... 19 6.3.1 Przechodniość - owl:transitiveproperty... 19 6.3.2 Symetria - owl:symmetricproperty... 19 6.3.3 Dziedziczenie rozdzielności - owl:disjointwith... 19 6.3.4 Wnioskowanie o równowartości - owl:equivalentclass, owl:equivalentproperty 19 1

6.3.5 Rozdzielność na podstawie dopełnienia klasy - owl:complementof... 20 6.3.6 Ograniczenie wartości - owl:restriction... 20 6.4 Reasonery... 21 6.4.1 Działanie reasonera... 21 6.4.2 Podział reasonerów... 21 6.5 Przegląd istniejących reasonerów... 23 6.5.1 Pellet... 23 6.5.2 HermiT... 23 6.5.3 FacT++... 23 6.5.4 jcel... 23 6.5.5 Zestawienie... 24 7 Przykłady obecnego zastosowania sieci semantycznych... 25 7.1 DBpedia... 25 7.2 BBC... 25 7.3 GeoNames... 26 8 Podsumowanie zebranej wiedzy... 27 9 Środowisko badawcze:... 28 9.1 Oprogramowanie - Protégé:... 28 9.2 Instalacja reasonerów... 28 9.3 OWLViz Wizualizacja OWL... 29 9.4 Ontologie w Protégé... 29 10 Przykładowy przebieg testu wnioskowania ontologia family_example.owl... 31 10.1 Hierarchia klas... 31 10.1.1 Klasy... 31 10.1.2 Właściwości... 31 10.1.3 Instancje... 31 10.2 Wyniki przebiegu wnioskowania na ontologii family_example.owl dla reasonera Pellet 32 10.2.1 Różnice w jednostkach... 33 10.2.2 Różnice w strukturze hierarchii klas... 34 10.2.3 Różnice dla instancji... 34 11 Zbiór ontologii wybranych do wykonania testów.... 36 11.1 Tabela informacji o użytych plikach... 36 12 Wyniki przeprowadzonych testów... 37 12.1 Wyniki testów na ontologii #1 facts.rdf... 37 12.2 Wyniki testów na ontologii #2 people+pets.owl... 39 12.3 Wyniki testów na ontologii #3 wine.owl... 42 2

12.4 Wyniki testów na ontologii #4 doid.owl... 44 12.5 Wyniki testów na ontologii #5 SUMO.owl... 45 13 Podsumowanie wyników... 47 13.1 Porównanie pod względem niezawodności kryterium jakościowe... 47 13.2 Porównanie pod względem ilości wywnioskowanych aksjomatów kryterium ilościowe... 48 13.3 Porównanie pod względem szybkości działania kryterium wydajnościowe... 49 13.4 Podsumowanie... 49 14 Zainteresowanie tematem Sieci Semantycznych... 50 14.1 Wykresy Google Trends.... 50 15 Wnioski... 51 16 Bibliografia... 52 1 Streszczenie: 3

Celem pracy jest rozpoznanie i przedstawienie wnioskowania inteligentnego w kontekście budowania i działania Sieci Semantyczniej, różnic pomiędzy Web 3.0, a poprzednimi generacjami, możliwych zastosowań ww. rozwiązań obecnie i w przyszłości. Pierwsza część pracy definiuje rozważane zagadnienia oraz opisuje przykłady aktualnego zastosowania technologii. W drugiej części przedstawiony jest przebieg i wyniki badań nad działaniem aktualnie dostępnych silników wnioskowania (reasonerów) dla ontologii w języku OWL. Testy wyłaniają najlepszy z nich według kryteriów jakości, wydajności i ilości. 2 Abstract: The aim of this paper is to identify and present intelligent inferencing in the context of building and work of the Semantic Web, differences between Web 3.0 and previous generations, the possible applications of the above. solutions now and in the future. The first part defines the issues under consideration and describes examples of current use of these technologies. The second part shows the process and results of studies on effects of currently available reasoners for the OWL ontology language. Tests were to emerge the best of them according to criteria of quality, performance and quantity. 4

3 Wnioskowanie inteligentne. Wnioskowanie patrząć przez pryzmat nauki o logice jest częścią rozumowania, czyli procesu polegającego na stwierdzaniu poprawności pewnego zdania. Definicja rozumowania wg. Encyklopedii PWN: rozumowanie, log. proces myślowy, w którym uznaje się za prawdziwe jakieś sądy (lub ich reprezentacje językowe zdania) na podstawie innych już uznanych za prawdziwe sądów (zdań); wśród rodzajów rozumowań zwykle rozróżnia się: wnioskowanie, dowodzenie, sprawdzanie (weryfikację) i wyjaśnianie[...] Cytat 1 (1) Jak widać, przy wnioskowaniu skupiamy się na wyciągnięciu wniosku, a pozostawiamy jego werifikację, sprawdzanie poprawności i dowód. Definicja wnioskowania wg. Encyklopedii PWN: 5 wnioskowanie, log. jeden z podstawowych rodzajów rozumowania; proces myślowy polegający na tym, że na podstawie zdań uznanych za prawdziwe (twierdzeń uzasadnionych) dochodzi do uznania nowego twierdzenia, które wyprowadza się z owych zdań na podstawie praw log. oraz zgodnie z odpowiednimi regułami wnioskowania. Zdania stanowiące punkt wyjściowy tego rozumowania i podstawę uznawania innych nazywa się przesłankami; zdanie uznane w rezultacie procesu wnioskowania nazywa się wnioskiem (konkluzją). Wnioskowanie nawiązuje do istniejącego między zdaniami obiektywnego stosunku wynikania, a także do probabilistycznych związków między zdaniami. Proces wnioskowania przebiega zwykle wg schematu: ponieważ p..., więc q. Wszelkie wnioskowania dzielą się na niezawodne i zawodne, czyli uprawdopodobniające. Do niezawodnych należy wnioskowanie dedukcyjne (dedukcja); szczególną jego odmianą jest wnioskowanie sylogistyczne (sylogizm) z dwóch przesłanek. Wśród różnych rodzajów wnioskowań zawodnych wyróżnia się: wnioskowanie redukcyjne (redukcja), wnioskowanie indukcyjne (indukcja), wnioskowanie przez analogię (analogia). Cytat 2 (2) Wnioskowanie jest implikacją: Przesłanki (twierdzenia uzasadnione) --(prawa logiczne)--> twierdzenie (wniosek/konkluzja) Rodzaje niezawodnego wnioskowania to: Dedukcja wniosek wynika z przesłanek Oraz rodzaje wnioskowania zawodnego: Redukcja do zdania uznanego za prawdziwe dobieramy przesłankę, z której to zdanie wynika. Indukcja wniosek nie wynika logicznie z przesłanek, ale stwierdza występującą prawidłowość Analogia wnioskowanie o cechach obiektu, na podstawie 2 przykładów analogicznego obiektu

3.1 Inteligencja inteligentnego wnioskowania Przymiotnik inteligentne w przypadku wnioskowania, o którym jest mowa w pracy pochodzi od zautomatyzowanych metod wnioskowania działu Sztucznej Inteligencji. Potwierdza to definicja Słownika Języka Polskiego PWN dot. sztucznej inteligencji: sztuczna inteligencja «dział informatyki badający reguły rządzące zachowaniami umysłowymi człowieka i tworzący programy lub systemy komputerowe symulujące ludzkie myślenie» Cytat 3 (3) Należy więc rozpatrzeć możliwie zautomatyzowane metody wnioskowania, które działają bez ingerencji człowieka. Łączy się to z założeniem, że fakty, przesłanki i wnioski będą przetwarzane i rozumiane przez komputer. 3.2 Rodzaje wnioskowania Wnioskowanie można podzielić na 3 metody: Wnioskowanie w przód Wnioskowanie wsteczne Wnioskowanie mieszane Podsumowanie: Wymienione powyżej sposoby i rodzaje wnioskowania mogą mieć swoje zastosowanie dla technologii użytych w sieciach semantycznych. Należy rozpatrzeć na czym taka sieć się opiera, aby zbadać adektwatny sposób wnioskowania. 6

4 Sieć semantyczna 4.1 Semantyka Semantyka jest działem logiki, odpowiadającym za przypisanie znaczenia symbolom i elementom języka oraz sensu zbiorom tych symboli. Definicja wg Encyklopedii PWN: W celu określenia semantyk formalnego języka używana jest technika nazywana teorią modelowania. Teoria modelowania zakłada, że język odnosi się do świata i opisuje warunki, które ten świat musi spełnić w celu przekazywania poprawnego znaczenia dla każdego wyrażenia w języku. Konkretny świat jest nazywany interpretacją, więc teoria modelowania może być nazywana teorią interpretacji. Najważniejszą ideą jest zapewnienie abstrakcyjnego, matematycznego opisu właściwości, które posiada każda taka interpretacja, poprzez tworzenie możliwie dużej liczby założeń o właściwej naturze lub wewnętrznej strukturze, zachowując w ten sposób tak dużo ogólności jak to możliwe. Najważniejszym wykorzystaniem formalnych semantyk jest zapewnienie technicznego sposobu determinowania, kiedy procesy wnioskowania są uzasadnione, czyli np. kiedy zachowują prawdę. Cytat 4 (4) 4.2 Sieć semantyczna Definicja: Sieć Semantyczna pozwoli w systematyczny sposób przypisać znaczenie elementom stron WWW, dzięki czemu odczytujące je specjalne programy, zwane agentami, będą mogły wykonywać skomplikowane zadania zlecone przez użytkowników. Agent odwiedzający witrynę kliniki rehabilitacji nie tylko rozpoznaje zawiera ona słowa kluczowe: terapia, medycyna, rehabilitacja (co jest możliwe już dzisiaj), lecz będzie w stanie stwierdzić, że doktor Hartmann przyjmuje w tej klinice w poniedziałki, środy i piątki. Zorientuje się także, że umieszczony w tej witrynie skrypt do wyznaczania wolnych terminów przyjmuje zakresy dat w formacie dd-mm-rrrr. Program ten będzie wiedział to wszystko, nie mając bynajmniej inteligencji superkomputera[ ] Cytat 5 (5) Sieć semantyczną dla Web 3.0 najprościej jest przedstawić jako rozwinięcie internetu w powszechnym tego słowa znaczeniu. Działanie takiej sieci odróżnia zrozumienie intencji użytkownika, na podstawie haseł i czynności, które w niej wykonuje. Co więcej agent (maszyna) po stronie użytkownika, jest w stanie porozumieć się z agentem po stronie innego klienta i wyciągnąć na tej podstawie konkretne informacje związane z zapytaniem. Autorem wizji sieci semantycznej jest Tim Berners-Lee (twórca World Wide Web). Wymaganymi standardami Sieci Semantycznej są sposoby opisu zasobów sieciowych, aby były one zrozumiałe dla silników wnioskujących. Wynikiem tworzenia sieci semantycznej jest ustrukturyzowanie zasobów i połączenie ich w logiczną sieć. Najistotniejszą informacją dotyczącą sieci semantycznej jest to, że przy zachowaniu takich standardów, można prowadzić wnioskowanie. Umożliwia to zrozumienie maszynowe treści trzymanych w sieci tworząc olbrzymią, dynamiczną bazę wiedzy. 7

Sieć Semantyczną dobrze opisują standardy ustalone przez W3C Konsorcjum, organizacja nadająca kształt World Wide Web założona przez Tim a Berners a Lee. Standardy założone przez W3C dotyczą: Struktur stron WWW Narzędzi do generowania stron i obsługi po stronie użytkownika Protokołów przesyłu danych Celem W3C jest osiągnięcie ustrukturyzowanej poukładanej architektonicznie sieci, co ułatwia weryfikację i analizę zawartości, jednocześnie zapewniając dobrą obsługę techniczną - stron przez przeglądarki i inne narzędzia internetowe. 4.3 Zastosowania Sieci Semantycznej wyszukiwanie informacji na podstawie znaczenia haseł wpisywanych w wyszukiwarce, a nie tylko po słowach kluczowych, co często skutkuje błędnymi odpowiedziami i uniemożliwia korzystanie z synonimów rozróżnianie danych na podstawie kontekstu ich znaczenia ekstrahowanie informacji z różnych źródeł i ich automatyczna integracja prezentowanie tylko istotnych danych z punktu widzenia użytkownika wraz z możliwością wyjaśnienia podjętych przez komputer działań/wniosków przeprowadzanie wnioskowania na danych opisanych semantycznie, co skutkuje uzyskaniem nowych informacji (które nie były dotychczas jawnie zapisane), a te z kolei poddane procesom wnioskowania mogą prowadzić do uzyskania kolejnych nowych faktów itd. wprowadzanie wiedzy zawartej w dokumentach danego typu, przez co ułatwiłoby to zarządzanie dokumentami oraz informacją, a także prowadziło do utrzymywania niesprzeczności i aktualności gromadzonych danych automatyczną generację dokumentów opisanych semantycznie automatyczną generację stron WWW opisanych semantycznie bez udziału użytkownika (wiedza służąca do opisu strony czerpana jest z semantyki zawartej w ontologii) Cytat 6 (6) 4.4 Linked Data Linked Data to dane powiązane, czyli sposób opisywania danych zaproponowany przez Tim a Berners a Lee w swoim artykule z 2007 roku. Poprzez wiązanie danych ze sobą można utworzyć ich sieć, a żeby to zrobić należy zamieszczając coś w sieci WWW postępować wg. 4 kroków: 8

1. Używaj URI jako nazw dla rzeczy 2. Używaj URI Http, aby ludzie mogli podejrzeć zawartość nazw 3. Gdy ktoś wejdzie przez Twoje URI, zapewnij informacje o danych w postaci RDF (SPARQL) 4. Podłączaj inne URI, aby można było odkryć więcej powiązanych rzeczy Rys. 1 Linked Data opracowano na podstawie artykułu Linked Data autorstwa Tima Berners a Lee (7) Ma to na celu umożliwić ustrukturyzowanie rzeczy w sieci w postaci meta-danych czyli danych-informacji o elementach, których dotyczą. Berners Lee utworzył też 5-stopniowy model oceny zamieszczonych danych. Jedna gwiazdka należy się, gdy dane dostępne są w sieci na zasadzie otwartej licencji. Dwie gwiazdki, gdy dane są w postaci czytelnej dla maszyn. Np. tabelka. Trzy gwiazdki, gdy te dane są w postaci czytelnej dla maszyn i obsługiwanym formacie. Cztery gwiazdki, gdy zastosowane są standardy W3C. Metadane w postaci RDF, dzięki której inni użytkownicy mogą wykorzystać URI do powiązania swoich danych. Pięć gwiazdek, gdy powiązano swoje dane z innymi, innych użytkowników sieci. (7) Pięciogwiazdkowy przykład użycia Linked Data: Poniżej przedstawiony przykład pochodzi ze strony informującej o zasadach Linked Data. (8) Dotyczy on prognozy pogody dla Galway w Irlandii. Zasób został zatytuowany znacznikiem dc:title, twórca jest powiązany za pomocą dcterms:creator, są też informacje o datach utworzenia i modyfikacji. dc:title "Temperature forecast for Galway, Ireland" xhtml:stylesheet http://5stardata.info/css/style.css dcterms:title "Temperature forecast for Galway, Ireland" dcterms:created "2012-01-22"^^xsd:date 9

dcterms:creator http://mhausenblas.info/#i dcterms:modified "2015-08-31"^^xsd:date dcterms:contributor http://jayg.me/ dcterms:license http://creativecommons.org/publicdomain/zero/1.0/ (8) 4.5 Standardy techniczne sieci semantycznej. Sieć semantyczna będzie rozwinięciem aktualnej sieci WWW, poprzez warstwowe dodawanie stadardów i technologii umożliwiających opisywanie i analizowanie zasobów poprzez tworzenie metadanych danych o danych. Proces taki jest tworzeniem stosu semantycznego. Rys.2 - Stos semantyczny autor: Tim Berners-Lee, źródło: http://www.w3.org/2000/talks/1206-xml2k-tbl/slide10-0.html, data pobrania: 23.06.2015 4.6 RDF Resource Description Framework RDF jest modelem opisu zasobów i związków między nimi, gdzie zasób to wszystko, co można zidentyfikować za pomocą URI. 10

RDF jest sposobem opisywania zasobów sieci Web bazującym na XML, lecz jego rozszenie to.rdf. Rys. 3 - Przykład opisu w modelu RDF źródło: https://pl.wikipedia.org/wiki/resource_description_framework#/media/file:model_rdf_- _diagram_wyra%c5%bce%c5%84.png, data pobrania: 23.06.2015 RDF Składa się z 3 głownych elementów tworzących całość Zasób, właściwość, wartość. Każdy element takiej trójki jest reprezentowany przez URI. Graficzną reprezentacją RDF byłby graf złożony z 3 wierzchołków i krawędzi. Wnioskowanie w przypadku RDF polega na tworzeniu nowych trójek, na podstawie tych, które są już znane. Rys. 4 Logo rdf symbolizujące trójkę. Źródło: https://tsiss.wordpress.com/tag/rdf/, data pobrania: 23.06.2015 Sposób zapisu jest analogiczny do XML rozszerzony o znaczniki rdf: <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:si="http://www.w3schools.com/rdf/"> <rdf:description rdf:about="http://www.w3schools.com"> <si:title>w3schools.com</si:title> <si:author>jan Egil Refsnes</si:author> </rdf:description> </rdf:rdf> Przykład RDF, źródło http://www.w3schools.com/webservices/ws_rdf_example.asp/, data pobrania: 23.06.2015: 4.7 RDFS RDF Schema RDFS jest opartym o RDF językiem tworzenia struktur danych słowników RDF. RDFS umożliwia definiowanie własnych klas, do których należą wierzchołki grafów i ich 11

właściwości. RDF. Zależności pomiędzy wierzchołkami, a właściwiościami umożliwiają wnioskowanie. Rys. 5 Graf pokazujący różnice między RDF i RDFS, Źródło: http://rhizomik.net/html/~roberto/thesis/figures/rdfschema.png, pobrano dnia 23.06.2015 4.7.1 Struktura RDFS podstawowe konstruktory Język RDF i RDFS posiada wiele konkstruktorów dotyczących klas i ich własności. Poniżej przedstawione są te pozwalające zrozumieć zapis bazowych elementów składni. rdfs:resource zasób, nazywa wszystkie rzeczy opisywane przez RDF, są one instancjami tej klasy, która jest klasą wszystkiego i wszystkie inne klasy są jej podklasami. rdfs:resource jest instancją rdfs:class. rdfs:class jest klasą zasobów będących klasami RDF. rdfs:literal jest klasą wartości liczbowo-literowych, takich jak integer czy string. Wartości liczbowo-literowe mogą być proste lub mieć pewien typ. Te posiadające typ są instancjami klasy typów danych. rdfs:literal jest instancją rdfs:class i podklasą rdfs:resource. rdfs:datatype klasa typów danych. Wszystkie jej instancje korespondują z modelem typów danych RDF. rdfs:datatype jest zarówno instancją jak i podklasą rdfs:class. Każda jej instancja jest podklasą rdfs:literal. rdf:xmlliteral klasa wartości liczbowo-literowych XML. Jest instancją rdfs:datatype i podklasą rdfs:literal. rdf:property klasa właściwości RDF, jest instancją rdfs:class. (4) 12

4.8 OWL Web Ontology Language Rys. 6 OWL logo, źródło - http://webont.org/owl/1.1/images/owl.png OWL jest to uznany przez W3C język (9) rozszerzający RDF reprezentujący dane i wiedzę na ich temat w postaci ontologii zbioru pojęć i opisów relacji zachodzącymi pomiędzy tymi pojęciami w zakresie danej i ustalonej dziedziny. Pojęciom w zależności od wspólnych cech tworzy się klasy, które ułożone są w postaci hierarchii klas. Oprócz struktury język ten również umożliwia przedstawienie instancji klas zawierających opisy i właściwości obiektów, co w całości daje bogatą bazę wiedzy. Daje to o wiele większe możliwości w zakresie wnioskowania dzięki łączeniu opisów w spójne porcje informacji dotyczące ustrukturyzowanych istniejących zasobów. Semantyka (rzeczywiste znaczenie elementów) języka OWL oparta jest na logice deskrypcyjnej. Forma składniowa języka oparta jest na XML i obsługuje wiele formatów, z których czerpie:.rdf,.rdfs,.n3. Obecną wersją języka jest OWL 2.0. (10) 13

<!DOCTYPE Ontology [ <!ENTITY xsd "http://www.w3.org/2001/xmlschema#" > <!ENTITY vin "http://www.example.org/wine#" > <!ENTITY food "http://www.example.org/food#" > ]> <owlx:ontology owlx:name="http://www.example.org/wine" xmlns:owlx="http://www.w3.org/2003/05/owl-xml"> <!-- OWL statements --> </owlx:ontology> Przykład kodu OWL źródło: http://www.w3.org/tr/owl-xmlsyntax/apd-example.html/, data pobrania: 23.06.2015: 4.9 SPARQL Protocol i RDF Query Language SPARQL to uznany przez W3C protokół i język zapytań dla RDF. Używany jest do wyszukiwania danych z plików rdf, podobnie jak zapytania SQL dla baz danych. Przykład kodu: PREFIX dc: <http://docs.org/elements/> SELECT?title WHERE { <http://books.org/book/> dc:title?title } 5 Web 3.0 5.1 Pojęcie Web 3.0 jest następcą Web 2.0, czyli następcą aktualnie działającego World Wide Web poprzez zmianę charakterystyki i sposobu korzystania z sieci internetowej. Sam Tim Berners-Lee w wywiadzie odpowiadając na pytanie o różnice miedzy 2.0, a 3.0 mówi: 14 [ ]Powszechny problem, który dotyczy zasobów w wersji 2.0, jest taki, że informacje, które oglądamy nie znajdują się na witrynie, a w bazie danych. Tak naprawdę one nie są w sieci Web. A więc ludzie nie mogą ich wykorzystać ponownie i przetworzyć. Możesz mieć profesjonalną stronę WWW z informacjami o twoich przyjaciołach, kolegach i ludziach z którymi pracujesz oraz trafić na inną stronę WWW dotyczącą innych społeczności. Przy Web 2.0 nie masz pełnego obrazu, nikt nie ma pełnego obrazu. Niektórzy twierdzą, że Web 3.0 nastąpi wtedy, gdy twoja witryna pokaże dane, które możesz w dowolny sposób dostosować do swoich potrzeb. Na przykład, jeśli jakiś z serwisów, które korzystają z technologii Web, będzie zawierał istotne dane dotyczące jednego z moich przyjaciół, to ja będę mógł rozkazać komputerowi: "Pobierz te informacje, przejrzyj je i dodaj do danych, które mam na ten temat z innych witryn. Następnie przedstaw tę osobę z szerszej perspektywy. [ ]."Cytat 7 (11) Aby Web w wersji 3.0 był w stanie zrozumieć użytkownika i dopasować, przeanalizować i wyświetlić odpowiednie dla niego treści wymaga czegoś, co pozwoliłoby działać na danych. Tym czymś może być właśnie sieć semantyczna. Określeniem Web 3.0 można nazwać więc sposób korzystania z internetu opartego o sieć semantyczną. (12)

Źródło:Piotr Zalewski Tim Berners-Lee o potędze Sieci semantycznej 15

Rys. 8 Oś czasu ewolucji w technologiach Web. Źródło radarnetworks.com, pobrano dnia 23.06.2015 WEB 1.0 WEB 2.0 WEB 3.0 KOMUNIKACJA Udostępnianie Interaktywna Rozpatrywana INFORMACJA Statyczna Dynamiczna Osobista SKUPIENIE NA Organizacje Grupy ludzi Indywidualne OSOBISTE Strony internetowe Blogi Strumienie ZAWARTOŚĆ Własnościowa Udostępniana Asystowana INTERAKCJA Formularze webowe Aplikacje webowe Aplikacje Smart WYSZUKIWANIE Słowniki Słowa-klucze, tagi Kontekst, istotność MIERZALNOŚĆ Ilość wyświetleń Koszt kliknięcia Zaangażowanie użytkownika REKLAMA Bannery Interaktywna Behawioralna BAZA WIEDZY Britannica Wikipedia Sieć semantyczna TECHNOLOGIE HTML/FTP XML/RSS RDFS/OWL Tabela 1 - Tabela różnic pomiędzy Web 1.0, 2.0 i 3.0, Opracowana na podstawie: https://flatworldbusiness.files.wordpress.com/2010/11/dia85.jpg, pobrano dnia 23.06.2015 Analizując powyższą tabelę można wymienić różnice pomiędzy aktualnym stanem sieci, a oczekiwanym web 3.0, który będzie przede wszystkim nastawiony na pojedynczego użytkownika sieci, nie jak w przypadku 2.0 grupy odbiorców. Korzystając z sieci można zauważyć, że wiele rozwiązań jest już obecnie nastawione na przyszłościową formę Web 3.0, lecz sama sieć semantyczna i idące wraz z nią możliwości nie są głównym rdzeniem sieci, przez co użytkownik nie może się porozumieć z siecią w pełnym zakresie. Zastanawiając się nad sposobem korzystania z Web 3.0 wyobrazić można sobie uzyskiwanie wiedzy z asystentem, który próbuje zrozumieć czego chcemy, lub potrzebujemy, a nawet o tym nie wiedząc. 16

6 Wnioskowanie semantyczne Znając dziedzinę sieć semantyczną należy rozważyć rodzaj i metody wnioskowania dla niej adekwatne. Narzędziem programowym silnikiem, który jest w stanie jest wnioskować na podstawie zdań, przesłanek, aksjomatów w standardach sieci semantycznej jest Semantic Reasoner. (13) Sposób działania takiego silnika umożliwiają semantyka języków ontologii (OWL) i opisowe (RDFS). OWL jest językiem, który dzięki ontologii pozwala na więcej możliwości wnioskowania niż RDFS. 6.1 Własności i konkstruktory w języku OWL dla wnioskowania W języku OWL występuja własności relacji, które umożliwiają wnioskowanie. Zawierają się tutaj wszystkie własności dla RDF/RDFS. Część z nich jest analogiczna to matematycznych własności relacji, które można opisać następująco: Przechodniość ( Wnioskowanie relacji między dwoma niepowiązanymi węzłami ) Nazwa własności: owl:transitiveproperty. Reguła: (z matematyki) Jeśli zachodzi relacja pomiędzy (x,y) i (y,z), to zachodzi relacja pomiędzy (x,z) Tożsamość ( Wnioskowanie, że dwa węzły są takie same ) Nazwa własności: owl:sameas Reguła: Jeśli 2 węzły spełniają tą samą funkcję, która może być spełniana jednorazowo, to są to są one tym samym węzłem. Symetria ( Wnioskowanie dodatkowej relacji między dwoma związanymi węzłami) Reguła: Jeśli zachodzi relacja (x,y), to zachodzi też relacja (y,x) Relacja dwukierunkowa 17 Antysymetria ( Zapobiega wnioskowaniu na podstawie symetrii ) Reguła: odwrotność symetrii jeśli zachodzi relacja (x,y), to nie zachodzi relacja (y,x) Zwrotność ( Wnioskowanie dodatkowej relacji jednego węzła z samym sobą ) Reguła: Jeśli zachodzi relacja (x,y), to zachodzi także (x,x). Bezzwrotność ( Zapobiega refleksyjności ) Reguła: Jeśli zachodzi relacja (x,y), to nie zachodzi relacja (x,x). Łańcuchy własności ( Wnioskowanie o relacji między dwoma węzłami ) Nazwa własności: owl:propertychain Reguła: Działa podobnie jak przechodniość ale tworzona jest nowa relacja innej nazwy klasy. Jeśli zachodzi relacja pomiędzy R1(x,y) i R1(y,z), to zachodzi relacja R2(x,z). Złożona( Połączenie zwrotności, przechodniości i symetrii ) Reguła: Własności relacji można składać tworząc relacje złożone. 6.2 Własności RDF/RDFS umożliwiające wnioskowanie Przykłady Poniżej przedstawione są przykłady wykorzystania składni RDF/RDFS dla wnioskowania (14):

6.2.1 Dziedziczenie typu przez podklasę - rdfs:subclassof. Aksjomaty: Pies typu Azor, Pies to podklasa Ssak (rdf:type Azor Pies) (rdfs:subclassof Pies Ssak) Wywnioskowane: Azor typu Ssak (rdf:type Azor Ssak) 6.2.2 Zwrotność przez podwłaściwość rdfs:subpropertyof i podklasę rdfs:subclassof Dla każdej właściwości p (rdf:property p) Wywnioskowane: (rdfs:subpropertyof p p) Dla każdej klasy C (rdfs:class C ): Wywnioskowane: (rdfs:subclassof C C) 6.2.3 Wnioskowanie typu przez zakres rdfs:range i domenę rdfs:domain Aksjomaty: domena - Nauczyciel uczy, zakres - uczy Studenta, Jan uczy Tomka. (rdfs:domain uczy Jan) (rdfs:range uczy Student) (teaches Jan Student) Wywnioskowano: Jan typu Nauczyciel, Tomek typu Student (rdf:type Jan Nauczyciel) (rdf:type Tomek Student) 6.2.4 Przechodniość podklasy rdfs:subclassof i podwłaściwości rdfs:subpropertyof Aksjomaty: Pies to podklasa Ssak, Ssak to podklasa Zwierze (rdfs:subclassof Pies Ssak) (rdfs:subclassof Ssak Zwierze) Wywnioskowane: Pies to Podklasa Zwierze (rdfs:subclassof Dog Animal) Analogicznie dla podwłaściwości (właściwości która dziedziczy po właściwości): (rdfs:subpropertyof rodzic przodek) (rdfs:subpropertyof przodek krewny) Wywnioskowano: (rdfs:subpropertyof rodzic krewny) 18

6.3 OWL Własności umożliwiające wnioskowanie - Przykłady OWL dziedziczy po niższej warstwie stosu semantycznego RDFS, które dziedziczy po RDF itd. Podobnie dzieje się z własnościami, które są wstecznie-zgodne OWL obsługuje wszystkie konstruktory z RDF i RDFS i wykorzystuje je do wnioskowania rozszerzonego o poniższe własności (14): 6.3.1 Przechodniość - owl:transitiveproperty Aksjomaty: (rdf:type przodek owl:transitiveproperty) (przodek Jan Tomasz) (przodek Tomasz Adam) Wywnioskowano: (przodek Jan Adam) 6.3.2 Symetria - owl:symmetricproperty Symetrie można uzyskać używając własności odwrotność - owl:inverseof. Aksjomaty: Odwrotnością relacji bycia rodzicem jest posiadanie rodzica, Jolanta to rodzic Marii. (owl:inverseof torodzic marodzica) (torodzic Jolanta Maria) Wywnioskowano: Maria ma rodzica Jolantę. (marodzica Maria Jolanta) 6.3.3 Dziedziczenie rozdzielności - owl:disjointwith Aksjomaty: Napój i Posiłek są rozdzielne. Sok to podklasa Napoju. (owl:disjointwith Posiłek Napój) (rdfs:subclassof Sok Napój) Wywnioskowano: Klasy Posiłek i Sok są rozdzielne. (owl:disjointwith Posiłek Sok) 6.3.4 Wnioskowanie o równowartości - owl:equivalentclass, owl:equivalentproperty Kiedy występuje relacja owl:sameas pomiędzy dwoma klasami, wnioskuje się własność owl:equivalentclass pomiędzy nimi. Gdy owl:sameas występuje między dwoma własnościami to wnioskuje się własność owl:equivalentproperty. Aksjomaty: Człowiek to to samo co Osoba, Człowiek to klasa, Osoba to klasa (owl:sameas Człowiek Osoba) (rdf:type Człowiek rdfs:class) (rdf:type Osoba rdfs:class) 19

Wywnioskowano: Człowiek i Osoba to klasy równowarte. (owl:equivalentclass Człowiek Osoba) 6.3.5 Rozdzielność na podstawie dopełnienia klasy - owl:complementof Wszystkie podklasy są rozdzielne z jej dopełniemiem. Aksjomaty: Dopełnieniem Liczb dodatnich są ujemne. (owl:complementof Dodatnie Ujemne) (rdfs:subclassof Dodatnie Całkowite) Wywnioskowano: Liczby całkowite i Ujemne są rodzielne. (owl:disjointwith Całkowite Ujemne) 6.3.6 Ograniczenie wartości - owl:restriction Jeżeli obiekt jest instancją klasy (posiada typ) rdf:type, posiada wartość owl:hasvalue i ograniczenie owl:restriction, znaczy to, że konkretny typ obiektu może przyjąć wartość tylko zgodną z ograniczeniem. Aksjomaty: Właściwość miesiąc może mieć OgraniczenieSezonuŁowieckiego. OgraniczenieSezonuŁowieckiego to Marzec. Klasa SezonŁowiecki posiwada OgraniczenieSezonuŁowieckiego. (owl:onproperty OgraniczenieSezonuŁowieckiego miesiąc) (owl:hasvalue OgraniczenieSezonuŁowieckiego Marzec) (rdf:type SezonŁowiecki OgraniczenieSezonuŁowieckiego) Wywnioskowano: Wartość właściwości miesiąc SezonuŁowieckiego to Marzec. (miesiąc SezonŁowiecki Marzec) Działa to również w drugą stronę jeżeli obiekt posiada wartość właściwości owl:hasvalue zgodną z ograniczeniem owl:restriction, to wtedy typ obiektu rdf:type spełnia to ograniczenie. Aksjomaty: (owl:onproperty OgraniczenieSezonuŁowieckiego miesiąc) (owl:hasvalue OgraniczenieSezonuŁowieckiego Marzec) (miesiąc SezonŁowiecki Marzec) Wywnioskowano: (rdf:type SezonŁowiecki OgraniczenieSezonuŁowieckiego) 20

6.4 Reasonery Narzędzia programowe typu Reasoner ( reasoning ang. Rozumowanie) to silniki wnioskujące automatyzują proces wnioskowania na podstrawie języka OWL. Zbierają i analizują aksjomaty (gotowe prawdziwe opisy) zebrane w ontologii i klasy, ich instancje, podklasy, nadklasy. W wyniku zadania wnioskowania wykonują klasyfikację istniejących obiektów, przypisują im właściwości, modyfikują i tworzą hierarchie klas zgodnie z własnościami, regułami i ograniczeniami OWL. (15) Dostępnymi istniejącymi zautomatyzowanymi Reasonerami dla OWL są m.in.: ELK jcel FaCT++ HermiT Pellet 6.4.1 Działanie reasonera Reasoner działa na wczytanej uprzednio ontologii z pliku OWL, zbiera informacje dotyczące aksjomatów, klas i ich instancji. Gdy zostanie wywołana metoda klasyfikacji, reasoner wykonuje trzy kroki-testy; 1. NIESPRZECZNOŚĆ - Sprawdza czy istnieje model ontologii czyli struktura relacyjna, która jest zgodna ze wszystkimi aksjomatami z ontologii. Dodatkowo sprawdzane są założenia dotyczące np. wykluczenia istnienia instancji dwóch rozdzielnych klas jednocześnie. Np. Maria nie może być jednocześnie instancją klasy mężczyzna i kobieta. Jeśli próba udaje się bez przeszkód reasoner przechodzi do następnego kroku. 2. SPEŁNIALNOŚĆ - Dla każdego elementu pośród klas, które występują w ontologii reasoner sprawdza czy istnieje model ontologii, w którym znajduje się instancja elementu i struktura relacyjna, która jest zgodna ze wszystkimi aksjomatami ontologii. Jest to krok analogiczny do poprzedniego ale głębszy o sprawdzenie instancji podklas. 3. SUBSUMCJA - Dla każdych dwóch klas, które znajdują się w ontologii, sprawdzane jest czy jedna z klas jest dziedziczy po drugiej i jednocześnie instancją pierwszej z nich jest również instancją drugiej. Sprawdzane jest czy bardziej ogólna klasa jest nadklasą konkretnej klasy w hierarchii. 6.4.2 Podział reasonerów 21

6.4.2.1 Ze względu na obsługiwaną Logikę Deskrypcyjną Logika Deskrypcyjna (DL) jest opartym o zasady logiki sposobem formalizacji wiedzy w postaci klas, relacji i instancji. Opis faktów z danej dziedziny w jednolity sposób umożliwia ich interpretację i automatyczne wnioskowanie. Baza wiedzy zawartej w logice można podzielić na: TBox (terminologia) aksjomaty dotyczące klas i relacji ABox (twierdzenia) aksjomaty dotyczące konkretnych instancji Istnieją reasonery obsługujące wyłącznie TBox, lub obie części. Ponadto język ontologii i reasonery wspierają różne rozszerzenia podstawowego modelu reprezentacji wiedzy (ALC) w zakresie Logiki Deskrypcyjnej. OWL DL to SHOIN(D) SYMBOL NAZWA U Złączenie AL Przecięcie C Uzupełnienie AL Ograniczenie wartości E Kwantyfikator istnienia Q Warunkowe ograniczenie liczby F Ograniczenie funkcji D Ograniczenie typu danych N Ograniczenia liczby O Instancje I Role odwrotne H Hierarchia relacji S Przechodniość relacji Tabela 2 Rozszerzenia DL opracowano na podstawie KRR: Logiki Deskrypcyjne - http://ai.ia.agh.edu.pl/wiki/pl:dydaktyka:krr:lab_dl 6.4.2.2 Ze względu na algorytm działania 1. Kierowane konsekwencją (ang.: consequence-driven) Opierają się na regułach dedukcji z gotowych aksjomatów (16). Reasonery kierowane konsekwencją umożliwiają wywnioskowanie o: Przynależności do klasy: Jeżeli x to instacja klasy C, a C to podklasa D, to można wywnioskować, że x jest instancją klasy D. Równowartności klas: Jeżeli klasa A jest równowarta z klasą B, a B jest równowarta z klasą C, to można wywnioskować, że A jest równowarta C Zawieraniu się klas: Jeżeli przyjęto, że klasy C i D są rozdzielne, a x jest instancją obu C i D, pojawia się sprzeczność. Klasyfikowaniu: Jeżeli przyjęto, że pewne pary właściwość-wartość to wystarczające warunki do przynależności do klasy A, wtedy jeśli obiekt x spełnia te warunki, można wywnioskować, że x musi być instancją klasy A. 22

2. Bazowane na tableau (ang.: tableau-based) Tableau zdjęcie grupy osób, złożone z mniejszych zdjęć. Reasoner Tableau próbuje skonstruować model na podstawie powtarzania 2 pierwszych kroków (niesprzeczności i spełnialności), używając zasad rozszerzających model, aby zgadzał się ze wszystkimi aksjomatami. Jeśli model jest spełnialny, aksjomat zostaje przyjęty, a reasoner przystępuje do kolejnej próby biorąc pod uwagę kolejny z wywnioskowanych aksjomatów. 6.5 Przegląd istniejących reasonerów Poniżej przedstawione są wybrane obecnie istniejące i rozwijane reasonery, które działają w języku OWL. 6.5.1 Pellet Pellet jest popularnym darmowym, dostępnym publicznie narzędziem typu reasoner, opartym na otwartej licencji (Affero General Public License). Firma Complexible Inc. (USA), która jest odpowiedzialna za wsparcie udostępnia oprogramowanie w formie open-source w serwisie GitHub. https://github.com/complexible/pellet Pellet w wersji Incremental wspiera wnioskowanie przyrostowe, które wykorzystuje poprzednie wersje ontologii sprawdzając jak ontologia się zmieniała. Pellet napisany jest w języku programowania Java. 6.5.2 HermiT HermiT został stworzony przez grupę pracowników Uniwersytetu Oksfordzkiego (Wielka Brytania): Boris Motik, Rob Shearer, Birte Glimm, Giorgos Stoilos i Ian Horrocks. Reasoner ten jest napisany w języku Java i oferowany w postaci wolnego oprogramowania na licencji GNU na oficjalnej stronie internetowej: http://www.hermit-reasoner.com/ 6.5.3 FacT++ FacT++ jest propozycją Uniwersytetu Manchester. W fazie początkowej tworzony był również we współpracy z Ian em Horrocks. Otwarty FacT++ jest oparty o licencję LGPL i dostępny jest na platformie Google Code. Powstał w języku C++. http://code.google.com/p/factplusplus/ 6.5.4 jcel Jcel, który obecnie jest w fazie rozwoju przez pracownika Politechniki Drezdeńskiej Juliana Mendez obsługuję Logikę Deskrypcyjną EL. Powstaje w języku Java i posiada licencję LGPL. Autor udostępnia go na portalu GitHub. https://github.com/julianmendez/jcel 23

6.5.5 Zestawienie REASONER LOGIKA ALGORYTM LICENCJA JĘZYK DESKRYPCYJNA PELLET SROIQ(D) Tableau AGPL Java HERMIT SHOIQ+ Hypertableau GNU LGPL Java FACT++ SROIQ(D) Tableau GNU LGPL C++ JCEL EL+ Oparty na regułach GNU LGPL Java Tabela 3 Zestawienie reasonerów 24

7 Przykłady obecnego zastosowania sieci semantycznych 7.1 DBpedia DBpedia (http://wiki.dbpedia.org/) jest projektem mającym na celu oznaczenie, ustrukturyzowanie i powiązanie danych (reprezentacja w postaci RDF) w największej interaktywnej encyklopedii Wikipedii. Rezultatem tego działania jest utworzenie wielkiego grafu reprezentacji wiedzy. Zasada funkcjonowania DBpedii polega na stosowaniu złożonych zapytań zwracających konkretne informacje używając języka SPARQL. W przypadku klasycznej Wikipedii stosuje się jedynie wyszukiwanie na podstawie słów-kluczy. Rys. 9 Graf DBpedii pobrano 15.01.2016 z https://www.w3.org/talks/2012/1108-lod- Rabat/lod-datasets_2011-09-19_colored.png 7.2 BBC Próby wprowadzenia rozwiązań umożliwiających korzystanie z Web 3.0 podjęła się brytyjska korporacja telewizyjna i radiowa BBC (British Broadcasting Channel) wspierająca idee Sieci Semantycznej. Wprowadzono stos semantyczny na danych udostępnionych na portalu. Dziedzinę podzielono na działy tematyczne i udostępniono ontologię przedstawiające strukturę informacji dotyczących: Wiadomości Polityki Programów Muzyki Sportu Życia dzikich zwierząt I wiele więcej 25

Ontologie można pobrać na oficjalnej stronie BBC w dziale Ontologies 7.3 GeoNames GeoNames jest bazą danych dotyczących POI (miejsc i punktów zainteresowań) na Ziemi. Baza zawiera ponad 10 milionów miejsc. Dane te zebrane są z ponad 73 źródeł, ujednolicone i przechowane. Można przeglądać je na mapie, posiadają przypisane: Kategorie Współrzędne geograficzne Nazwy w wielu językach Baza ta jest otwarta i edytowalna. Twórcy udostępniają również darmowe API. Rys. 10 Wrocławski Rynek w GeoNames zrzut ekranu źródło www.geonames.org 15.01.2016 26

8 Podsumowanie zebranej wiedzy Zebrane materiały, analiza pojęć i rozważań pozwoliły mi lepiej zrozumieć pomysł tworzenia i wykorzystania sieci semantycznej. Sieć semantyczna Zbiór ustrukturyzowanych, połączonych danych Ontologie, RDF = stos semantyczny Wnioskowanie inteligentne Klasyfikacja tych danych, uzyskiwanie faktów Reasonery Web 3.0 Sposób korzystania z tych danych WWW = personalny asystent Rys. 11 Sieć semantyczna, wnioskowanie, a Web 3.0 Opracowanie własne Dzięki temu mogłem zaplanować część badawczą pracy dyplomowej. Moim celem będzie wykorzystanie wiedzy dotyczącej metod wnioskowania i technologii sieci semantycznej do zbadania, porównania i wybrania najlepszego z reasonerów silników wnioskowania dostępnych dla języka OWL. 27

9 Środowisko badawcze: 9.1 Oprogramowanie - Protégé: Wybranym przeze mnie oprogramowaniem do przeprowadzenia badań dotyczących wnioskowania w sieci semantycznej jest Protégé w wersji 5.0. Jest to otwarty i darmowy system do zarządzania ontologią utworzony, rozwijany i udostępniony przez uniwersytet Stanford. Celem moich badań jest wypróbowanie i porównanie działania metod wnioskowania inteligentnego. Protégé umożliwia to poprzez instalację i konfigurację reasonerów z wielu projektów i technologii jako wtyczek. Funkcje odpowiadające za edycję ontologiami pozwalają przygotowanie odpowiedniej bazy wiedzy do przeprowadzenia testów. Rys. 12 Interfejs Protégé Zrzut ekranu, 25.10.2015 Protégé jest oprogramowaniem napisanym w języku Java, wykorzystuje OWL API do tworzenia, zarządzania i serializacji ontologii w języku OWL 2.0 zgodnym z koncepcjami W3C, czyli standardami WWW. 9.2 Instalacja reasonerów Instalacja reasonerów w Protégé polega na użyciu odpowiadających im wtyczek w formacie.jar. Wybranymi przeze mnie reasonerami są: Pellet Pellet Incremental HermiT Jcel 28

FacT++ Rys. 13 Wtyczki Protégé Zrzut ekranu, 15.11.2015 Wszystkie użyte przeze mnie reasonery udostępnione są przez ich twórców za darmo na zasadzie otwartej licencji. 9.3 OWLViz Wizualizacja OWL Oprócz podstawowych funkcji Protégé oraz funkcjonalności reasonerów zrozumienie działania ontologii ułatwia jej wizualizacja w postaci grafu. Aby skorzystać z tej możliwości potrzebna jest uruchmienie wtyczki OWLViz. Wizualizacja obejmuje część TBox schemat ontologii klasy, właściwości, typy danych, a nie same instancje i wartości (ABox). OWLViz korzysta z rozwiązań programu Graphwiz. Instalacja tego programu jest wymagana do poprawnego działania wizualizacji. 9.4 Ontologie w Protégé Protégé obsługuje ontologie w standardowym rozszerzeniu.owl. Pliki te można wczytać z dysku, lub wprowadzić odnoszący się do nich url. 29

Rys. 14 Plik.OWL Zrzut ekranu, 15.11.2015 Po wczytaniu ontologii można podejrzeć: Hierarchię klas Własności klas Hierarchię obiektów, ich typy, własności i instancje Oraz wywoływać zapytania języka deskrypcji (DL). Istnieje wiele źródeł ontologii w sieci web. Można rozpatrywać je w zależności od ich wielkości, złożoności, tematyki. 30

10 Przykładowy przebieg testu wnioskowania ontologia family_example.owl Aby reasoner mógł wykonać wnioskowanie potrzebna jest ontologia zawierająca hierarchię klas i instancje konkretnych obiektów. Do przedstawienia przebiegu wykonywania testu wnioskowania wybrałem ontologię family_example.owl utworzoną przez Emily Schwarz. IRI: https://wiki.csc.calpoly.edu/ontologytutorial/family_example.owl 10.1 Hierarchia klas Ontologia przedstawia drzewo genealogiczne rodziny w postaci hierarchi klas. Korzeniem jak w każdej ontologii jest klasa Thing, a dwoma podstawowymi jej podklasami jest Gender Płeć i Person Osoba. 10.1.1 Klasy Podklasami osoby (Person) są: Parent Rodzic Mother Matka Father Ojciec OffSpring Potomstwo Daughter - Córka Son Syn 10.1.2 Właściwości Właściwościami obiektu są: hasgender posiada Płeć hasparent posiada Rodzica haschild posiada Dziecko hassibling posiada Rodzeństwo 10.1.3 Instancje Jest utworzonych 11 instancji klas. Dla płci: MaleGender męska FemaleGender - żeńska Dla osób zawierają imiona i właściwości: Anne Bob Dave Jane Jim Scott Sue 31

Rys. 15 family_example.owl Zrzut ekranu, 15.11.2015 10.2 Wyniki przebiegu wnioskowania na ontologii family_example.owl dla reasonera Pellet Wynikiem działania reasonera Pellet jest przekształcona hierarchia klas i przypisanie niektórych klas dla danych instancji. Czas trwania działania reasonera zapisany zostaje w logu. Rys. 16 log Zrzut ekranu, 15.11.2015 32

Rys. 17 family_example.owl Zrzut ekranu, 15.11.2015 10.2.1 Różnice w jednostkach Protégé umożliwia eksport wywnioskowanych aksjomatów do pliku jako ontologię, a następnie porównanie ontologii oryginalnej i tej wyeksportowanej. Rys. 18 Porównanie Zrzut ekranu, 15.12.2015 Efektem przebiegu działania reasonera jest 16 zmienionych jednostek zarówno klas i ich instancji. 33

10.2.2 Różnice w strukturze hierarchii klas Jak widać na grafie po prawej stronie, klasa Person posiada teraz 2 główne podklasy OffSpring i Parent, które odpowiednio posiadają podklasy Daughter, Son i Father, Mother. Przed wnioskowaniem: Po wnioskowaniu: Rys. 19 family_example grafy Eksport obrazu przez narzędzie OWLViz, 15.12.2015 10.2.3 Różnice dla instancji Instancje (Mary, Anne, Bob, Dave ) również zostały zmodyfikowane, a dokładniej zmianie uległy ich typy (po których klasach dziedziczą) oraz właściwości (w tym przypadku są to relacje między członkami rodziny). Rys. 20 Mary Zrzut ekranu, 15.12.2015 Mary jest jedną z instancji. Na skutek działania reasonera przypisane ma 2 nowe typy (klasy): Daughter i Mother oraz 4 nowe właściwości haschild Jim, haschild Tom oraz hassibling Scott, hassibling Anne. 34

Struktura ontologii wraz z instancjami po wnioskowaniu KLASY INSTANCJE Rys. 21 family_example po wnioskowaniu Eksport obrazu przez narzędzie SOVA, 15.12.2015 Obserwując wyniki wnioskowania reasonera Pellet widać trafne poprawienie struktury ontologii i uzupełnienie jej o nowe właściwości. 35

11 Zbiór ontologii wybranych do wykonania testów. Do przeprowadzenia testów sprawności i szybkości działania reasonerów wybrałem 8 istniejących ontologii zróżnicowanych ze względu na: Rozmiar (ilość aksjomatów, klas i instancji) Logikę Deskrypcyjną (DL) Dziedzinę wiedzy jakiej dotyczy 11.1 Tabela informacji o użytych plikach NAZWA PLIKU FACTS.RDF IRI AKSJOMATY KLASY INSTANCJE DL ROZMIAR [KB] http://owl.m an.ac.uk/20 03/why/late st/facts.rdf DZIEDZINA WIEDZY 84 7 13 ALCIN 9 Socjologia PEOPLE+ PETS.OWL WINE.OWL DOID.OWL SUMO.OWL PIZZA.OWL 587842 4558 86475 SOIF 35962 Wielodziedzinowa 940 100 5 SHOIN 124 Gastronomia UNIV- BENCH.OWL EDAM_1.12.O WL www.cs.ma n.ac.uk/~ho rrocks/isw C2003/Tuto rial/people+ pets.owl.rdf http://www. w3.org/tr/ 2003/PR- owl-guide- 20031209/ wine http://purl.o bolibrary.or g/obo/doid. owl www.adam pease.org/o P/SUMO.o wl https://onto hub.org/piz za/pizza.ow l http://swat.c se.lehigh.ed u/onto/univ -bench.owl http://edam ontology.or g/edam.o wl Tabela nr 4 Pliki użyte do testów 378 60 23 ALCHIN( D) 51 Ogólna 1046 138 206 SHOIN(D) 77 Enologia 108057 9192 0 AL 22091 Medycyna 8762 43 1555 ALEHI+( 683 Akademicka D) 29724 4515 3170 ALCI 2554 Bioinformatyka 36

12 Wyniki przeprowadzonych testów Poniżej przedstawione są wyniki pięciu testów przeprowadzonych na ontologiach przez reasonery: 1. Pellet 2. Pellet Incremental 3. Jcel 4. HermiT 1.3.8.413 5. FaCT++ Ze względu na możliwą rozbieżność wyników w zależności od używanego procesora wszystkie badania zostały przeprowadzone na tej samej maszynie o specyfikacji: Procesor: Intel Core i7-4510u 2.6GHz RAM: 8GB Dysk: SSD (6 Gb/s) System Operacyjny: Windows 10 x64 Protégé w wersji: 5.0.0-beta-21 Dane zebrane w tabelach dotyczą czasu przebiegu i aksjomatów, które zostały dodane, bądź zmodyfikowane przez reasoner i są przedstawione w zestawieniu z oryginalnymi metrykami ontologii (przed wnioskowaniem). Błąd oznacza, że na skutek błędu, lub wyjątku program nie mógł przeprowadzić wnioskowania ze względu na: Niezgodność logiki deskrypcyjnej Przepełnienie pamięci Błąd przy partycjonowaniu danych 12.1 Wyniki testów na ontologii #1 facts.rdf Wprowadzenie: Facts jest prostą ontologią zawierającą fakty dotyczące osób na uczelni. Zawiera klasy takie jak osoba, nauczyciel, student i informuje o ich właściwościach i rozdzielności. W wyniku wnioskowania dowiadujemy się kto jest czyim przyjacielem. Hierarchia klas: Rys. 22 facts.rdf Eksport obrazu przez narzędzie OWLViz, 23.12.2015 37

Wyniki: FACTS.RDF ORYGINALNY PELLET PELLET INCREMENTAL JCEL HERMIT FACT++ CZAS PRZEBIEGU [MS]: 197 291 błąd 191 32 AKSJOMATY: 84 11 11 11 11 AKSJOMATY LOGICZNE: 34 5 5 5 5 KLASY: 7 6 6 6 6 WŁAŚCIWOŚCI 2 0 0 0 0 OBIEKTÓW: WŁAŚCIWOŚCI 0 0 0 0 0 DANYCH: LICZBA INSTANCJI: 13 0 0 0 0 LOGIKA DESKRYPCYJNA: LICZBA AKSJOMATÓW PODKLAS: AKSJOMATY KLAS RÓWNOWARTYCH AKSJOMATY KLAS ROZŁĄCZNYCH ALCIN Tabela nr 5 Wyniki wnioskowania facts.rdf 5 5 5 5 5 0 0 0 0 0 1 0 0 0 0 350 facts.rdf 300 291 250 200 197 191 150 100 50 0 32 11 11 11 11 Pellet Pellet Incremental HermiT Fact++ Czas przebiegu [ms]: Aksjomaty: Wykres nr 1 Wyniki wnioskowania facts.rdf Komentarz: Wszystkie reasonery poza jcel wywnioskowały 11 aksjomatów. Fact++ zrobił to najszybciej - w 32ms. Jcel nie zadziałał w logice deskrypcyjnej ALCIN. Hierarchia klas nie uległa zmianie. 38

12.2 Wyniki testów na ontologii #2 people+pets.owl Wprowadzenie: People+pets.owl jest ontologią opisującą gatunki zwierząt i typów oraz zawodów ich ewentualnych właścicieli. W wyniku wnioskowania można otrzymać informacje dotyczące zależności między wyżej wymienionymi grupami. Hierarchia klas przed wnioskowaniem: Rys. 23 Hierarchia klas people+pets.owl przed wnioskowaniem Eksport obrazu przez narzędzie OWLViz, 23.12.2015 39

Wyniki: PEOPLE+PETS.OWL ORYGINALNA PELLET PELLET INCREMENTAL JCEL HERMIT FACT++ CZAS PRZEBIEGU [MS]: 566 744 błąd 709 39 AKSJOMATY: 378 117 117 119 119 AKSJOMATY 109 59 59 60 60 LOGICZNE: KLASY: 60 56 56 56 56 WŁAŚCIWOŚCI 14 5 5 6 6 OBIEKTÓW: WŁAŚCIWOŚCI 1 0 0 0 0 DANYCH: LICZBA 23 0 0 0 0 INSTANCJI: LOGIKA ALCHIN(D) DESKRYPCYJNA: LICZBA AKSJOMATÓW PODKLAS: 33 55 55 55 55 Tabela nr 6 Wyniki wnioskowania people+pets.owl 800 700 744 people+pets.owl 709 600 566 500 400 300 200 100 0 117 117 119 119 Pellet Pellet Incremental HermiT Fact++ 39 Czas przebiegu [ms]: Aksjomaty: Wykres nr 2 Wyniki wnioskowania people+pets.owl 40

Rys. 24 Hierarchia klas people+pets.owl po wnioskowaniu Eksport obrazu przez narzędzie OWLViz, 23.12.2015 Komentarz: Pellet i jego wersja Incremental wywnioskowały 117 aksjomatów, HermiT i Fact++ - 119. Fact++ zrobił to najszybciej - w 39ms. Jcel nie zadziałał w logice deskrypcyjnej ALCHIN(D). Tym razem hierarchia klas uległa zmianie, ale nie różniły się jej wersje w zależności od użytego reasonera. Ciekawym przypadkiem po wnioskowaniu jest to, że podklasą właściciela kotów (cat owner) stała się staruszka (old lady). 41

12.3 Wyniki testów na ontologii #3 wine.owl Wprowadzenie: Wine.owl jest ontologią opisującą wiele gatunków win, regionów, z których pochodzą i rodzajów posiłków, do których pasują. W sumie posiada 138 klas. Hierarchia klas przed wnioskowaniem jest bardzo szerokim drzewem posiada wiele podklas na 1 poziomie. Wyniki: WINE.OWL ORYGINALNA PELLET PELLET INCREMENTAL CZAS PRZEBIEGU [MS]: JCEL HERMIT FACT++ 11491 11942 błąd 28435 4336 AKSJOMATY: 1046 343 343 345 345 AKSJOMATY 889 206 206 207 207 LOGICZNE: KLASY: 138 132 132 132 132 WŁAŚCIWOŚCI 16 7 7 8 8 OBIEKTÓW: WŁAŚCIWOŚCI DANYCH: 1 0 0 0 0 LICZBA INSTANCJI: 206 0 0 0 0 LOGIKA SHOIN(D) DESKRYPCYJNA: LICZBA AKSJOMATÓW PODKLAS: Tabela nr 7 Wyniki wnioskowania wine.owl 228 197 197 197 197 30000 wine.owl 28435 25000 20000 15000 11491 11942 10000 5000 4336 0 343 343 345 345 Pellet Pellet Incremental HermiT Fact++ Czas przebiegu [ms]: Aksjomaty: Wykres 3 Wyniki wnioskowania wine.owl 42

Fragmenty hierarchii klas przed i po wnioskowaniu: Przed wnioskowaniem: Po wnioskowaniu: Rys. 25 Fragmenty grafów hierarchii klas wine.owl Eksport obrazu przez narzędzie OWLViz, 27.12.2015 Komentarz: Pellet i jego wersja Incremental wywnioskowały 343 aksjomatów, HermiT i Fact++ po 2 więcej. Fact++ zrobił to najszybciej - w 4335ms. Jcel nie zadziałał w logice deskrypcyjnej SHOIN(D). Ponownie hierarchia klas uległa zmianie i nie różniły się jej wersje w zależności od użytego reasonera. Po wnioskowaniu w hierarchii klas pojawiło się wiele nowych zależności pomiędzy klasami i mocno zmieniła się jej struktura na głębszą i bardziej złożoną. 43

12.4 Wyniki testów na ontologii #4 doid.owl Wprowadzenie: Rys. 26 DO pobrano 27.12.2015 z http://obofoundry.org/ontology/doid.html Doid.owl jest otwartą ontologią biomedyczną zawierającą klasyfikację danych na temat chorób ludzkich. Zawiera ponad 100tys aksjomatów i ponad 9tys klas, nie posiada natomiast ich instancji, co odróżnia ją od pozostałych testowanych ontologii. Hierarchia klas jest płytkim i bardzo szerokim drzewem ciężko przedstawić ją za pomocą grafu. Wyniki: DOID.OWL ORYGINALNA PELLET PELLET INCR. CZAS PRZEBIEGU [MS]: JCEL HERMIT FACT++ 641 błąd 1132 1099 371 AKSJOMATY: 108057 13853 13853 13853 13853 AKSJOMATY 7032 7032 7032 7032 7032 LOGICZNE: KLASY: 9192 6821 6821 6821 6821 WŁAŚCIWOŚCI 15 0 0 0 0 OBIEKTÓW: WŁAŚCIWOŚCI DANYCH: 0 0 0 0 0 LICZBA INSTANCJI: 0 0 0 0 0 LOGIKA AL DESKRYPCYJNA: LICZBA AKSJOMATÓW PODKLAS: Tabela nr 8 Wyniki wnioskowania doid.owl 7032 7032 7032 7032 7032 44

1200 doid.owl - Czas przebiegu [ms]: 1132 1099 1000 800 600 641 400 371 200 0 Pellet jcel HermiT Fact++ Wykres nr 4 Wyniki czasowe wnioskowania doid.owl Komentarz: Pellet, HermiT, Fact++ i jcel wykonały zadanie klasyfikacji w przeciwieństwie do Pellet Incremental, przy działanie pojawił się wyjątek błąd przy partycjonowaniu zebranych danych. Hierarchia klas pozostała drzewem o wiele szerszym niż głębokim. 12.5 Wyniki testów na ontologii #5 SUMO.owl Wprowadzenie: SUMO.owl (Suggested Upper Merged Ontology) jest największą obecnie istniejącą otwartą ontologią, a właściwie połączeniem wielu ontologii z różnych dziedzin tj.: Słownictwo (na podstawie WordNet) Geografia Militaria Prawo Muzyka Jedzenie I wiele więcej Posiada prawie 600tys. Aksjomatów i 5tys klas. 45

Wyniki: SUMO.OWL ORYGINALNA PELLET PELLET INCREMENTAL CZAS PRZEBIEGU [MS]: JCEL HERMIT FACT++ błąd błąd błąd błąd 301443 AKSJOMATY: 587842 9789 AKSJOMATY 175208 5237 LOGICZNE: KLASY: 4558 4552 WŁAŚCIWOŚCI 778 0 OBIEKTÓW: WŁAŚCIWOŚCI DANYCH: LICZBA INSTANCJI: LOGIKA DESKRYPCYJNA LICZBA AKSJOMATÓW PODKLAS: 0 0 86475 0 5330 5225 Tabela nr 9 Wyniki wnioskowania SUMO.owl Komentarz: Jedynie Fact++ zdołał po 30 sekundach wykonać zadanie wnioskowania. W przypadku pozostałych reasonerów wystąpił błąd przepełnienia pamięci. Zmodyfikowano prawie 10tys aksjomatów i niemalże wszystkie klasy. 46

13 Podsumowanie wyników 13.1 Porównanie pod względem niezawodności kryterium jakościowe W sumie wykonano 25 zadań wnioskowania resonerami wszystkimi pięcioma na każdej z 5 wybranych ontologii. Poniższe zestawienie przedstawia ilokrotnie zadanie przebiegło pomyślnie. 100% Niezawodność 0 90% 1 1 80% 2 70% 60% 4 50% 5 40% 4 4 30% 3 20% 10% 0% 1 Pellet Pellet Incremental jcel HermiT Fact++ Zadania wykonane pomyślnie Zadania zakończone błędem Wykres nr 5 Niezawodność Fact++ jako jedyny wykonał wszystkie 5 zadań wnioskowania zadziałał na każdej ontologii niezależnie od jej rozmiaru, formatu, czy zastosowanej Logiki Deskrypcyjnej. 47

13.2 Porównanie pod względem ilości wywnioskowanych aksjomatów kryterium ilościowe Niestety na podstawie z żadnej z ontologii zadania wnioskowania nie wykonało wszystkie 5 reasonerów. Jako, że jcel zadziałał tylko na jednej (diod.owl - gdzie wszystkie sprawne reasonery osiągnęły ten sam wynik), a pozostałe na zbiorze 3 ontologii postanowiłem podsumować ilość nowych aksjomatów na podstawie właśnie tych ontologii: wine.owl, people+pets.owl, facts.rdf. 500 450 400 350 300 250 200 150 100 50 0 Wywnioskowane aksjomaty 11 11 11 11 117 117 119 119 343 343 345 345 Pellet Pellet Incremental HermiT Fact++ Aksjomaty wine.owl Aksjomaty people+pets.owl Aksjomaty facts.rdf Wykres nr 6 Wywnioskowane aksjomaty. Hermit i Fact++ wywnioskowały w sumie 475 aksjomatów, a obie wersje Pellet 343. W przypadku ontologii wine.owl różnice dotyczą aksjomatów madeintowine (utworzone i jego właściwości odwrotność madefromfriut (utworzone z owoców) trafne aksjomaty dotyczące utworzenia wina. W przypadku people+pets.owl pojawił się również wniosek, że jeśli zwierzę (is_pet_of) jest zwierzęciem należącym do) kogoś to ta osoba posiada właściwość lubi (likes) ten typ zwierząt. Drugi wniosek też można ocenić jako celowy, więc owe dodatkowe aksjomaty jeśli nie powodują niespójności wzbogacają ontologie. Zwycięzcami porównania są zatem HermiT i Fact++. 48

13.3 Porównanie pod względem szybkości działania kryterium wydajnościowe Z tych samych powodów jak w powyższym porównaniu zwycięzcę można ustalić na podstawie porównania 3 ontologii. 30000 Czas przebiegu wnioskowania [ms] 28435 25000 20000 15000 11491 11942 10000 5000 0 197 566 291 744 191 709 32 Pellet Pellet Incremental HermiT Fact++ 39 4336 facts.rdf people+pets.owl wine.owl Wykres nr 7 Czas przebiegu wnioskowania W zestawieniu czasów przebiegu wnioskowania reasoner Fact++ jest zdecydowanym zwycięzcą zarówno sumując wszystkie czasy, jak i biorąc pod uwagę każdy z osobna. 13.4 Podsumowanie Zwycięzcą spośród wszystkich kryteriów jakościowego, ilościowego i wydajnościowego jest reasoner Fact++. Reasoner ten zadziałał w każdym przypadku, wywnioskował najwięcej aksjomatów i zrobił to najszybciej. Konkurencyjne reasonery to Hermit i Pellet w obu wydaniach. Jcel, który zadziałał tylko raz nie osiągając przy tym niskiego czasu pokazuje to, że jest obecnie w trakcie początkowego rozwoju. Tematyka dziedziny nie miała wpływu na wyniki. Najstotniejszymi czynnikami była złożoność struktury klas i jej rozmiar oraz ilość instancji. 49

14 Zainteresowanie tematem Sieci Semantycznych Wiedząc, że idea Sieci Semantycznej i Web 3.0 powstała ok. 2001 roku. (2001 to rok publikacji artykułu Tim a Berners-Lee The Semantic Web należy zadać pytanie na ile idea przyjęła się pośród użytkowników, którzy są obecnie największymi twórcami treści internetowych. 14.1 Wykresy Google Trends. Google Trends jest graficzną reprezentacją statystyk wyszukiwania konkretnych haseł w wyszukiwarce Google. Postanowiłem sprawdzić jak rysowało się zainteresowanie na przestrzeni lat hasłem semantic web i web 3.0. Rys. 26 Zrzut ekranu z aplikacji webowej Google Trends web 3.0, semantic web https://www.google.pl/trends/ 15.01.2016 Analizując powyższy wykres widać: Wzrost ok. rok 2007 i spadek po 2011 zainteresowania hasłem web 3.0 kolor niebieski Spadek zainteresowania hasłem semantic web na przestrzeni lat: 2008-2015 kolor czerwony Po roku 2009 obie linie są częściowo skorelowane. 50