Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:krr:lab_dl [2013/05/31 22:09]
ikaf [3.2 Zadania wnioskowania dla ABoxa]
pl:dydaktyka:krr:lab_dl [2019/06/27 15:50] (aktualna)
Linia 19: Linia 19:
  
 Wybrane fragmenty ww. grafu zapisane w logice opisowej: Wybrane fragmenty ww. grafu zapisane w logice opisowej:
-    * <​latex>​ Fred : person </​latex>,​ <​latex> ​ Tibbs: cat</​latex>,​ <​latex> ​ (Tred, Tibbs) : has\_pet</​latex>​+    * <​latex>​ Fred : person </​latex>,​ <​latex> ​ Tibbs: cat</​latex>,​ <​latex> ​ (Fred, Tibbs) : has\_pet</​latex>​
     * <​latex> ​ man \equiv person \sqcap adult \sqcap male</​latex>,​ <​latex> ​ cat\_liker \equiv person \sqcap \exists likes.cat</​latex> ​     * <​latex> ​ man \equiv person \sqcap adult \sqcap male</​latex>,​ <​latex> ​ cat\_liker \equiv person \sqcap \exists likes.cat</​latex> ​
     * <​latex>​(cat\_liker,​ cat) : likes </​latex>,​ <​latex>​ (sheep, grass) : eats\_only</​latex>​     * <​latex>​(cat\_liker,​ cat) : likes </​latex>,​ <​latex>​ (sheep, grass) : eats\_only</​latex>​
Linia 138: Linia 138:
     - Wyznacz rozszerzenie powyższych pojęć w interpretacji I (sprawdź czy/kto w podanej interpretacji zalicza się do tych grup).     - Wyznacz rozszerzenie powyższych pojęć w interpretacji I (sprawdź czy/kto w podanej interpretacji zalicza się do tych grup).
   - Zapisz następujące pojęcia w postaci aksjomatów (postaci <​latex>​A \sqsubseteq B</​latex>​) języka <​latex>​ALC</​latex>:​   - Zapisz następujące pojęcia w postaci aksjomatów (postaci <​latex>​A \sqsubseteq B</​latex>​) języka <​latex>​ALC</​latex>:​
-    - Ci, którzy nie mają męskich przyjaciół,​ nie mają zwierząt ​domoych.+    - Ci, którzy nie mają męskich przyjaciół,​ nie mają zwierząt ​domowych.
     - Wszyscy mężczyźni są albo w związku małżeńskim albo mają nie-męskiego przyjaciela.     - Wszyscy mężczyźni są albo w związku małżeńskim albo mają nie-męskiego przyjaciela.
     - Czy te aksjomaty są prawdziwe w danej interpretacji?​     - Czy te aksjomaty są prawdziwe w danej interpretacji?​
Linia 149: Linia 149:
     * relacje (atomiczne) ⇔ predykaty binarne     * relacje (atomiczne) ⇔ predykaty binarne
     * pojęcia ⇔ formuły z jedną wolną zmienną     * pojęcia ⇔ formuły z jedną wolną zmienną
-  * Formuły logiki opisowej można intuicyjnie interpretować poprzez analogię do algabry ​zbiorów+  * Formuły logiki opisowej można intuicyjnie interpretować poprzez analogię do algebry ​zbiorów
  
 ^ Przykład użycia ^ Składnia DL ^ Składnia FOL ^ Algebra zbiorów ^ ^ Przykład użycia ^ Składnia DL ^ Składnia FOL ^ Algebra zbiorów ^
Linia 222: Linia 222:
 Składnia: Składnia:
   * TBox to skończony zbiór aksjomatów terminologicznych postaci:   * TBox to skończony zbiór aksjomatów terminologicznych postaci:
-    * <​latex> ​ C \sqsubseteq D (R \sqsubseteq S</​latex>​  +    * <​latex> ​ C \sqsubseteq D </​latex>​  
-    * lub <​latex>​ C \equiv D (R \equiv S</​latex>​ +    * <​latex>  ​R \sqsubseteq S </​latex>​  
-  * Definicje to równości, które po leweje ​stronie mają pojęcie atomiczne+    * <​latex>​ C \equiv D </​latex>​ 
 +    * <​latex> ​R \equiv S </​latex>​ 
 +  * Definicje to równości, które po lewej stronie mają pojęcie atomiczne
  
 Semantyka: Semantyka:
   * funkcja interpretacji <​latex>​ \mathcal{I} </​latex>​ mapuje każde pojecie na podzbiór dziedziny   * funkcja interpretacji <​latex>​ \mathcal{I} </​latex>​ mapuje każde pojecie na podzbiór dziedziny
-  * interpretacja //​spełnia//​ aksjomat <​latex> ​ C \sqsubseteq D (R \sqsubseteq S) </​latex>​ jeżeli: <​latex> ​ C^{\mathcal{I}} \subseteq D^{\mathcal{I}} </​latex> ​lub <​latex> ​ R^{\mathcal{I}} \subseteq ​S^{\mathcal{I}} ​</​latex>​ +  * interpretacja //​spełnia//​ aksjomat <​latex> ​ C \sqsubseteq D </​latex>​ jeżeli: <​latex> ​ C^{\mathcal{I}} \subseteq D^{\mathcal{I}} </​latex>​; analogicznie w przypadku relacji ​<​latex>​ R \sqsubseteq ​S </​latex>​ 
-  * interpretacja //I// spełnia definicję <​latex>​ C \equiv D (R \equiv S) </​latex>​ jeżeli: <​latex> ​ C^{\mathcal{I}} = D^{\mathcal{I}} </​latex> ​lub <​latex> ​ R^{\mathcal{I}} = S^{\mathcal{I}} ​</​latex> ​+  * interpretacja //I// spełnia definicję <​latex>​ C \equiv D </​latex>​ jeżeli: <​latex> ​ C^{\mathcal{I}} = D^{\mathcal{I}} </​latex>​; analogicznie w przypadku relacji ​<​latex>​ R \equiv S </​latex>​
   * interpretacja //spełnia terminologię (TBox)// jeżeli spełnia wszystkie jej aksjomaty. Mówimy wtedy, że I //jest modelem// T.   * interpretacja //spełnia terminologię (TBox)// jeżeli spełnia wszystkie jej aksjomaty. Mówimy wtedy, że I //jest modelem// T.
  
Linia 235: Linia 237:
 Używając pojęć: "​Przedmiot",​ "​Wykładowca",​ "​Mgr"​ i "​Inż"​ oraz ról "​prowadzi"​ i "​maTytuł"​ przedstaw poniższą wiedzą w postaci TBoxa: Używając pojęć: "​Przedmiot",​ "​Wykładowca",​ "​Mgr"​ i "​Inż"​ oraz ról "​prowadzi"​ i "​maTytuł"​ przedstaw poniższą wiedzą w postaci TBoxa:
   - Każdy kto prowadzi przedmiot musi mieć albo stopień magistra albo być wykładową.   - Każdy kto prowadzi przedmiot musi mieć albo stopień magistra albo być wykładową.
-  - Każdy wykładowca ma tytuł ​inzyniera.+  - Każdy wykładowca ma tytuł ​inżyniera.
   - Każdy wykładowca prowadzi jakiś przedmiot.   - Każdy wykładowca prowadzi jakiś przedmiot.
   - Każdy posiadający tytuł magistra ma też tytuł inżyniera.   - Każdy posiadający tytuł magistra ma też tytuł inżyniera.
Linia 268: Linia 270:
   - Zapisz następujące stwierdzenie:​ "John ma przyjaciółkę (przyjaciela rodzaju żeńskiego),​ które jest zakochana w mężczyźnie (osobie niebędącej rodzaju żeńskiego)"​ w postaci ''​john : X'',​ gdzie ''​X''​ jest odpowiednim opisem.   - Zapisz następujące stwierdzenie:​ "John ma przyjaciółkę (przyjaciela rodzaju żeńskiego),​ które jest zakochana w mężczyźnie (osobie niebędącej rodzaju żeńskiego)"​ w postaci ''​john : X'',​ gdzie ''​X''​ jest odpowiednim opisem.
  
-Odpowiedzi: [[lab_dl_answers]]+Odpowiedzi: [[lab_dl_answers#abox]]
 ===== - Wnioskowanie w logikach deskrypcyjnych ===== ===== - Wnioskowanie w logikach deskrypcyjnych =====
   * Logiki opisowe, dzięki formalnemu ugruntowaniu w logice, umożliwiają automatyczne wnioskowanie.   * Logiki opisowe, dzięki formalnemu ugruntowaniu w logice, umożliwiają automatyczne wnioskowanie.
Linia 292: Linia 294:
     * Dwa pojęcia C i D są //​rozłączne//​ wzg. T. jeżeli <​latex>​ C^{\mathcal{I}} \cap D^{\mathcal{I}} = \emptyset</​latex>​ dla każdego modelu I terminologii T.     * Dwa pojęcia C i D są //​rozłączne//​ wzg. T. jeżeli <​latex>​ C^{\mathcal{I}} \cap D^{\mathcal{I}} = \emptyset</​latex>​ dla każdego modelu I terminologii T.
  
-__**Ćwiczenie ​7**__ +__**Ćwiczenie ​6**__ 
-FIXME+  - Wiedząc, że: 
 +    * <​latex>​Vegetarian \equiv (\forall eats.(\neg (\exists partOf.Animal))) \sqcap (\forall eats.(\neg Animal)) \sqcap Animal</​latex>​ 
 +    * <​latex>​Cow \sqsubseteq Vegetarian</​latex>​ 
 +    * <​latex>​MadCow \equiv \exists eats.(\exists partOf.Sheep \sqcap Brain) \sqcap Cow </​latex>​ \\ Odpowiedz na pytanie: 
 +    - Jakiemu pojęciu jest równoważne pojęcie ''​MadCow''?​ 
 +  - Wykorzystując bazę wiedzy z sekcji [[#​terminologia_tbox]] odpowiedz na pytanie:  
 +    - Czy zdanie"​ "​Każdy kto prowadzi przedmiot musi mieć tytuł inżyniera"​ jest logiczną konsekwencją tej bazy wiedzy? Odpowiedź uzasadnij.
  
  
Linia 310: Linia 318:
   * wszystkie zadania wnioskowania mogą być sprowadzone do sprawdzenia spójności bazy wiedzy.   * wszystkie zadania wnioskowania mogą być sprowadzone do sprawdzenia spójności bazy wiedzy.
  
-__**Ćwiczenie ​8**__ +__**Ćwiczenie ​7**__:
- +
-==== - Założenie o otwartości świata ==== +
-  * Analogia bazy wiedzy DL i relacyjnej bazy danych: +
-    * schemat bazy danych <-> TBox +
-    * instancje danych <-> ABox +
-  * W przeciwieństwie do relacyjnych baz danych, brak w ABox oznacza **brak wiedzy**, nie zaś negatywnąinformację +
-  * ABox reprezentuje potencjalnie nieskończenie wiele interpretacji. +
-  * Semantyka otwartego świata wymaga nietrywialnych mechanizmów wnioskowania,​ a realizaja zapytań jest bardziej skomplikowana. +
- +
-__**Ćwiczenie**__+
   - Wiedząc, że:   - Wiedząc, że:
     * <​latex>​ OldLady \equiv Elderly \sqcap Female \sqcap Person</​latex>​     * <​latex>​ OldLady \equiv Elderly \sqcap Female \sqcap Person</​latex>​
Linia 328: Linia 326:
     - Do jakiej klasy należy obiekt Minnie?     - Do jakiej klasy należy obiekt Minnie?
     - Do jakiej klasy należy obiekt Tom?     - Do jakiej klasy należy obiekt Tom?
-  - Wiedząc, ​że+  - Rozważ opis świata z sekcji [[#abox]] i odpowiedz na pytanie
-    * <​latex>​Vegetarian \equiv (\forall eats.(\neg (\exists partOf.Animal))) \sqcap (\forall eats.(\neg Animal)) \sqcap Animal</​latex>​ +    * Czy John należy do klasy: ∃friend.(Female ⊓ ∃loves.¬Female)? 
-    * <​latex>​Cow \sqsubseteq Vegetarian</​latex>​ +    * Podpowiedź:​ 
-    <​latex>​MadCow \equiv \exists eats.(\exists partOf.Sheep \sqcap Brain) \sqcap Cow </​latex>​ \\ Odpowiedz na pytanie: +      Zwizualizuj w postaci grafu ten ABox, zaobserwuj, do jakich klas należą poszczególne obiekty
-    - Jakiemu pojęciu jest równoważne pojęcie ​''​MadCow''​?+      * Rozważ dwa przypadki: ​''​andrea : Female'​' ​''​andrea : ¬Female''​ 
  
 Odpowiedzi: [[lab_dl_answers#​wnioskowanie]] Odpowiedzi: [[lab_dl_answers#​wnioskowanie]]
 +
 +==== - Założenie o otwartości świata ====
 +  * Analogia bazy wiedzy DL i relacyjnej bazy danych:
 +    * schemat bazy danych <-> TBox
 +    * instancje danych <-> ABox
 +  * W przeciwieństwie do relacyjnych baz danych, brak w ABox oznacza **brak wiedzy**, nie zaś negatywnąinformację
 +  * ABox reprezentuje potencjalnie nieskończenie wiele interpretacji.
 +  * Semantyka otwartego świata wymaga nietrywialnych mechanizmów wnioskowania,​ a realizaja zapytań jest bardziej skomplikowana.
  
 **BONUS**: **BONUS**:
Linia 353: Linia 360:
   - Wnioskowanie o ograniczeniach na elementach modelu   - Wnioskowanie o ograniczeniach na elementach modelu
   - Stop, kiedy nie można zastosować więcej reguł lub wystąpiła sprzeczność   - Stop, kiedy nie można zastosować więcej reguł lub wystąpiła sprzeczność
 +
 +__**Ćwiczenie 8**__ (dla chętnych):
 +
 +Sprawdź czy poniższe pojęcia są spełnialne:​
 +  - A ⊓ ∃R.C ⊓ ∀R.D ​
 +  - ∃R.C ⊓ ∀R.¬(C ⊓ D) 
 +  - A⊓∃R.C⊓∀R.D⊓∀R.¬(C⊓D) ​
 +  - ∃R.(A ⊓ ∃R.C) ⊓ ∀R.¬C ​
 +  - ∃R.(A ⊓ ∃R.C) ⊓ ∀R.∀R.¬C ​
 +  - ¬C ⊓ ∃R.C ⊓ ∀R.(¬C ⊔ ∃R.C) ​
 +  - A ⊓ ∀R.A ⊓ ∀R.¬∃P.A ⊓ ∃R.∃P.A
 +Przykładowe rozwiązania z użyciem algorytmu tableau: [[http://​www.dcs.bbk.ac.uk/​~michael/​sw/​slides/​Sew11-8-tut.pdf|tutaj]].
  
  
 ==== - Wsparcie narzędziowe ==== ==== - Wsparcie narzędziowe ====
-Silniki ​wnioskujące dla DL +Istnieje wiele implementacji silników ​wnioskujących dla logik deskrypcyjnych. 
-  ​* ​[[http://​www.cs.man.ac.uk/​~sattler/​reasoners.html|lista Prof. U. Sattler]]+Niektóre z nich są zoptymalizowane pod kątem konkretnych języków ​DL (np. takich na których opierają się warianty języka ontologii OWL ). 
 + 
 +Lista dostępnych silników wnioskujących dostępna jest na stronie: ​[[http://​www.cs.man.ac.uk/​~sattler/​reasoners.html|Prof. U. Sattler]]. 
 +Popularne narzędzia to m.in: 
 +  * [[http://​clarkparsia.com/​pellet/​download|Pellet]]
   * [[http://​www.cs.man.ac.uk/​~horrocks/​FaCT/​|FaCT]]   * [[http://​www.cs.man.ac.uk/​~horrocks/​FaCT/​|FaCT]]
   * [[http://​www.sts.tu-harburg.de/​%7Er.f.moeller/​racer/​|Racer]]   * [[http://​www.sts.tu-harburg.de/​%7Er.f.moeller/​racer/​|Racer]]
Linia 365: Linia 388:
   * [[http://​db-tom.cs.uwaterloo.ca/​AssertionRetrieval/​pages/​kbgen.jsp|CARE]] - online   * [[http://​db-tom.cs.uwaterloo.ca/​AssertionRetrieval/​pages/​kbgen.jsp|CARE]] - online
  
-http://​db-tom.cs.uwaterloo.ca/​AssertionRetrieval/​ +Najczęściej silniki wnioskujące zintegrowane są z innymi narzędziami,​ npedytorami ontologii (pełnią one wówczas rolę pomocniczą,​ npdo sprawdzania spójności ontologii itp.).
-FIXME+
  
-===== Literatura, materiały =====+__**Ćwiczenie 9**__: 
 +  - Pobierz silnik wnioskujący [[http://​clarkparsia.com/​pellet/​download|Pellet]]. 
 +    - :!: Na borgu powinien być w ''/​usr/​local/​pellet''​. 
 +  - Uruchom go wpisując w konsoli ''​pellet.sh help''​ i zapoznaj się z dostępnymi opcjami. (''/​usr/​local/​pellet/​pellet.sh''​) 
 +  - Uruchom ''​pellet.sh consistency <​ontology>''​ gdzie ''<​ontology>''​ jest bazą wiedzy ''​people+pets.owl''​ umieszczoną w katalogu ''​examples/​data''​. 
 +  - Jakie są rezultaty?​ 
 +  - Uruchom ''​pellet.sh classify <​ontology>''​ dla powyższej ontologii ''​peopl+pets.owl''​ 
 +  - Jakie są rezultaty?
  
-  - Description Logic Handbook: {{http://​www.inf.unibz.it/​~franconi/​dl/​course/​dlhb/​dlhb-01.pdf|Rozdział 1: "​Introduction to Description Logics"​}} 
-  - Portal o logikach opisowych: ​ 
  
 +===== Materiały =====
 +==== Wykłady, prezentacje ====
 +  * [[http://​www.inf.unibz.it/​~franconi/​dl/​course/​|DL Course]] by Enrico Franconi
 +    * **[[http://​www.inf.unibz.it/​~franconi/​dl/​course/​slides/​prop-DL/​propositional-dl.pdf|Propositional Description Logics]]** :!:
 +    * [[http://​www.inf.unibz.it/​~franconi/​dl/​course/​slides/​kbs/​kbs.pdf|Knowledge Bases in Description Logics]]
 +    * [[http://​www.inf.unibz.it/​~franconi/​dl/​course/​slides/​logic/​fol/​fol-2.pdf|DL reasoning, FOL etc.]]
  
-  * Wikipedia: ​[[http://en.wikipedia.org/wiki/Description_logic|Description Logic]]+  * [[http://www.cse.iitd.ac.in/~kkb/DL-1.pdf|DL Tutorial]]
  
-Materiały+  * [[http://​www.cs.man.ac.uk/​~horrocks/​Slides/​IJCAR-tutorial/​Print/​p1-introduction.pdf|Description Logics—Basics,​ Applications,​ and More]] 
-  * http://​www.dcs.bbk.ac.uk/​~michael/​sw/​slides/solutions-11-7.pdf+ 
 +  * [[http://​www.cs.put.poznan.pl/​jjozefowska/​wyklady/​ai/​Ontologie.pdf|Ontologie,​ Logiki deskrypcyjne]] 
 +  * [[http://​www.cs.man.ac.uk/​~horrocks/​Slides/​index.html|Horrock'​s Presentations]] 
 +  * [[http://​www.inf.unibz.it/​~franconi/​dl/​course/​slides/​db/​db.pdf|DL and DB]] 
 + 
 +  * [[http://​www.obitko.com/​tutorials/​ontologies-semantic-web/​description-logics.html|DL]] by Obitko 
 +    * [[http://​www.obitko.com/​tutorials/​ontologies-semantic-web/​syntax-and-semantics.html|Syntax & Semantics]] 
 +    * [[http://​www.obitko.com/​tutorials/​ontologies-semantic-web/​translation-to-fopl.html|Translation to FOPL]] 
 +    * [[http://​www.obitko.com/​tutorials/​ontologies-semantic-web/​reasoning.html|Reasoning]] 
 + 
 +  * [[http://​www.inf.unibz.it/​~franconi/​dl/​course/​dlhb/​dlhb-01.pdf|Introduction to DL]] (handbook) 
 + 
 +==== Kursy ==== 
 +  * [[http://​www.inf.unibz.it/​~franconi/​dl/​course/​|DL Course]] by Enrico Franconi 
 +  * [[http://​www.cs.man.ac.uk/​~horrocks/​Teaching/​cs646/​|by I.Horrocks]] 
 +    * Lectures: 
 +      * {{http://​www.cs.man.ac.uk/​%7Ehorrocks/​Teaching/​cs646/​Slides/​pt2-dlintro.pdf|Intro to DL}} 
 +      * {{http://​www.cs.man.ac.uk/​%7Ehorrocks/​Teaching/​cs646/​Slides/​pt3-dlreasoning.pdf|DL reasoning}} 
 +    * Labs: 
 +      * DL reasoning: [[http://​www.cs.man.ac.uk/​~horrocks/​Teaching/​cs646/​Labs/​dlreasoning/​|HTML]],​ {{http://​www.cs.man.ac.uk/​~horrocks/​Teaching/​cs646/​Labs/​dlreasoning.pdf|PDF}} 
 +      * [[http://​www.cs.man.ac.uk/​%7Ehorrocks/​Teaching/​cs646/​Exams/​dlreasoning2/​|Exam]] - zadania z DL 
 +  * [[http://​www.cs.man.ac.uk/​~rector/​modules/​CS646/​|Rector]] 
 +    * Lectures: [[http://​www.cs.man.ac.uk/​~rector/​modules/​CS646/​Lecture-Handouts/​|Handouts]] 
 +    * Lab: [[http://​www.cs.man.ac.uk/​~rector/​modules/​CS646/​Lab-Handouts/​|Handouts]] 
 +  * [[http://​www.dcs.bbk.ac.uk/​~michael/​sw/​sw.html|SemWeb course in London]], 2012 
 + 
 +==== Narzędzia ==== 
 +  * [[http://​www.cs.man.ac.uk/​~horrocks/​FaCT/​|FaCT]] 
 +  * [[http://​www.sts.tu-harburg.de/​%7Er.f.moeller/​racer/​|Racer]] 
 +    * [[http://​www.sts.tu-harburg.de/​%7Er.f.moeller/​racer/​Racer-1-9-2-beta-Release-Notes/​release-notes-1-9-2se3.html#​x4-70003.2|RacerPorter]] GUI 
 +  * [[http://​blipkit.wordpress.com/​2010/​11/27/posh-the-prolog-owl-shell/​|POSH:​ the prolog OWL shell]] 
 +  * [[http://​code.google.com/​p/​dlmodel/​|DL model]] 
 +  * [[http://​db-tom.cs.uwaterloo.ca/​AssertionRetrieval/​pages/​kbgen.jsp|CARE]] - online 
 +  * [[http://​www.cs.man.ac.uk/​~sattler/​reasoners.html|More reasoners]]
  
-===== Spool ===== 
-Zapisz poniższe TBox'y w postaci zdań oraz zobrazuj je za pomocą grafów: 
-^ Lp. ^ Aksjomaty ^ 
-| TBox 1 | <​latex>​ \\ 
-Animal \sqsubseteq \exists eats. \top\\ 
-\mathit{Giraffe} ​ \sqsubseteq ​ Animal\\ 
-Giraffe ​ \sqsubseteq ​ \forall eats.Leaf\\ ​ 
-</​latex>​| 
-| TBox 2 | <​latex>​ 
-Vegetarian \equiv (\forall eats.(\neg (\exists partOf.Animal))) \sqcap (\forall eats.(\neg Animal)) \sqcap Animal\\ 
-Cow \sqsubseteq Vegetarian\\ 
-MadCow \equiv \exists eats.(\exists partOf.Sheep \sqcap Brain) \sqcap Cow \\ 
-</​latex>​ | 
-| TBox 3 | <​latex>​ 
-Elderly \sqsubseteq ​ Adult\\ 
-OldLady \equiv Elderly \sqcap Female \sqcap Person \\ 
-</​latex>​ | 
-| TBox 4 | <​latex>​ 
-OldLady \sqsubseteq ​ \exists hasPet.Animal \sqcap \forall hasPet.Cat \\  
-DogOwner \equiv Person \sqcap \exists hasPet.Dog \\ 
-AnimalLover \equiv Person \sqcap \geq 3 hasPet \\ 
-</​latex>​ | 
  
pl/dydaktyka/krr/lab_dl.1370030985.txt.gz · ostatnio zmienione: 2019/06/27 15:52 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0