Spis treści

Wprowadzenie

Czym jest SemanticWiki

Semantic MediaWiki (SMW) jest to rozszerzenie MediaWiki, które pozwala na lepsze wyszukiwanie, organizowanie, tagowanie, przeglądanie, ocenianie oraz udostępnianie stron i artykułów wiki. W porównaniu do tradycyjnego wiki, które zawiera tylko tekst którego komputer nie jest w stanie ani zrozumieć ani przetworzyć, SMW dodaje semantyczne adnotacje, które pozwalają wiki na funkcjonowanie jako współpracująca baza danych. Semantic MediaWiki zostało po raz pierwszy zaprezentowane w 2005, i jest obecnie rozwijane przez dziesięciu developerów, a także używane na setkach stron internetowych. W dodatku zostało przygotowane wiele rozszerzeń możliwości samej wiki, a także mechanizmów edycji, przeglądania oraz wyświetlania danych przechowywanych w SMW.

Wiki stały się świetnym narzędziem zbierania oraz dzielenia się wiedzą w internetowej społeczności. Ta wiedza składa się głównie z tekstu oraz plików multimedialnych, przez co jest łatwo dostępna dla czytelników. Choć wiki jest świetne w przechowywaniu i wyświetlaniu indywidualnych faktów, jednak są one mniej użyteczne w przypadku większych zapytań czy informacji agregowanych. Na przykład, zastanówmy się nad takim pytaniem:

«Jakie jest sto największych miast z damskim burmistrzem?»

Zwykła Wikipedia powinna być w stanie odpowiedzieć na to pytanie, przecież zawiera dane wszystkich większych miast, ich burmistrzów, oraz artykuły w których jest wymieniona płeć burmistrza. Niestety odpowiedź na to pytanie jest prawie niemożliwe do odnalezienia dla człowieka. Musiałby on najpierw przeczytać wszystkie artykuły o wszystkich wielkich miastach. Mimo że odpowiedź zostałaby znaleziona, mogłaby ona być prawdziwa tylko przez pewien krótki czas. Komputery są w stanie radzić sobie z dużą ilością zbiorów danych znacznie prościej, ale i tak nie są w stanie wspomóc nas w szukaniu odpowiedzi na wiki. Nawet skomplikowane programy nie potrafią jeszcze czytać i zrozumieć ludzkiego języka, do póki nie zostanie to skategoryzowane oraz bardzo ograniczone. Mechanizmy szukania w wiki nie pomogłyby również z tym pytaniem.

Semantic MediaWiki pozwala wiki na tworzenie ich wiedzy w sposób możliwy do przetwarzania przez komputery, a więc byłby w stanie odpowiedzieć na to pytanie.

Komu może się przydać?

Semantic MediaWiki wprowadza kilka dodatkowych znaczników do wiki-text, które pozwalają użytkownikowi na dodawanie semantycznych adnotacji do artykułu wiki. Na początku może to sprawiać wrażenie bardziej skomplikowanego, ale mimo to znacząco upraszcza strukturę wiki, pomagając użytkownikowi na odnalezienie większej ilości informacji, w krótszym czasie, a także ulepszyć ogólną jakość i zawartość wiki. Oto lista niektórych korzyści z korzystania z SMW:

Opis funkcji

Wyszukiwanie semantyczne

Semantic MediaWiki zawiera łatwy do użycia 'język zapytań' ,który umożliwia użytkownikowi dostęp do wiedzy zawartej w wiki. Składnia języka zapytań jest podobna do adnotacji w Semantic MediaWiki. Język ten jest używany na specjalnych stronach Ask, jako zapytania inline. Strona ta posiada krótką instrukcję obsługi i używania semantycznego wyszukiwania. Bardziej zaawansowane użycie :

Wybór stron

Opisuje, które strony powinny zostać wyświetlone jako wynik zapytania. Jest to rdzeń języka zapytań SMW.

Najważniejszą częścią wyszukiwań semantycznych w Semantic MediaWiki jest prosty format opisu, które strony powinny być wyświetlone jako rezultat szukania. Zapytania wybierają strony wiki na podstawie informacji, które są sprecyzowane przy użyciu Kategorii i Właściwości, a także innych cech MediaWiki takich jak namespace stron.

Dodatkowe informacje [http://semantic-mediawiki.org/wiki/Help:Selecting_pages].

Wyświetlanie informacji

Przedstawia instrukcje wydruku a także pokazuje w jaki sposób zawrzeć dodatkowe informacje w zapytaniach, takie jak wartości czy przydzielone kategorie.

'Zapytania' w Semantic MediaWiki zwracają listę stron, i standardowo wynik zapytania jest wyświetlany jako lista wybranych tytułów stron. Dodatkowe informacje takie jak wartości właściwości strony lub kategorie mogą zostać dodane do wyniku zapytania przez tz. 'instrukcje wydruku' Na Ask, instrukcje wydruku mogą zostać wprowadzone do pola edycji i przetestowane.

Istnieje wiele rożnych rodzajów 'instrukcji wydruku', można je łatwo rozpoznać gdyż zaczynają się od znacznika <tt>?</tt>. Ważną różnicą pomiędzy 'instrukcjami wydruku' a opisem zapytań jest to, że nie ograniczały wyniku w formie result set, nawet gdy strony które nie miały zawartości zostawały wyświetlone.

Dodatkowe informacje [http://semantic-mediawiki.org/wiki/Help:Displaying_information].

Pomysły/idee

Pokazuje jak zapytania mogą zostać zapisane jako idee, które są jednym z typów «dynamicznych kategorii».

Jest możliwe by przechowywać 'zapytania' w Semantic MediaWiki na dedykowanych stronach zwanych 'Ideami'. Strony te mogą być wyświetlane jako «dynamiczne kategorie», np. jako kolekcja stron które nie zostały przygotowane ręcznie, ale zostały wygenerowane przez SMW jako opis zadany przez zapytanie. Jak przykład może być idea europejskich miast. W tradycyjnym MediaWiki, można mieć kategorie zwaną Miasta Europejskie które zawierają wszystkie takie miasta. W SMW, natomiast można zdefiniować idee «Miasta Europejskie» ale w taki sposób, że definiuje się zawartość jako wszystkie miasta które są w Europie. Żadne ze stron miast nie muszą być zmieniane, dodatkowo można tworzyć wiele nowych idei, które dotyczą innych właściwości miast (np «stolica», «miasto włoskie», lub «duże nadbrzeżne miasto, ulokowane nad rzeką»).

Dodatkowe informacje [http://semantic-mediawiki.org/wiki/Help:Concepts].

Zapytania inline

Tłumaczy sposoby zawierania odpowiedzi na zapytania bezpośrednio na stronach wiki, oraz w jaki sposób formatować wyświetlanie wyników. Użycie funkcji parsera <tt>#ask</tt> oraz <tt>#show</tt>.

Semantic MediaWiki zawiera prosty język zapytań dla 'wyszukiwań semantycznych', więc użytkownicy mogą bezpośrednio definiować żądania konkretnych informacji z wiki. Czytelnicy którzy nie chcą się uczyć składni zapytań mogą nadal czerpać korzyści z tej funkcji poprzez 'zapytania inline' dynamicznie dołączane do wyników zapytań na stronach. Więc zapytania utworzone przez kilku redaktorów mogą być użyte przez wielu czytelników.

Zapytania Inline są podobne do innych funkcji wyszukiwań semantycznych i mogą być również ograniczone do strony aby zapewnić odpowiednią wydajność. Odkąd zapytania inline wykorzystują istniejące w MediaWiki mechanizmy cache-ujące , większość zapytań dla strony z dynamiczną zawartością może być serwowana bez utraty wydajności.

Dodatkowe informacje [http://semantic-mediawiki.org/wiki/Help:Inline_queries].

Wnioskowanie

Tłumaczy jak można obsługiwać schematy wiedzy w SMW (i co to jest w ogóle). Cecha ta jest używana w SMW aby sprytnie połączyć fakty , które nie są bezpośrednio dodane i połączone w wiki.

Szukanie semantyczne może być użyte do szukania stron opartych na informacjach które użytkownicy wprowadzili do wiki. Upraszcza to wiele zadań ale nadal wymaga informacji semantycznych które są wcześniej wprowadzone ręcznie. W niektórych przypadkach, można przewidywać ze wiki będzie mądrzejsze i połączy niektóre fakty nawet jeśli nie zostały wprowadzone bezpośrednio.

Dodatkowe informacje [http://semantic-mediawiki.org/wiki/Help:Inferencing].

Oczywistym jest że odpowiadania na zapytania wymaga dodatkowych zasobów, i dlatego właśnie administratorzy niektórych stron decydują się na wyłączenie lub ograniczenie funkcji zapytań w celu zapewnienia szybkiego ładowania się stron na serwisach z dużą ilością użytkowników.

Znaczniki SMW

Edytowanie stron MediaWiki

SMW wprowadza elementy znaczników które powalają redaktorom zapewnić «hints» do komputerowych programów które interpretują niektóre części informacji dane przez wiki. Takie wskazówki są nazwane 'semantic annotations' i są utworzone poprzez specjalne znaczniki SMW. Oprócz tego, edytowanie SMW jest takie same jak MediaWiki. Użytkownicy którzy nie znają podstaw edytowania, powinni najpierw przeczytac ten artykuł [http://www.mediawiki.org/wiki/Help:Editing_pages how to edit pages in MediaWiki].

Opis znaczników w Semantic MediaWiki

'Adnotacje w Semantic MediaWiki' mogą być przeglądane jako roszerzenia istniejącego systemu 'kategorii' w MediaWiki. Kategorie służą do 'klasyfikowania artykułów w stosunku do konkretnego kryterium. Na przyklad dodanie [[Category:Miasta]] do artykułu sprawia że strona jest zatagowana jako opisująca miasto. MediaWiki może używać tych informacji do generowanie listy wszystkich miast w wiki, a także pomaga użytkownikowi na przeglądanie tych informacji.

Semantic MediaWiki dostarcza dalszych znaczeń o strukturze wiki. Strony wiki zawierają linki i wartości tekstowe, ale tylko człowiek może zrozumieć reprezentację tych informacji.Na przykład «is the capital of <u>Germany</u> with a population of 3,396,990» znaczy coś zupełnie innego od «plays football for <u>Germany</u> and earns 3,396,990 dollars a year». SMW pozwala na wskazanie znaczenia każdego linku lub tekstu na stronie. Dzięki temu stają jasnymi 'własnościami' artykułu. Własność <tt>capital of</tt> is different from <tt>on national football team of</tt>, tylko jako własność<tt>population</tt> ma inne znaczenie niż <tt>annual income</tt>.

Te dodatkowe informacje pozwalają użytkownikowi wejść w prawdziwe znaczenie oraz cel kategoryzacji artykułów. Użycie i możliwe problemy z użyciem tych cech są podobne jak te w istniejącym systemie kategorii. Odkad kategorie i własności wyłącznie podkreślają konkretną część zawartości artykułu, zaczęto je nazywać (semantic) annotations. Informacje które są udostępniane mimo to przez te artykuły np. ze Berlin jest stolicą Niemiec , są teraz udostępnione w formalny sposób i dostępne dla narzędzi software-owych.

Kategorie

Kategore są cechami edycji MediaWiki, i są głównym odniesieniem dla ich użycia w [http://meta.wikimedia.org/wiki/Help:Category MediaWiki documentation on categories]. Kategorie są użyte przez uniwersalne tagi dla artykułów, opisujących zależności między konkretnymi grupamy kategorii.Aby dodać artykuł do kategorii należy napisać <tt>Example category</tt>

[[Category:Example category]]

gdziekolwiek w artykule. Nazwa kategorii (tutaj „Example category”) jest wymagana, ale oczywiście możesz spróbować użyć istniejących kategorii zamiast tworzyć nowych. Każda kategoria posiada swój własny artykuł, który może być zlinkowany przez napisanie <tt>[[:Category:Example category]]</tt>. Artykuł kategorii może być pusty, ale zaleca się dodanie opisu tłumaczącego daną kategorię.

Na wiki takich jak Wikipedia, kategorie są użyte do różnych innych celów. Na przykład [http://en.wikipedia.org/wiki/Category:Cities Cities] kategorie posiadają i indywidualne miasta, opisane przez sub kategorie jak „City nicknames” i abstrakcyjny opis „Digital city”.

W Semantic MediaWiki-używanie stron, kategorii zmierza do jak najoszczędniejszego użycia, odkąd zapytania tworzą wiele zbędnych kategorii. Na przykład, subkategoria typu <tt>Large cities</tt> może zostać zastąpione przez zapytanie dla artykułu z kategorią Category:Cities with an area larger than 10 km², or a population larger than 1,000,000. Dodatkowo kategorie zmierzają by być używane bardziej dokładnie : strona typu „Digital city” mogłaby by stać się kategorią „City-related terms” zamiast „Cities”, więc nie byłaby wyświetlana w zapytaniu o kategorię „Cities”.

Znaczniki - Properies

'Properties i typy' są podstawowym sposobem na wprowadzenie semantycznych danych w Semantic MediaWiki. Właściwości mogą być wyświetlane jako «kategorie wartości na stronach wiki». Są one używane poprzez proste znaczniki, podobne do składni linków w MediaWiki:

<tt>[[property name::value]]</tt>

Ta instrukcja definiuje <tt>value</tt> dla własności danej przez <tt>property name</tt>. Strone gdzie jest to użyte pokaże tylko tekst dla <tt>value</tt> i bez przypisania właściwości.

Istniejące linki mogą być bezposrednio rozszerzone przez takie informacje o własnościach, podczac gdy inne 'typy danych' (jak np liczby czy daty) potrzebują dodatkowych operacji przy edycji.

Dodatkowe informacje [http://semantic-mediawiki.org/wiki/Help:Properties_and_types].

Semantyczne template

'Semantic templates' są metodami zwierającymi znaczniki Semantic MediaWiki przedstawione poprzez dane 'template-y'. Ma to kilka zalet:

Z tych powodów, semantyczne template-y są bardzo popularną drogą na wprowadzenie semantyki do wiki.

Dodatkowe informacje [http://semantic-mediawiki.org/wiki/Help:Semantic_templates]

Linki usługowe

Semantic MediaWiki może dostarczać 'linki do usług online' gdy drukowane są konkretne dane w 'factbox' oraz na stronach z własnościami. Na przykład, gdy artykuł zawiera koordynaty geograficzne, jest użytecznym zapewnić usługi mapowania online tak aby użytkownik mógł otrzymać mapę z zaznaczoną lokacją za pomocą jednego kliknięcia. Innym przykładem jest zapewnienie linków do konwerterów walut.

Dodatkowe informacje [http://semantic-mediawiki.org/wiki/Help:Service_links].

Strony semantyczne

Pomimo że Semantic MediaWiki zostało zaprojektowane by mogło być używane bez dodatkowego środowiska technicznego wiedzy, jest ono blisko związane z tak zwaną 'Semantic Web' technologią. Te technologie pozwalają wiki na dzielenie sie wiedzą z zewnętrznymi aplikacjami poprzez kodowanie zawartości do standardów OWL/RDF .

Dodatkowe informacje [http://semantic-mediawiki.org/wiki/Help:Semantic_Web].

Przykład użycia

Baza wiedzy - Juventus Turyn

Szukanie semantyczne

Concept

Zapytania inline

Zainstalowany Semantic MediaWiki

Zrzut bazy (mysqldump --no-create-info wikidb > bazaPIW.dump)

zrzut lokalny