Open Source im professionellen Einsatz
Newsletter abonnieren
HEFTARCHIV | NEWS | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO

Partner-Links:
Yatego Shopping
Notebook Themenwelt
 
Yatego Deutschlands größte Shoppingmall. Über 8500 Shops, und 3 Mio Artikel.
Alle Bestseller, Gutscheine
und Shopping Tops.

Firewall bei Mercateo kaufen.

Ein Preisvergleich bei Hardware lohnt sich.

Sie suchen günstige Laptops? Schauen Sie doch mal bei Preisvergleich.org, Preisvergleich.eu, Preisvergleich.ch und Preisvergleich.at vorbei.

Linux Jobs

Job offers Netherlands


user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2009  »  07  »  Struktur fürs Wiki  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

© Evgeniy Pavlenko, 123rf

Die Wiki-Erweiterungen Semantic Mediawiki und Semantic Forms

Struktur fürs Wiki

von Rolf Strathewerd
Erschienen im Linux-Magazin 2009/07

In der Wikipedia stehen viele Fakten über Städte und Philosophen. Wer aber wissen will, welche Philosophen in Edinburgh seit 1700 zur Welt kamen, muss lange recherchieren. Da hilft nur Geduld - oder eine semantische Erweiterung für das Mediawiki.

Wikis sind hervorragende Werkzeuge, um mit wenig Aufwand Informationen zu erfassen und zu vernetzen. Aber wenn es um die Verarbeitung von strukturierten Daten geht, stoßen sie schnell an Grenzen. Wer mit Mediawiki-Software [1] beispielsweise Adressen- oder Termindatensätze sammeln will, kommt mit der Grundversion nicht allzu weit.

Attribute schaffen Struktur

Um strukturierte Daten erfassen zu können, entwickeln seit 2005 Markus Krötzsch, Denny Vrandecic, Max Völkel und etwa 30 weitere Entwickler mit Unterstützung des AIFB-Instituts der Universität Karlsruhe die Erweiterung Semantic Mediawiki, kurz SMW [2]. Ganz allgemein geht es darum, Wiki-Seiten mit Attributen (»ist Geburtsort«, »ist Homepage«) und deren Werten (»Köln«, »http://linux-magazin.de«) zu bereichern. Noch eins draufgesetzt haben Yaron Koren und andere, indem sie eine weitere Extension bauten, mit der sich die strukturierten Daten über Formulare pflegen lassen.

Einer strukturierten Datenerfassung in der Wikipedia am nächsten kommen derzeit die Infoboxen (Abbildung 1). Sie geben beispielsweise für Städte in einer immer gleich aufgebauten Übersicht Eckdaten wie Einwohnerzahl und Landkreis an. Diese Kästen beruhen auf Vorlagen (Templates), also Texten mit Platzhaltern, die der Bearbeiter im Artikel mit Werten bestückt. Da Mediawiki und die semantischen Erweiterungen gut eingedeutscht sind, lassen sich häufig sowohl englische als auch deutsche Bezeichnungen verwenden (Tabelle 1).


Abbildung 1: In der Wikipedia finden sich strukturierte Daten in solchen Infoboxen.

Tabelle 1:
Übersetzungen

 

Englisch

Deutsch

Template

Vorlage

Property

Attribut

Has type

Datentyp

Special:Types

Spezial:Datentypen

Special:Ask

Spezial:Semantische_Suche

Concept

Konzept

Has default form

Hat Standardformular

Als Beispiel, das sich später zu einer richtigen Datenstruktur entwickeln soll, dient ein Personendatensatz, wie er in Listing 1 definiert ist. Um ihn dem Wiki bekannt zu machen, muss man »http://example.org/index.php/Vorlage:Person« ansteuern und mit dem Inhalt von Listing 1 füllen. Die Vorlage mit Werten zu füttern ist dann trivial, wie Listing 2 zeigt.

Auf diese Weise ist so etwas Ähnliches wie ein Personendatensatz mit vier Feldern entstanden. Der lässt sich hübsch anzeigen, aber viel mehr auch nicht. Es fehlen Datentypen sowie Abfragen, damit sich Daten ordentlich erfassen und auswerten lassen.

Listing 1: Einfache
Vorlage

01 {|
02 ! Vorname
03 | {{{vorname}}}
04 |-
05 ! Nachname
06 | {{{nachname}}}
07 |-
08 ! Geburtsdatum
09 | {{{geburtsdatum}}}
10 |-
11 ! Geburtsstadt
12 | {{{geburtsstadt}}}
13 |}

Listing 2: Inhalte für das
Wiki

01 {{Person
02 |vorname=Charles
03 |nachname=Babbage
04 |geburtsdatum=26.12.1791
05 |geburtsstadt=Walworth}}
06 
07 {{Person
08 |vorname=David
09 |nachname=Hume
10 |geburtsdatum=7.5.1711
11 |geburtsstadt=Edinburgh}}
12 
13 {{Person
14 |vorname=Pablo
15 |nachname=Picasso
16 |geburtsdatum=25.10.1881
17 |geburtsstadt=Malaga}}

Datenfelder und Datentypen

Diese Lücke füllt Semantic Mediawiki (SMW). Die Erweiterung ist Voraussetzung, um Datenstrukturen aufbauen zu können und mit einer Bedeutung zu versehen. Dazu gilt es zuerst, die zukünftigen Datenfelder mit Datentypen zu verknüpfen. Oder in der Sprache des SMW: Attribute sind zu definieren.

Angenommen in einem Wiki-Eintrag steht der Satz »David Hume wurde in Edinburgh geboren«, Edinburgh soll also das Attribut »attGeburtsstadt« erhalten. Dazu wandelt der Wiki-Benutzer das Wort »Edinburgh« zunächst in einen Link um und versieht diesen mit dem Attribut als Präfix:

David Hume wurde in [[attGeburtsstadt::Edinburgh]] geboren. 

Unter »http://example.org/index.php/Attribut:attGeburtsstadt« finden sich jetzt diese und alle anderen Seiten aufgelistet, die das Attribut enthalten sowie die Werte des Attributs. Aus einer großen Menge von Personen lassen sich nun alle herausfiltern, die in Edinburgh geboren sind. Das ist der Grundstein für Abfragen im Semantic Mediawiki.

Da für »attGeburtsstadt« noch niemand einen Datentyp vergeben hat, bleibt es erst einmal beim Standarddatentyp »Page«. Die Schreibweise »attGeburtsstadt« hilft Attribute von Feldern und Platzhaltern zu unterscheiden.

Das Beispiel in Listing 2 besteht aus nur drei via Vorlage erfassten Datensätzen, in einem realen Wiki könnten das leicht Hunderte oder Tausende sein. Da wäre es mehr als mühsam, in jedem Datensatz jedes Datenfeld mit den entsprechenden Attributen zu garnieren. Mit Vorlagen geht das wesentlich leichter. Die einfache Vorlage ergänzt der Wiki-Admin um Attribute, und schon befindet sich ein Stück auswertbare Semantik im Wiki.

Und tatsächlich liefert die Wiki-Adresse »http://example.org/index.php/Attribut:attGeburtsstadt« jetzt vier Seiten. Zu diesem Zeitpunkt sind alle Attribute noch vom Typ »Page«. Für »attGeburtsdatum« ist das nicht so günstig. Es sollte vom Typ »Datum« sein, um später beispielsweise Übersichtsseiten der Form »Wer wurde alles im 18. Jahrhundert geboren?« mit einer einfachen Abfrage erstellen zu können.

Dazu ist »http://example.org/index.php/Attribut:attGeburtsdatum« aufzurufen. Auch wenn diese Spezialseite genau wie beim »attGeburtsstadt« eine Seitenliste anzeigt, existiert sie in Wirklichkeit noch nicht. Mit einem Klick auf »Erstellen« kann der Wiki-Verwalter das jetzt nachholen und dort den Text »[[Datentyp::Datum]] Dieses Attribut bezieht sich auf den Geburtstag von Personen« eingeben. Der erläuternde Text ist im Gegensatz zur Definition des Datentyps zwar nicht notwendig, aber auf alle Fälle hilfreich. Eine Übersicht über die verfügbaren Datentypen findet sich auf der Seite »http://example.org/index.php/Spezial:Datentypen«.

Die Entscheidung für einen bestimmten Datentyp ist meist leicht zu treffen. Lediglich die Wahl zwischen »String« oder »Page« ist nicht ganz so trivial. Im vorliegenden Beispiel taucht diese Frage beim Geburtsort auf. Falls die Absicht besteht, später den Geburtsorten noch weitere Daten hinzuzufügen, ist »Page« die bessere Wahl. Bleibt es mit Sicherheit allein beim Namen der Stadt, so ist »String« die richtige Entscheidung.

An dieser Stelle noch ein Hinweis aus der Praxis: Es ist nicht ratsam, mehrere Datensätze auf einer Seite unterzubringen. Denn es wird dadurch unklar, wovon die einzelne Seite handelt - also beispielsweise von welcher Person. Und diese Unklarheit zieht sich dann auch durch alle Abfragen.

Sie können diesen Artikel als PDF für 99 Cent kaufen. Klicken Sie dazu einfach auf eine der beiden Bezahloptionen Paypal oder ClickandBuy.


Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Tragendes Rahmenwerk PHP-Anwendungsentwicklung mit Prado
Ein Quantum GIS Mit der freien Software Quantum GIS 1.0 eigene Karten generieren
Laufzeit-Tacho Profiler identifizieren Flaschenhälse in Perl-Programmen
Äpfel und Birnen C#-Entwicklung unter Linux - Teil 2
Aus großer Distanz Das API von Google Maps einsetzen
Richtig eintüten C#-Entwicklung unter Linux - Teil 3
Whitepaper
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele

Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
Usage Landscape Enterprise Open Source Data Integration

Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.

Download PDF (Registrierung erforderlich)
Kommentare (1)
von
KDZ,
24.06.2009 18:09
Praxisbeispiel
Ein Praxisbeispiel dazu: http://www.verwaltungskooperation.at
 

Impressum |Datenschutzerklärung  | Mediadaten  | © 2010Linux New Media AG
Linux New Media Websites
Deutschland: [Admin-Magazin] [LinuxUser] [EasyLinux] [Linux-Community] [Linux Technical Review] [Ubuntu User]
Europa: [EasyLinux Polen] [Linux Magazine Polen] [Linux Magazine Spanien]
International: [Linux Magazine International] [Linux Pro Magazine] [Ubuntu User] [Linux Magazine Brasilien] [EasyLinux Brasilien]