Ontologia SemWeb2014-SMEOntology-Padykula 2.1.1
Transkrypt
Ontologia SemWeb2014-SMEOntology-Padykula 2.1.1
Ontologia SemWeb2014-SMEOntology-Padykula 2.1.1. Zakres ontologii Struktura organizacyjna i hierarchiczna firmy 2.1.2. Pytania Jakie osoby mają bezpośrednią kontrolę nad osobą X? Jakie osoby mają okazję współpracować z osobą X? Do jakiego działu należy osoba X? Pod jaki dział podpada dział Y? Jakie działy zawiera dział Y? 2.2.2. Ponowne użycie Upper-Level Process Ontology http://www.ip-super.org/ontologies/process/upo/v2.0.1 Person, OrganisationUnit W praktyce niestety okazało się, że chyba nie ma sposobu na 'podkradanie' fragmentów ontologii. 2.3.1. Ważne terminy Person (w zamierzeniu 'podkradana' z UPO), OrganisationUnit (w zamierzeniu 'podkradana' z UPO; to, co wstępnie nazywałem 'działem'), Senior, Regular, Junior, Intern, Creation, Support&Maintenance, Operations Autonomy/responsibility, can be described as cooperates with, reports to, leads, works in, supervises 2.5.2. Problemy z cechami Cokolwiek z Domain może być w relacji z czymkolwiek z Range – nie da się na przykład stwierdzić, że Klasa1 może być w relacji R z Klasą2 i Klasą3, a Klasa2 tylko z Klasą3. Według tutoriala w Protege powinien być jakiś typ wyliczeniowy o nazwie Symbol, ale WebProtege powiedział jedynie 'Symbol does not exist', a podpowiedzi nie sugerują niczego sensownego ani dla symbol, ani enumeration (ani fragmentów tych fraz). Stworzyłem nowy typ danych dla range, ale nigdzie nie widzę możliwości doprecyzowania go w jakikolwiek sposób. Można używać na przykład typów z xsd, ale to nijak nie wyczerpuje nawet przeciętnej fantazji. 2.6. Tworzenie instancji Niestety podczas tworzenia instancji WebProtege uparcie glitchowało się i w oknie z instancjami usiłowało listować instancje dla jednej i tej samej instancji, na której się zawieszało, zamiast dla klas. Dlatego ostatecznie dodałem ich [instancji] względnie mało oraz mało zależności pomiędzy nimi, bo praktycznie co druga-trzecia operacja z nimi wymagała zamknięcia i ponownego otwarcia projektu. WebProtege szczególnie upodobał sobie jedną instancję Creation, Graphics team i uparcie próbował wyświetlać instancje tejże instancji. 2.7.1. Refactoring ontologii Tutorial sugeruje spięcie ze sobą relacji lustrzanych, ale w narzędziu nie widzę nigdzie takiej opcji, dlatego na przykład reportsTo i supervises są dwiema zupełnie różnymi i niezależnymi relacjami. Najbardziej sensownym miejscem na oznaczenie relacji jako zwrotnej w parze z inną byłoby Annotations, ale podpowiedź edytora nie reaguje ani na inverse, ani na mirror, ani na reflexive (ani na ich fragmenty). 3.4. Krótka refleksja o życiu, wszechświecie i całej reszcie procesie rozwijania ontologii Responsywność interfejsu WebProtege jest porównywalna z responsywnością systemów operacyjnych na komputerach w niektórych legendarnych laboratoriach (a.k.a. trupiarniach) na AGH, niezależnie od sprzętu (prawdopodobnie ktoś napisał go [interfejs] tak, że każda akcja musi komunikować się z serwerem). Przy uczeniu się czegoś zupełnie od nowa dobrze jest mieć możliwość jak najwięcej klikać, pisać i eksperymentować, WebProtege zdecydowanie nie ułatwia takiego empirycznego podejścia. Poszczególne zakładki zarówno zakładki jak i elementy w zakładkach łatwo rozsynchronizowują się między sobą i co gorsza nie ma jakiegoś sposobu na proste zsynchronizowanie ich z powrotem. Kiedy na przykład próbuję zmienić nazwę klasy, to nie zmienia się ona w drzewie klas, a w końcu synchronizuje się tak, że to do pola edycji klasy (gdzie była nowa nazwa klasy) trafia nazwa z drzewa (która była starsza). Praca z instancjami jest praktycznie niemożliwa, edytor nonstop blokuje się na próbie wyświetlenia instancji dla instancji i jedynym sposobem na edycję czegoś związanego z instancjami (dopóki edytor znów się nie zablokuje, co zazwyczaj następuje szybciej niż najszybszy nokaut Gołoty) to załadowanie projektu od nowa. Opcje udzielania dostępu przy wykluczeniu ogólego dostępu nie chcą się zapisać (tj. mogę dodawać sobie kogo chcę do upoważnionych do oglądania ontologii, ale później to i tak się resetuje, niezależnie od tego, ile bym czekał). Podsumowując: gdybym był zmuszony do budowania kolejnej ontologii, usprawniłbym ten proces przede wszystkim przez znalezienie choć trochę mniej zawodnego narzędzia. Explicit feedback: Zbierając wszystkie aluzje z całego tekstu w jednym miejscu – nie, WebProtege zdecydowanie nie podoba mi się jako narzędzie do czegokolwiek (chyba że do badania ludzkiej cierpliwości). Działa tak, jakby był pisany 'na odwal' przez studenta czwartego-piątego roku (pierwszakowi jeszcze by przynajmniej chociaż trochę zależało). Jest beznadziejny zarówno na poziomie wykonawczym (tych bugów nikt chyba nawet nie próbował zamieść pod dywan), jak i koncepcyjnym (nie wierzę, że dobry pomysł na implementację da się tak równomiernie i systematycznie źle wprowadzić w życie) implementacji.