lod-datasets_2011-09-19_1000px

    Jak to często bywa, znalazłem w necie coś ciekawego. Tym razem jest to koncepcja Semantic Web. Zamierzam coś niecoś o tym napisać, aby jednak móc bawić sie w te sprawy, zacznę od krótkiego wpisu na temat instalacji Open Link Virtuoso Server. Jest to baza danych czy wręcz platforma aplikacyjna, wyposażona w hybrydowy motor baz danych oraz dużą liczbę rozmaitych api i konektorów od wbudowanego webserwera do obsługi z 20 protokołów sieciowych jak WebDAW, SOAP i inne tego typu rzeczy. Słowem jest t produkt zapewniający dużą łatwość jeśli chodzi o możliwość integracji. Ja używałem go wyłącznie w temacie któremu chce poświęcić tu kilka wpisów – mianowicie Semantic Web – i w tym kontekście nie będę opisywał wszystkich opcji i możliwości jakie samo oprogramowanie posiada. Właściwie nie napisze o tym prawie nic, zaś zainteresowaniach odsyłam do strony producenta i Wikipedii. Nadmienię tylko że oprogramowanie posiada darmową wersję Open Source i wersję komercyjną z wsparciem itp.

    Używam Linux Mint, i w moim przypadku instalacja sprowadzała się do wyszukania słowa virtuoso w katalogu oprogramowania w Synapticu i zaznaczeniu kilku czekboksów. Następnie wydałem polecenie install selected i po 10 minutach miałem działający serwer Open Link Virtuoso w wersji 6.1. Ci którzy używają innych dystrybucji Linuxa z łatwością znajdą oprogramowanie w swoich repozytoriach lub na koniec mogą dodać repozytoria Open Link Virtuoso jak opisano tutaj! Ci z czytelników którzy z jakichś powodów pozostają na przestarzałych platformach jak Windows, zmuszeni sa do pobrania plików z programami instalacyjnymi z internetu, i wykonania instalacji ( pamiętajmy – nadal dystrybucja oprogramowania w postaci plików wykonywalnych jest podstawowym źródłem propagacji wirusów i backdoorów. To najgorsza metoda instalacji oprogramowania jaka może istnieć – a jej istnienie wynika wyłącznie z faktu że systemy Microsoft działają tak jakby internet nie istniał).

    W moim przypadku instalacja przebiegła bezproblemowo, podałem hasło dba dla administratora systemu i serwer był od razu dostępny. Dla osób zainteresowanych w poznaniu tej platformy polecam zainstalować raczej więcej niż mniej pakietów – do instalacji poza serwerem sa także paczki z dokumentacją i demonstracyjną bazą danych itp. Dla celów tych wpisów, wystarczy jednak właściwie to co w podstawowej paczce.

    Konfiguracja serwera, choć od razu gotowa i działająca, warta jest odrobiny uwagi. Plik konfiguracyjny znajduje sie w katalogu /etc/virtuoso-opensource-6.1 i nazywa się virtuoso.ini. Opis jego zawartości można znaleźć tutaj . W paczkach dodatkowych znajdują się narzędzia takie jak isql-vt który umożliwia prace z linii komend, interfejs webowy pozwalający na prace przez przeglądarkę, czy tak zwany conductor który pozwala przez przeglądarkę administrować serwerem. Właściwie nie wprowadzałem żadnych zmian w konfiguracji poza jedną. Domyślnie serwer ma restrykcyjnie ustawione ścieżki w których można operować poprzez rozmaite interfejsy, co uniemożliwia np. zapis plików z wynikami query w dogodnych katalogach. Dlatego w pliku konfiguracyjnym virtuoso.ini dodałem katalog /home do zmiennej DirsAllowed, oraz zrestartowałem serwis. Oczywiście każdy powinien sobie skonfigurować te rzeczy wg. własnego uznania, a z pewnością w wypadku serwerów należy rozważyć tu kwestie bezpieczeństwa itp. W wypadku instalacji testowej pewna doza otwartości ułatwia jednak prace.

Połączenie za pomocą isql-vt wymaga konfiguracji w pliku odbc.ini, a jest ona w moim wypadku następująca:

[VOS]
Driver = /usr/lib/odbc/virtodbc.so
Description = Virtuoso OpenSource Edition
Address = localhost:1111

    W tym momencie możemy połączyć sie do serwera czy to przez interface webowy w przeglądarce za pomocą adresu http://localhost:8890/conductor/ czy to za pomocą isql-vt:

isql-vt 1111 dba hasło

     W tym miejscu zaznaczę od razu, że Ci z czytelników którzy chcą jedynie zapoznać się z samą koncepcją oraz wymyślić kilka własnych zapytań, a nie chcą tracić czasu i zasobów na instalację dedykowanego serwera, mogą użyć w celach testowych niezwykle ciekawych i dostępnych zasobów w internecie. Zaletą tego podejścia jest to że można zacząć natychmiast, i bez jakiejkolwiek instalacji u siebie. Gorąco polecam zabawę tym zasobem. Jest to tak zwany endpoint umożliwiający odpytywanie gigantycznej bazy danych Wikipedii, za pomocą języka sparql – bazy danych realizującej koncepcję Semantic Web. Baza ta pracuje pod motorem Virtuoso. W szczególności obrazek który otwiera ten wpis pochodzi właśnie z tej strony, zaś jego autorami są Richard Cyganiak (DERI, NUI Galway) and Anja Jentzsch (HPI) . Nota bene, jest to pierwszy przypadek że obrazek ilustrujący tego bloga nie jest mojego autorstwa ( chyba że wliczymy screenshot z video trailera Stalingrad, jako twór cudzy ;-)

    Instalując własny serwer zyskujemy możliwość pracy z własnymi danymi, w szczególności możemy pobrać z internetu dane udostępniane przez jeden z kilku serwisów. W dalszej części będziemy posługiwać się danymi z projektu Gutenberg, zaś jak je zaimportować do Virtuoso opiszę w następnym wpisie.

    Jesteśmy właściwie gotowi do użycia serwera. Kolejnym krokiem jest wykonanie importu danych. Zanim jednak napisze coś na ten temat, przedstawię w następnym wpisie koncepcję Semantic Web.