====== SemWikisRev:SMW ====== Grupa: * Paweł Bicz * Michał Czapko ===== Opis Semantic MediaWiki ===== Semantic MediaWiki (SMW) jest rozszerzeniem dla systemu MediaWiki – wolny system wiki napisany w PHP, pierwotnie przeznaczony dla Wikipedii – które pozwala na efektywne przeszukiwanie, organizowanie, przeglądanie i współdzielenie wszystkich danych zgromadzonych w wiki. Podczas gdy zwykły system wiki zawiera wyłącznie tekst niezrozumiały dla maszyny, SMW rozszerza funkcjonalność wiki o dodawanie adnotacji semantycznych do istniejącej lub dopiero tworzonej zawartości, w celu jej organizowania i umożliwienia interpretacji zgromadzonej wiedzy przez maszynę. Dzięki temu możliwe jest wykorzystanie rozwiązań jakie niesie ze sobą Semantic Web. Semantic MediaWiki wprowadza dodatkowe znaczniki/atrybuty w zwykłym tekście, które umożliwiają użytkownikom dodawanie adnotacji semantycznych: [[Test property::Test value]] //Cicha// adnotacja (nie wyświetlana na ekranie) {{#set:ludność=59000|kraj=Andora}} Jak również typów danych dla atrybutów: [[has type::Number]] [[has type::String]] [[has type::Geographic coordinate]] ... Buduje to strukturę wiki, pomaga znajdować więcej informacji w krótszym czasie oraz podwyższa jakość i spójność całego systemu wiki. ==== Reprezentacja wiedzy w SMW ==== * Automatycznie generowane listy - List tworzonych ręcznie nie można elastyczne dostosować do naszych potrzeb, a dodatkowo trzeba je ręcznie aktualizować. SMW zapewnia automatyczne generowanie list, które są zawsze aktualne i przedstawiają interesujące nas, wybrane wiadomości. * Graficzna prezentacja danych (kalendarze, grafy, mapy itp.) - Różne formaty są dostępne po zainstalowaniu odpowiednich rozszerzeń, np. ''Semantic Result Formats'', ''Semantic Google Maps''. * Przeszukiwanie zbioru danych - Użytkownicy mogą szukać informacji wpisując własne zapytania (''Halo'', ''Semantic Drilldown''). * Export danych - Informacje przechowywane w SMW wiki mogą być przekazane na zewnątrz w takich formatach jak: CSV, JSON i RDF. To sprawia że SMW może służyć jako źródło danych dla innych aplikacji. ==== Przykład zastosowania adnotacji semantycznych (Atrybutów) w SMW ===== Gdańsk - miasto portowe, znajdujące się w północnej [[położenieKraj::Polska|Polsce]], nad [[położenieMorze::Bałtyk|Bałtykiem]] u ujścia [[położenieRzeka::Motława|Motławy]]. Współrzędne geograficzne: [[położenie::54°00'N; 18°00'E]]. Obecnie liczba mieszkańców tego miasta wynosi [[ludność::450000]]. [[Kategoria:Miasto]] ===== Instalacja MediaWiki i SMW ===== System MediaWiki instaluje się za pomocą interaktywnego, webowego skryptu instalacyjnego. Przed jego uruchomieniem konieczne jest spełnienie kilku warunków, określających wymagania środowiskowe MediaWiki oraz SMW. Konieczne jest spełnienie następujących wymagań: ====Wymagania:==== * **Web Server** np. [[http://httpd.apache.org|Apache]] lub [[http://www.microsoft.com/iis|IIS]] * **[[http://www.php.net|PHP]]** 5.0 lub nowszy (rekomendowana 5.1.x, dla obsługi api.php) * **Database Server** - [[http://www.mysql.org|MySQL]] 4.0 lub nowszy - [[http://www.postgresql.org|PostgreSQL]] 8.1 lub nowszy W celu zainstalowania wiki należy pobrać jedną z wersji systemu MediaWiki np. z [[http://www.mediawiki.org/wiki/Download|oficjalnej strony]]. Pobrane pliki są skompresowane (format .tar.gz), należy je więc rozpakować przed umieszczeniem na serwerze. Katalog z plikami umieszczamy w katalogu webowym serwera. Nowo założonemu katalogowi możemy nadać dowolną nazwę, w zależności od tego jak ma wyglądać URL. W naszym przypadku dla katalogu z MediaWiki została nadana nazwa ''/w/'' . Ponieważ adresem naszego serwera webowego jest [[http://student.agh.edu.pl/deliver]] oznacza, że wiki będzie dostępne pod adresem [[http://student.agh.edu.pl/deliver/w/index.php]]. Podczas instalacji, kiedy zostanie uruchomiony skrypt instalacyjny MediaWiki, konieczne jest posiadanie prawa zapisu do katalogu ''/w/config''. Należy sprawdzić i ewentualnie zmienić prawa dostępu dla katalogu ''config'', tak aby podczas instalacji możliwy był zapis zawartych w nim plików konfiguracyjnych. W katalogu ''/w/'' wykonujemy polecenie: chmod 755 config Trzeba też pamiętać aby sprawdzić i ewentualnie zmienić prawa dostępu dla pliku ''config/index.php'': chmod 755 config/index.php ==== Utworzenie bazy danych ==== Stworzyliśmy bazę danych MySQL (alternatywą był PostgreSQL) przed instalacją MediaWiki. Zarządzanie bazą ułatwia panel kontrolny - PhpMyAdmin, który jest udostępniany przez Serwer baz danych AGH [[http://mysql.agh.edu.pl]]. === Utworzenie bazy "wikidb" i nadanie praw do wykonywania zapytań z serwera webowego (SMW) === create database wikidb; grant index, create, select, insert, update, delete, alter, lock tables on wikidb.* to deliver@student.agh.edu.pl identified by 'password'; ==== Uruchomienie skryptu instalacyjnego ==== Po wykonaniu powyższych kroków, należy sfinalizować proces instalacji wiki poprzez przeglądarkę ([[http://student.agh.edu.pl/deliver/w/config/]]), wykonując instrukcje zawarte w skrypcie konfiguracyjnym. Skrypt ten umożliwia wprowadzenie wymaganych parametrów konfiguracyjnych (nazwa wiki, język, baza danych itd.) systemu MediaWiki, niezbędnych do uruchomienia i pomyślnego funkcjonowania systemu. Po pomyślnym zakończeniu wykonywania skryptu tworzony jest plik ''LocalSettings.php'' ze wszystkimi parametrami konfiguracyjnymi. * należy przenieść ten plik do katalogu głównego wiki ''/w/'' * ograniczyć prawa dostępu do pliku - hasła otwartym tekstem !!! * można usunąć katalog ''config'' MediaWiki powinno być gotowe do użycia. ==== Instalacja SMW ==== * Należy pobrać Semantic MediaWiki - moduł rozszerzający funkcjonalność wiki o idee Semantic Web, a następnie skopiować pliki do ''/w/extensions/SemanticMediaWiki''. * Uaktywnić rozszerzenie dodając do pliku ''w/LocalSettings.php'' następujący kod: include_once("$IP/extensions/SemanticMediaWiki/includes/SMW_Settings.php"); enableSemantics('student.agh.edu.pl'); * Aktualizacji bazy danych dokonujemy przez stronę ''Special:SMWAdmin'' (należy mieć uprawnienia administratora) - nie ma wpływu na poprzednią zawartość bazy, dodane zostają nowe tabele dla danych semantycznych. ===== Przykładowe przypadki użycia ===== [[http://student.agh.edu.pl/~deliver/w/index.php|Wiki Geograficzne]] - zawiera opis kilkudziesięciu miast europejskich ([[http://student.agh.edu.pl/~deliver/w/index.php?title=Lista_opisanych_miast-url|lista miast]]). Na opis miasta składa się jego położenie (w jakim państwie, nad którą rzeką/morzem/jeziorem leży, współrzędne geograficzne), liczba ludności oraz informacja o fakcie bycia stolicą określonego państwa. Tabela ze zgromadzonymi danymi: [[http://student.agh.edu.pl/~deliver/w/index.php?title=Tabela_ze_wszystkimi_danymi_miast-url|Tabela]] Użycie semantycznych adnotacji w opisie poszczególnych miast, pozwala wykonywać złożone zapytania dla zbioru danych zawartych w wiki (wyniki zapytań w [[http://student.agh.edu.pl/~deliver/w/index.php|Wiki Geograficzne]]): ==== Inline queries - przykład użycia ==== 1. Trzy największe miasta (tabela) {{#ask: [[Kategoria:miasto]] | ?ludność | sort=ludność | order=descending | limit=3 }} {{:pl:miw:2009:im1.jpg|}} 2. Miasta położone nad Wisłą (lista) {{#ask: [[Kategoria:miasto]] [[położenieWoda::Wisła]] | format=ul }} 3. Miasta nad Bałtykiem o liczbie ludności mniejszej niż pół miliona (lista) {{#ask: [[Kategoria:miasto]] [[położenieWoda::Bałtyk]] [[ludność::<500000]] | format=ul }} 4. W Berlinie mieszka {{#show: Berlin | ?ludność} ludzi.