Hilfe:SemanticMediaeWiki

Aus MediaeWiki
Zur Navigation springen Zur Suche springen

MediaeWiki macht sich die freie Erweiterung Semantic MediaWiki (SMW) zunutze, mit der die Inhalte eines Wikis durchsucht, organisiert, gebrowsed, ausgewertet und mit anderen geteilt werden können. Während traditionelle Wikis nur Texte enthalten, die Computer weder verstehen noch auswerten können, fügt SMW semantische Annotationen hinzu.

Was macht Semantic MediaWiki

Wikis sind großartige Werkzeuge um Wissen zu sammeln und mit anderen zu teilen. Dieses Wissen findet sich meistens in Texten oder Multimedia-Dateien, so dass Menschen leicht darauf zugreifen können. Aber Wikis wachsen ständig weiter, und schon sehr bald kann es sehr zeitaufwendig werden, die Antwort auf eine bestimmte Frage zu finden. Computer dagegen können viel leichter mit großen Datenmengen umgehen und trotzdem können sie uns kaum dabei helfen, Antworten in einem Wiki zu finden. Der Grund dafür ist, dass selbst ausgefeilte Programme heute nicht fähig sind, Texte in menschlicher Sprache zu lesen und zu »verstehen«, sofern das Thema und der Schreibstil des Textes nicht sehr stark eingeschränkt sind.

Semantic MediaWiki erlaubt es, einen Teil des Wissens eines Wikis auch für Computer zugänglich zu machen. Die Schwierigkeit für den Computer besteht darin herauszufinden, was die Wörter auf einer Wiki-Seite bedeuten. Damit der Computern die Inhalte von Artikeln auch richtig deuten kann, benötigen sie etwas Hilfe.

In Semantic MediaWiki können Autoren daher »Hinweise« auf die Bedeutung einzelner Elemente in Wiki-Seiten einfügen. So könnte man z. B. einen vorkommenden Namen als den Namen des aktuellen Bürgermeisters markieren. Dies geschieht, indem Wiki-Autoren kurze Textbausteine um den eigentlichen Namen einfügen. Computer können diese Information dann auslesen und Nutzer des Wikis auf vielfache Arten unterstützen (natürlich »verstehen« Computer auch weiterhin nicht den Text, aber sie können nun für uns bestimmte Informationen gezielt durchsuchen). [1]

Semantische Annotationen im Wiki einfügen

Überblick über die SMW-Bearbeitungsfunktionen

Wiki-Seiten umfassen Links und Texte, die gewöhnlicherweise nur von Menschen verstanden werden können. Zum Beispiel bedeutet «ist die Hauptstadt von Deutschland mit einer Bevölkerung von 3.396.990» etwas völlig anderes als «spielt Fußball für Deutschland und verdient 3.396.990 Euro pro Jahr». SMW ermöglicht es, mit Hilfe von Annotationen für jeden Link und Text auf der Seite die dazugehörige Bedeutung zu hinterlegen. Dadurch werden Links und Texte in explizite Attribute des Artikels verwandelt. Das Attribut Hauptstadt von unterscheidet sich von in der Fußballnationalmannschaft von ebenso wie das Attribut Einwohnerzahl von jährliches Einkommen.

Diese Erweiterung ermöglicht es den Benutzern, über das bloße Kategorisieren von Artikeln hinauszugehen. Dabei sind Benutzung und mögliche Schwierigkeiten bei der Verwendung dieser Funktion ähnlich wie beim bestehenden Kategorien-System. Da Kategorien und Attribute lediglich einen bestimmten Teil eines Artikels abdecken, werden sie häufig (semantische) Annotationen genannt. Informationen, die der Artikel ohnehin schon bietet, zum Beispiel dass Berlin die Hauptstadt von Deutschland ist, können nun auf formaler Art und Weise Computerprogrammen zugänglich gemacht werden.

Neben Annotationen ermöglicht SMW den Bearbeitern auch, semantische Abfragen in Artikel einzubetten. Dadurch können Leser des Wikis fertige Abfrageergebnisse einsehen, ohne die erlernen zu müssen. [2]

Attribute und Datentypen

Attribute und Datentypen sind die zentralen Komponenten, mit denen semantische Daten erfasst werden. Attribute sind im Prinzip Kategorien für Werte in Wiki-Seiten. Sie werden nach einem einfachen Schema erstellt, ähnlich dem Syntax für Links.

[[Attributname::Attributwert]].

Diese Anweisung weist dem angegebenen Attribut Attributname für diesen Artikel den Wert Attributwert zu und zeigt denselben Wert an der entsprechenden Stelle auf der Seite an:

Attributwert.

Bestehende Links können direkt mit Attributen erweitert werden. Bei anderen Datentypen (Text, Zahlen, Kalenderdaten usw.) ist ein zusätzlicher Bearbeitungsschritt nötig, bevor das gewünschte Ergebnis erzielt werden kann.

Semantische Links

Betrachten wir zum Einstieg eine abgewandelte Version des Einleitungssatzes vom Wikipedia-Artikel über Berlin:

Berlin ist Bundeshauptstadt und Regierungssitz von Deutschland.

Beschränken wir uns zunächst auf die wohl wichtigste Information:

Berlin ist die Hauptstadt von Deutschland.

Um diese Information einem Computerprogramm zugänglich zu machen, müssen wir den Link

[[Deutschland]]

mit Hilfe einer semantischen Annotation dahingehend markieren, dass es sich bei dem verlinkten Artikel um jenen Staat handelt, von dem Berlin die Hauptstadt ist. In SMW erreichen wir dies ganz einfach, indem wir innerhalb der eckigen Klammern einen geeigneten Attributnamen, gefolgt von der Zeichenfolge :: an den Anfang setzen:

[[Hauptstadt von::Deutschland]].

Trotz semantischer Annotation wird der Text nach wie vor ganz gewöhnlich als Wiki-Link zum Artikel Deutschland angezeigt. Hinzugekommen ist lediglich im Hintergrund die Klassifikation, dass Deutschland den Wert zum Attribut Hauptstadt von bezüglich des Artikels Berlin darstellt.

Möchten wir auch die zweite Information aus obenstehender Berlin-Einleitung zugänglich machen, können wir die obere Vorgehensweise wiederholen. Das Ergebnis wäre dann:

[[Regierungssitz von::Hauptstadt von::Deutschland]].

Schließlich besteht unabhängig von SMW weiterhin die Möglichkeit, einen alternativen Linktext festzulegen:

[[Regierungssitz von::Hauptstadt von::Deutschland|Bundesrepublik Deutschland]].

Attribute benennen und wiederverwenden

Der Attributname ist wie bei Kategorien frei wählbar, sollte jedoch aussagekräftig und unter Berücksichtigung bereits verwendeter Attribute gewählt werden. Die Wiederverwendung von Attributen wird dadurch erleichtert, dass jedes verwendete Attribut – ähnlich wie eine Kategorie – automatisch eine eigene Seite im Namensraum Attribut erhält, auf der alle Artikel aufgelistet werden, die das Attribut verwenden. Diese Attributseiten sind über Property:Attributname zu erreichen und können auch über die Suche unter Special:Search gefunden werden. Darüber hinaus ist eine Liste aller verwendeten Attribute über die Seite Special:Properties zugänglich.

Attributseiten sind standardmäßig leer. Es ist jedoch dringend zu empfehlen, an der dortigen Stelle zu beschreiben, welchem Zweck das Attribut dient und wie es richtig angewendet wird.

Beispiele
Link mit Attribut
[[Attributname::Linkziel]]
Link mit Linktext
[[Attributname::Linkziel|Linktext]]
Link ohne Ausgabe
[[Attributname::Linkziel| ]] (Leerzeichen als Linktext)
Link mit Leerzeichen als Ausgabe
[[Attributname::Linkziel| ]] (HTML-Entity als Linktext)
Link mit zwei Attributen
[[Attribut1::Attribut2::Linkziel]]
Unsemantischer Link mit Zeichenfolge ::
[[:C++ :: Operator]]

Semantischer Text

Viele nützliche Informationen in Wiki-Artikeln liegen nicht in Form von Links vor. So ist im Wikipedia-Artikel über Berlin etwa die Einwohnerzahl angegeben. Um diese Information Computerprogrammen zugänglich zu machen, müssen wir wiederum den Text

3.443.570

mit einer semantischen Annotation dahingehend markieren, dass es sich bei dem Wert um die Einwohnerzahl handelt. Wir erreichen dies, indem wir den Text zunächst in einen Link umwandeln und anschließend dem im vorherigen Abschnitt beschriebenen Schema folgen:

[[Einwohnerzahl::3.443.570]].

Die Sache hat jedoch einen kleinen Haken: Zum einen wird die Einwohnerzahl fortan als Link zu einer 3.396.990-Seite angezeigt, was weder schön anzusehen ist noch wirklich Sinn ergibt. Zum anderen werden wir früher oder später auf ein Problem stoßen, wenn wir versuchen, die semantischen Daten zu nutzen und eine Anzahl von Städten nach ihrer Einwohnerzahl sortiert auszugeben.

Wir müssen Semantic MediaWiki daher wissen lassen, dass das Attribut Einwohnerzahl eine Zahl als Wert hat, die weder als Link dargestelt noch alphabetisch sortiert werden soll. Dies erreichen wir, indem wir dem Attribut einen Datentyp zuweisen.

Datentypen

Datentypen sind entscheidend bei der Auswertung von Attributen. Sie legen fest, wie Computerprogramme mit Attributwerten umgehen (etwa hinsichlich Reihenfolge und Formatierung in Suchergebnissen), und sind ebenso dafür verantwortlich, dass äquivalente Werte erkannt werden können (etwa 1532 = 1.532 = 1,532e3).

Die Festlegung eines Datentyps für ein Attribut erfolgt auf der entsprechenden Attributseite. Dort kommt das Spezialattribut has type zur Anwendung, das wie ein normales Attribut verwendet wird und als Wert den Namen des gewünschten Datentyps enthält.

Für die wichtigsten Zecke hält SMW bereits vordefinierte Datentypen bereit (siehe #Liste der vordefinierten Datentypen). So bietet sich für unser Attribut Einwohnerzahl beispielsweise der Datentyp number an.

Folglich legen wir auf der Seite Property:Einwohnerzahl diesen Datentyp folgendermaßen fest:

[[has type::number]].

Der Grund, wieso wir für das weiter oben verwendete Attribut Hauptstadt von keinen Datentyp angeben mussten, ist der standardmäßige Datentyp Page, der als Link dargestellt wird. Nichtsdestotrotz sollte für alle Attribute der Datentyp explizit festgelegt werden, um Unklarheiten sowie die spätere Zuweisung eines ungewünschten Datentyps zu vermeiden.

Übrigens hat auch jeder Datentyp seine eigene Seite – und zwar im Namensraum Type (bzw. Datentyp bei dt. Installationen). So finden wir in unserem Beispiel etwa auf der Seite Type:Number alle Attribute, die den Datentyp number verwenden – einschließlich dem Attribut Einwohnerzahl.

Beispiele

Für Attribute anderer Datentypen gilt das gleiche Schema wie für semantische Links:

Zahl mit Attribut

[[Attributname::1.234.567]]

Ausgabe: 1.234.567
Zahl mit Alternativtext
[[Attributname::999.331|etwa eine Million]]
Ausgabe: etwa eine Million
Datentyp festlegen (auf Attributseite)
[[has type::Datentyp]]
MediaWiki-Syntax mit Attribut
Johns Benutzername ist [[Benutzername::john|[mailto:john@example.com john]]].
Ausgabe: Johns Benutzername ist john

Von dieser (letzten) Vorgehensweise wird abgeraten; stattdessen sollten semantische Vorlagen verwendet werden.

Liste der vordefinierten Datentypen

Mit Hilfe verschiedener Datentypen können Attribute zur Beschreibung sehr unterschiedlicher Werte verwendet werden. Eine vollständige Liste verfügbarer Datentypen kann jederzeit auf der Seite Special:Types angezeigt werden. Die vordefinierten Datentypen sind:

  • Type:Page: Wiki-Links (Standard)
  • Type:Boolean: Boolesche Variable: (true/false bzw. 1/0 bzw. yes/no)
  • Type:Date: Daten und Zeitpunkte
  • Type:Text: Wie Type:String, jedoch mit unbegrenzter Länge und nicht als Auswahl- oder Sortierkritierium verwendbar
  • Type:Code: Wie Type:Text, jedoch mit Vorkehrungen, um spezielle Formatierungen technischer Texte zu erhalten. Der Wert wird überall als normaler Text angezeigt (Anfrageergebnisse, Faktenbox, Seiten mit diesem Attribut, usw.).

Quellen und Nachweise

  1. Dieser Abschnitt wurde übernommen und adaptiert von Einführung in Semantic MediaWiki unter der Creative Commons Attribution 2.0 Germany License. Die Autoren entnehmen Sie bitte der entsprechenden Versionsgeschichte.
  2. Dieser Abschnitt wurde übernommen und adaptiert von Bearbeiten unter der Creative Commons Attribution 2.0 Germany License. Die Autoren entnehmen Sie bitte der entsprechenden Versionsgeschichte.