OWL? Czy to jest jadalne?

1.5K 78 8
                                    

Dzień dobry, cześć i czołem, Azie się kłania – kto czytuje moje narzekajniki, temu się przedstawiać nie muszę, kto nie czytuje... temu polecam, bo to właśnie dzięki nim powstał pomysł na ten tutorial! 

No dobra, przedstawiłam się, ale co powinnam o sobie powiedzieć, żebyś nie miał wątpliwości, że dobrze trafiłeś? Może idźmy w tym kierunku: bawię się w pisanie opowiadań od około czternastu lat, zaś od trzech lat siedzę na Wydziale Informatyki i pilnie studiuję, zaś za rok staję w obronie mojej jeszcze nietkniętej klawiaturą inżynierki. Na pewnych zajęciach mieliśmy zrobić bazę wiedzy w WebProtege za pomocą OWL. Oczywiście było „kurdeee, co ten facet jeszcze nam wymyśli do roboty?!", jednak Azie usiadła, popatrzyła... i zobaczyła w tym ogromny potencjał na narzędzie wspomagające pisanie. I to narzędzie wbrew pozorom nie aż tak groźne i skomplikowane, jak się na pierwszy rzut oka wydaje. Aktualnie sama z niego korzystam i chociaż zajmuje mi to masę czasu (bo lubię bawić się w naprawdę drobne szczegóły), to chyba jeszcze nigdy nie miałam do czynienia z metodą planowania, która dawałaby mi tak świetne efekty, bo... po raz pierwszy tak naprawdę chce mi się robić te plany. Bo na rezultaty po prostu cholernie miło się patrzy.

Jeśli czegoś nie zrozumiesz – śmiało, napisz komentarz, spróbuję rozjaśnić Ci tę kwestię innymi słowami.

Jeśli natomiast trochę bardziej siedzisz w temacie technologii, nie oburzaj się, jeśli w którymś momencie uznasz, że tłumaczę rzeczy oczywiste; nie są one oczywiste dla każdego i nie będę tych osób z tego powodu pomijać, ponieważ uważam, że tego typu poradniki powinny być jak najbardziej przystępne dla wszystkich.

Zacznijmy na luzie: suchym żarcikiem, a potem przechodzimy już do rzeczy.

Dawno, dawno temu był sobie młody człowiek, który obiecał sobie zostać wielkim pisarzem. Mówił: „Chcę pisać rzeczy, które będzie czytał cały świat, rzeczy, które poruszą ludzi aż do głębi, rzeczy, które będą sprawiały, że będą krzyczeć, płakać, zwijać się z bólu i wściekłości!"
Teraz pracuje on dla Microsoftu pisząc komunikaty o błędach.

*badum tss*

Dobra, jedziemy z tematem. Teraz trochę nerdowskiego ględzenia.

Najpierw może zdefiniujemy, co to właściwie jest OWL. Wbrew tytułowi tego poradnika, nie ma to absolutnie nic wspólnego z sowami, ale wykorzystałam grę słów, bo czasem próbuję być zabawna.

OWL to skrót od Ontology Web Language. Jak sama nazwa wskazuje, jest to język. Jego składnia jest oparta na XML-u, który nie jest stricte językiem programowania (chociaż niektórzy bardzo brzydko określają go w ten sposób), tylko językiem znaczników – czyli specyficznym sposobem zapisu, który pozwala przedstawić jakieś dane w formie struktury. 

Bardziej po ludzku: chcemy coś załatwić w urzędzie. Mamy do wyboru wersję analogową, czyli idziemy na miejsce, dostajemy papierek i go wypełniamy, lub wersję cyfrową, czyli wypełniamy formularz on-line lub pobieramy go i wypełniamy na własnym komputerze. Wersja cyfrowa prawdopodobnie będzie stworzona za pomocą XML-a (oczywiście pomijamy tu dokumenty w formacie .doc czy innym .rtf, bo to są pliki tekstowe, które edytujemy bezpośrednio w programie. Dokumenty bazujące na XML-u to formularze w pełnym tego słowa znaczeniu, zawierające często różne rubryki, rozwijane opcje do wyboru itp.; oczywiście można stworzyć je również za pomocą zwykłego kodu HTML, jednak XML jest zdecydowanie bardziej dedykowany do takich rzeczy). 

XML to też często integralny element stron internetowych czy aplikacji; odwołania do XML-a możemy znaleźć nawet w kodzie źródłowym Wattpada.

XML to też często integralny element stron internetowych czy aplikacji; odwołania do XML-a możemy znaleźć nawet w kodzie źródłowym Wattpada

Oops! This image does not follow our content guidelines. To continue publishing, please remove it or upload a different image.

No dobra, ale OWL ma tylko składnię opartą na XML-u. Co z semantyką, czyli tym, o czym właściwie ten język ma opowiadać? Ona oparta jest na logice opisowej, którą chyba najładniej przedstawia ten obrazek:

 Co z semantyką, czyli tym, o czym właściwie ten język ma opowiadać? Ona oparta jest na logice opisowej, którą chyba najładniej przedstawia ten obrazek:

Oops! This image does not follow our content guidelines. To continue publishing, please remove it or upload a different image.

Logika opisowa więc, jak sama nazwa wskazuje, zajmuje się opisywaniem logicznych zależności i przynależności do danych grup. Przeważnie przedstawia się to w formie równań, jednak spokojnie, żadnych pisać nie będziemy. Wystarczy nam, że już wiemy, na czym mniej więcej opiera się OWL i orientujemy się, do czego mniej więcej służy.

Za pomocą OWL tworzy się ontologie – może coś Wam świtać, bo to słowo na pewno padło na lekcji polskiego, kiedy omawialiście antyk. Ontologia to zasadniczo dziedzina filozofii, którą dosłownie można opisać jako „naukę o wszystkim, co jest" i w ontologii zawiera się na przykład pytanie o to, jak powstał Wszechświat. Informatyczna definicja tego słówka nie jest wcale tak odległa; ontologią może i nie określamy nauki jako takiej, tylko zbiór uporządkowanych zasad i zależności logicznych dotyczących wszystkiego: jamnik jest psem, pies jest ssakiem, ssak jest zwierzęciem i tego typu rzeczy. Inaczej mówiąc, ontologia to wyznaczanie dokładnej ścieżki, według której można krok po kroku określić, że ten nasz przykładowy jamnik zalicza się do ogółu organizmów żywych i że ogół organizmów żywych zawiera w sobie między innymi jamniki. Tak jak ontologia filozoficzna szuka przyczyny powstania Wszechświata, tak ontologia informatyczna szuka przyczyny, dlaczego jamnik... jest.

Teoretycznie można się mordować z pisaniem naszej ontologii za pomocą kodu, ale po kiego grzyba nam to, skoro mamy do dyspozycji program, któremu powiemy, jak nasz kod ma działać, a on wygeneruje go automatycznie i bezbłędnie? Zapraszam więc teraz do właściwej części tutorialu.

Poka sowę, czyli planowanie opowiadania za pomocą narzędzia OWLWhere stories live. Discover now