Open Source im professionellen Einsatz
Linux-Magazin 07/2009
719

Dynamische Kategorien

Die Wikipedia macht intensiven Gebrauch von Kategorien. Auf diese Weise erzeugt die Enzyklopädie die Übersichtsseiten mit Künstlern und Philosophen. Das lässt sich mit dem SMW wesentlich eleganter über Attribute und Abfragen erledigen. Dabei zeigt sich noch ein weiterer Vorteil dieser Methode. Kategorien tendieren dazu, immer feingliedriger, damit aber auch unhandlicher zu werden. So gibt es zur Wikipedia-Kategorie »Künstler« auch noch die Unterkategorien »Künstler des 20. Jahrhunderts« und »Deutsche Künstler«, also im Grunde beliebige Zusammenstellungen von Attributen, die als Etikett eine Kategorie aufgeklebt bekommen.

Genau das bietet das SMW mit seinen dynamischen Kategorien an. Statt eine Abfrage mit »#ask« durchzuführen, kommen die Parser-Funktion »#concept« und der Namespace »Konzept:« zum Einsatz, etwa auf einer Seite »http://example.org/index.php/Konzept:GeborenInEdinburgh«:

{{#concept:  [[attGeburtsstadt::Edinburgh]]
| Berühmte Einwohner Edinburghs
}}

Bei Bedarf lässt sich diese Kategorie weiter auf »Berühmte Einwohner Edinburghs des 18. Jahrhunderts« spezialisieren, ohne dass an den Daten etwas zu ändern wäre. Lediglich die Abfrage bräuchte etwas Tuning. Um eine neue Kategorie zu erstellen, muss der Admin also nicht mehr alle in Frage kommenden Seiten ändern, sondern braucht nur noch ein neues Konzept zu erstellen.

Abbildung 3: Das Formular für Personen entsteht durch die Definition von Datenfeldern und -typen.

Semantische Formulare

Dass der Admin eines Wiki wissen sollte, was es mit Kategorien, Vorlagen, Abfragen und so weiter auf sich hat, ist selbstverständlich. Aber kann man das auch von einem normalen Benutzer verlangen? Ideal wäre es, wenn der Benutzer an Stelle von Vorlagen - die ja immer auch Hintergrundwissen benötigen - gleich Eingabeformulare präsentiert bekäme. Für diesen Zweck gibt es die Extension zur Extension: Semantic Forms [3]. Vorlagen und Attribute lassen sich dabei zunächst analog zur Version ohne Semantic Forms produzieren - aber unterstützt von einem Softwarewerkzeug.

Der Ablauf folgt immer dem gleichen Schema: Zuerst sind Attribute zu definieren. Dafür ist die Seite »http://example.org/index.php/Spezial:CreateProperty« gedacht. Der Admin gibt einfach den Namen des Attributs an, wählt aus den verfügbaren Datentypen aus und drückt »OK« - schon hat er das Wiki um ein weiteres Attribut bereichert.

Für Datumswerte gibt es in der aktuellen Version 1.5.4 der Semantic Forms einen Showstopper: Um ein Datum für die Eingabe aufzubereiten, wird es in einen Unix-Timestamp mit Vorzeichen umgewandelt. Dadurch lassen sich nur Zeitangaben zwischen dem 13.12.1901 20:45:54 und dem 19.1.2038 03:14:07 verarbeiten. Das Semantic Mediawiki selbst kennt dieses Problem nicht.

Sind alle Attribute produziert, geht es auf »http://example.org/index.php/Spezial:CreateTemplate« weiter mit der Erzeugung der Vorlagen, die den Daten Struktur verleihen. Auf dieser Seite kann der Wiki-Verwalter optional die Kategorie der Vorlage bestimmen. Das sollte er auch tun, denn die Kategorie dient dazu, die Vorlage und das zugehörige Standardformular aneinander zu binden. Dadurch erscheint später bei der Bearbeitung einer Seite der zusätzliche Reiter »Mit Formular bearbeiten«. Nach der Ersterfassung ist so auch die Nachbearbeitung von Daten via Formular möglich.

Aber diese Verwendung von Kategorien in einem semantischen Wiki unterscheidet sich offensichtlich erheblich von der in einem normalen Wiki: Dort sind über die Kategorien so etwas wie Tags realisiert, aber dafür besitzt ein semantisches Wiki ja seine Abfragen und dynamischen Kategorien. Ein Benutzer hat mit Kategorien also nichts mehr zu tun, er bewegt sich nur noch in der Welt der Attributwerte und Formulare.

Falls wie im Beispiel die Vorlage bereits besteht, muss der Admin noch etwas nachbessern: Zunächst ist die Kategorie zu ergänzen: »[[Kategorie:Person]]«. Danach verbindet er auf der Spezialseite »http://example.org/index.php/Spezial:CreateCategory« Kategorie und Formular miteinander. Im Quelltext der Kategorie steht jetzt »Diese Kategorie nutzt das Formular [[Hat Standardformular::Person]]«.

Nach diesen Vorarbeiten geht es im nächsten Schritt zum Erzeugen der Formulare. Das geschieht mit Hilfe der Spezialseite »http://example.org/index.php/Spezial:CreateForm«. Hier reicht es, das Formular zu benennen und die Vorlage auszuwählen, um zu einer Seite zu gelangen, auf der man das zukünftige Formular noch um einige Feinheiten wie etwa Pflichtfelder ergänzen kann.

Die drei Seiten zum Anlegen von Attributen, Vorlagen und Formularen lassen sich allerdings nur zum Erzeugen benutzen. Ein nachträgliches Bearbeiten ist lediglich durch einen Eingriff in den erzeugten Code möglich. Das ist aber unkompliziert und erlaubt es zudem, Formulare etwas aufzuhübschen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.