|
|
pl:miw:2009:piw09_semwikis_smw2 [2009/07/07 10:28] piw09 |
pl:miw:2009:piw09_semwikis_smw2 [2019/06/27 15:50] |
====== 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 | |
{{#ask: [[Kategoria:miasto]] | |
| ?ludność | |
| sort=ludność | |
| order=descending | |
| limit=3 | |
}} | |
| |
{{:pl:miw:2009:im1.jpg|}} | |
| |
2. Miasta położone nad Wisłą | |
{{#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. | |
| |