Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
Nowa wersja
Both sides next revision
|
pl:miw:2009:piw09_semwikis_smw2 [2009/07/06 23:49] piw09 |
pl:miw:2009:piw09_semwikis_smw2 [2009/07/07 10:24] piw09 |
===== Opis Semantic MediaWiki ===== | ===== 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ę. W ten sposób możliwości jakie daje Semantic Web są realizowane w systemie SMW. | 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 w zwykłym tekście, które umożliwiają użytkownikom dodawanie adnotacji semantycznych. | Semantic MediaWiki wprowadza dodatkowe znaczniki/atrybuty w zwykłym tekście, które umożliwiają użytkownikom dodawanie adnotacji semantycznych: |
[[Test property::Test value]] | [[Test property::Test value]] |
Buduje to strukturę wiki, pomaga znajdować więcej informacji w krótszym czasie oraz and podwyższa jakość i spójność całego systemu wiki. | //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 ==== | ==== 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. | * 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''. | * 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). | * 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. | * 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 ===== | ==== Przykład zastosowania adnotacji semantycznych (Atrybutów) w SMW ===== |
| |
====Wymagania:==== | ====Wymagania:==== |
* **Web Server** np. [http://httpd.apache.org Apache] lub [http://www.microsoft.com/iis IIS] | * **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) | * **[[http://www.php.net|PHP]]** 5.0 lub nowszy (rekomendowana 5.1.x, dla obsługi api.php) |
* **Database Server** | * **Database Server** |
Katalog z plikami umieszczamy w katalogu webowym serwera. | 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. | 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, konieczna jest możliwość 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. | 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: | W katalogu ''/w/'' wykonujemy polecenie: |
chmod 755 config | chmod 755 config |
| |
Trzeba też pamiętać aby sprawdzić i ewentualnie zmienić prawa dostępu dla pliku config/index.php: | Trzeba też pamiętać aby sprawdzić i ewentualnie zmienić prawa dostępu dla pliku ''config/index.php'': |
chmod 755 config/index.php | chmod 755 config/index.php |
| |
==== Utworzenie bazy danych ==== | ==== 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. | 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) === | === Utworzenie bazy "wikidb" i nadanie praw do wykonywania zapytań z serwera webowego (SMW) === |
| |
create database wikidb; | create database wikidb; |
| |
grant index, create, select, insert, update, delete, alter, lock tables on wikidb.* to | grant index, create, select, insert, update, delete, alter, lock tables on wikidb.* to |
wikiuser@student.agh.edu.pl identified by 'password'; | deliver@student.agh.edu.pl identified by 'password'; |
| |
==== Uruchomienie skryptu instalacyjnego ==== | ==== 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 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. | 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/ | * należy przenieść ten plik do katalogu głównego wiki ''/w/'' |
* ograniczyć prawa dostępu do pliku - hasła otwartym tekstem !!! | * ograniczyć prawa dostępu do pliku - hasła otwartym tekstem !!! |
* można usunąć katalog ''config'' | * można usunąć katalog ''config'' |
| |
MediaWiki powinno być gotowe do użycia. | MediaWiki powinno być gotowe do użycia. |
| |
==== Instalacja SMW ==== | ==== 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: | * Należy pobrać Semantic MediaWiki - moduł rozszerzający funkcjonalność wiki o idee Semantic Web, a następnie skopiować pliki do ''/w/extensions/SemanticMediaWiki''. |
include_once("$IP/extensions/SemanticMediaWiki/includes/SMW_Settings.php"); | |
enableSemantics('student.agh.edu.pl'); | * Uaktywnić rozszerzenie dodając do pliku ''w/LocalSettings.php'' następujący kod: |
*Aktualizacja bazy danych przez stronę "Special:SMWAdmin" (nie ma wpływu na poprzednią zawartość bazy - dodanie nowych tabel dla danych semantycznych) | |
| 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 - dodanie nowych tabel dla danych semantycznych. |
| |
| |
===== Przykładowe przypadki użycia ===== | ===== Przykładowe przypadki użycia ===== |
| |
[http://student.agh.edu.pl/~deliver/w/index.php?title=Strona_g%C5%82%C3%B3wna Wiki Geograficzne] - zawiera opis kilkudziesięciu miast europejskich. 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. | [[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|miasta]]). 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. |
| |
Użycie semantycznych adnotacji w opisie poszczególnych miast, pozwala wykonywać złożone zapytania dla zbioru danych zawartych w wiki: | Tabela ze zgromadzonymi danymi: [[http://student.agh.edu.pl/~deliver/w/index.php?title=Tabela_ze_wszystkimi_danymi_miast-url|Tabela]] |
| |
==== Inline queries ==== | 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 | 1. Trzy największe miasta |
{{#ask: [[Kategoria:miasto]] | {{#ask: [[Kategoria:miasto]] |
| ?ludność | | ?ludność |
| sort=ludność | | sort=ludność |
| order=descending | | order=descending |
| limit=3 | | limit=3 |
}} | }} |
| |
| {{:pl:miw:2009:im1.jpg|}} |
| |
2. Miasta położone nad Wisłą | 2. Miasta położone nad Wisłą |
{{#ask: [[Kategoria:miasto]] [[położenieWoda::Wisła]] | {{#ask: [[Kategoria:miasto]] [[położenieWoda::Wisła]] |
| format=ul | | format=ul |
}} | }} |
| |
3. Miasta nad Bałtykiem o liczbie ludności mniejszej niż pół miliona (lista) | 3. Miasta nad Bałtykiem o liczbie ludności mniejszej niż pół miliona (lista) |
{{#ask: [[Kategoria:miasto]] [[położenieWoda::Bałtyk]] [[ludność::<500000]] | {{#ask: [[Kategoria:miasto]] [[położenieWoda::Bałtyk]] [[ludność::<500000]] |
| format=ul | | format=ul |
}} | }} |
| |
4. W Berlinie mieszka {{#show: Berlin | ?ludność}} ludzi. | 4. W Berlinie mieszka |
| {{#show: Berlin | ?ludność} |
| ludzi. |
| |