Zur Anmeldung als Teilnehmer bitte E-Mail mit Nennung des gewünschten Benutzernamens an: pfenz@mail.de
Hilfe:Semantische Annotation
Von Stadtwiki
Diese Seite erklärt die grundlegenden Annotationsmöglichkeiten des Semantic MediaWiki. Annotationen sind spezielle Markup-Elemente, die es den Editoren erlauben, Teile des Seiteninhalts explizit zu klassifizieren, so dass Software-Werkzeuge diese verwenden können, um die Benutzer zu unterstützen. Insbesondere bieten semantische Annotationen die Möglichkeit, die Wissensbasis über eine spezielle Suche selektiv zu befragen. Benutzer, die mit den Grundlagen des Editierens nicht vertraut sind, sollten zuerst die Editierhilfe lesen.
Annotationen im Semantic MediaWiki können als logische Fortsetzung des existierenden Kategoriensystems betrachtet werden. Kategorien sind ein Mittel, Artikel nach gewissen Kriterien zu klassifizieren. Zum Beispiel kann durch Hinzufügen von [[Kategorie:Stadt]] zu einem Artikel diese Seite als Beschreibung einer Stadt markiert oder getaggt werden. Software-Werkzeuge können diese Information verwenden, um eine geordnete Liste aller Städte in einem Wiki zu liefern und damit den Benutzern helfen, die Informationen im Wiki zu durchsuchen.
Semantic MediaWiki benutzt diese Kategorie-Informationen, bietet jedoch darüber hinaus weitergehende Möglichkeiten, ein Wiki zu strukturieren:
- Relationen
- sind praktisch „Kategorien für Verweise“. Sie können verwendet werden, um die Bedeutung eines Verweises zwischen zwei Artikeln zu klassifizieren. Zum Beispiel, der Link vom Artikel „Berlin“ auf den Artikel „Deutschland“ kann beschrieben werden durch die Beziehung eine „Hauptstadt eines Landes“ zu sein.
- Attribute
- erlauben dem Benutzer, dem Artikel weitere Information hinzuzufügen, indem Datenwerte für einige charakteristische Eigenschaften spezifiziert werden. Beispielsweise kann „Berlin“ assoziiert werden mit einer Bevölkerung von 3.396.990.
Obwohl diese Erweiterungen dem Benutzer ermöglichen, über die bloße Kategorisierung von Artikeln hinauszugehen, sind Benutzung und mögliche Probleme sehr ähnlich zu denen des Kategoriensystems. Da Kategorien, Relationen und Attribute letztlich nur bestimmte Teile des Artikels betonen, werden sie oft als (semantische) Annotationen bezeichnet. Dies basiert darauf, dass sie zumeist verwendet werden, um Information, die sich im Artikel befindet, noch einmal explizit zuzusichern, so dass auch Software-Werkzeuge Zugriff auf diese nehmen können. Beispielsweise ist die Tatsache, dass „Berlin“ in die Kategorie „Stadt“ gehört für menschliche Leser nicht neu, aktuelle Computerprogramme können diese Information jedoch nicht aus dem Artikeltext extrahieren – dieses Faktum muss annotiert werden, um die Information für Software explizit zu machen.
Ein wichtiger Hinweis beim Verwenden von speziellen Eigenschaften und Links ist, dass man hierfür die Sprache der lokalen Installation verwenden muss. So funktionert die Relation "has type::Type:String" in einer deutschen Wiki-Installation nicht. Hier muss anstelle dessen "hat Datentyp::Datentyp:Zeichenkette" verwendet werden. Dies schlägt sich vor allem in Fehlermeldungen in der Factbox nieder, das einem Attribut "kein Datentyp zugewiesen" wurde.
Inhaltsverzeichnis |
Kategorien
Wichtigste Referenz für die Benutzung von Kategorien ist die MediaWiki Dokumentation zu Kategorien. Benutzer werden Kategorien als universelle „Tags“ für Artikel, die beschreiben, dass der Artikel zu einer gewissen Gruppe von Artikeln gehört. Um etwa einen Artikel der Kategorie "Beispielkategorie" hinzuzufügen, schreibt man
[[Kategorie:Beispielkategorie]]
an sein Ende. Der Name der Kategorie (hier: „Beispielkategorie“) ist dabei beliebig, jedoch sollte letztlich naturgemäß versucht werden, Kategorien zu verwenden, die bereits existieren, statt stets neue zu verwenden. Jede Kategorie hat einen eigenen Artikel, auf den über [[:Kategorie:Beispielkategorie]] verwiesen werden kann. Dieser Artikel kann leer sein, jedoch ist es empfehlenswert hier eine Beschreibung der Artikel anzugeben, welche in die Kategorie fallen sollen.
Kategorien können auf viele verschiedene Arten interpretiert werden. Zum Beispiel könnte die Kategorie „Stadt“ alle Artikel über Städte beinhalten, d.h. beschreiben, dass etwas eine Stadt ist. Andere Kategorien, wie etwa die Kategorie „Mathematik“, könnten eher den Bereich beschreiben, den der Artikel abdeckt. Es existieren in vielen Fällen mehrere Informationen.
Semantic MediaWiki unterstützt diesen praktischen Nutzen von Kategorien: Kategorien sollten benutzt werden, um Sammlungen von Artikeln zu beschreiben, die nützlich oder interessant für den Benutzer sind. Jedoch werden eventuell einige Kategorien durch die erweiterten Suchmöglichkeiten von Semantic MediaWiki überflüssig, so dass ein mit der Semantic MediaWiki Erweiterung ausgestattetes Wiki mit einer deutlich geringeren Anzahl von Kategorien auskommt.
Relationen
Relationen sind praktisch „Kategorien für Verweise“. Um dies zu veranschaulichen, betrachte man den Wikipedia Artikel über Berlin. Dieser enthält viele Verweise auf andere Artikel wie etwa „Deutschland“, „Europäische Union“ oder „Die Vereinigten Staaten“. Jedoch hat der Verweis auf „Deutschland“ eine spezielle Bedeutung: Er wurde gesetzt, weil Berlin die Hauptstadt von Deutschland ist. Um dieses Wissen für Computerprogramme verfügbar zu machen, würde man nun den Verweis
[[Deutschland]]
aus dem Text mit einem „Tag“
[[ist Hauptstadt von::Deutschland]]
ausstatten. Er drückt also eine „Hauptstadt-Beziehung“ aus.
Im Artikel wird dieser Text immer noch als Verweis auf „Deutschland“ dargestellt. Der zusätzliche Text „ist Hauptstadt von“ ist der Name der Relation, die benutzt wird, um diesen Verweis zu klassifizieren. Wie schon bei Kategorien ist der Benutzer frei, jede beliebige Bezeichnung für die Relation zu wählen. Wiederum bietet sich jedoch die Wiederverwendung vorhandener Relationen an.
Um die Wiederverwendung zu vereinfachen, hat jede Relation einen eigenen Artikel, in dem ihre korrekte Verwendung beschrieben werden kann. Mit Hilfe von Spezial:Suche können dabei bereits existierende Relationen gefunden werden. Die Titel der Artikel über Relationen beginnen dabei mit „Relation:“, um sie von anderen Artikeln zu unterscheiden. Ihre Verwendung ist optional, hilft jedoch anderen Benutzern, die Relation zu finden und anzuwenden.
Es gibt mehrere Wege, Relationen zwischen zwei Seiten zu spezifizieren:
Ergebnis | Eingabe |
---|---|
Einen Verweis mit der Relation "Beispielrelation" auszeichnen | Einen [[Beispielrelation::Verweis]] mit der Relation "Beispielrelation" auszeichnen |
Einen Alternativtext für einen klassifizierten Verweis verwenden | Einen [[Beispielrelation::Verweis|Alternativtext]] für einen klassifizierten Verweis verwenden |
Attribute
Es gibt eine Vielzahl von Aussagen, die nicht allein durch Annotationen mittels Relation oder Kategorie ausgedrückt werden können. Beispielsweise macht es wenig Sinn, einen typisierten Verweis [[hat Einwohner::3,396,990]] anzugeben, da ein Artikel "3,396,990" nur wenig Sinn hat. Dennoch möchte man möglicherweise eine Liste aller deutschen Städte, geordnet nach der Zahl ihrer Einwohner, durch Semantic MediaWiki erzeugen lassen. Diese "Sortierung nach Größe" ist verschieden von der üblichen lexikographischen Sortierung, die man bei Artikelnamen erwarten würde. So ist etwa in der lexikographischen Sortierung "1,000,000" kleiner als "345" (ebenso wie "Alphabet" in einem Lexikon vor "Sortierung" gelistet ist).
Es gibt also zwei Anforderungen:
- anzugeben, dass Berlin eine Bevölkerung von 3,396,990 Einwohnern hat, ohne einen Verweis auf "3,396,990" machen zu müssen und
- dem Wiki mitzuteilen, dass "Bevölkerung" als Zahl behandelt werden soll und nicht als Text oder etwas anderes
Die wird zunächst dadurch erreicht, dass im Artikeltext über Berlin
[[Bevölkerung:=3,396,990]]
geschrieben wird.
Der einzige Unterschied zu einer Relation ist, dass man ":=" statt "::" schreibt. Die Zahl 3,396,990 taucht nun als gewöhnlicher Text auf und es wird kein Verweis erzeugt. Die Bezeichnung, in diesem Fall "Bevölkerung", kann dabei frei gewählt werden. Es wäre also auch jede andere Bezeichnung zulässig. Wie im Falle der Relationen erhält das Attribut "Bevölkerung" eine eigene Artikelseite, auf der eine Beschreibung für eben jenes geliefert werden kann. Der Name des Artikels beginnt in diesem Fall mit "Attribute:", er heißt also in diesem Fall "Attribute:Bevölkerung".
Es muss aber immer noch ausgedrückt werden, dass "Bevölkerung" eine Zahl ist. Zu diesem Zweck verfügt Semantic MediaWiki über eine Anzahl verschiedener Datentypen, aus denen für Attribute gewählt werden kann. Im Falle obigen Beispiels ist dies Type:Integer. Der Präfix "Type:" ist dabei wiederum ein eigener Namespace, der die beschreibenden Artikel für Typen von anderen Artikeln abgrenzt. Wenn man also nun ausdrücken möchte, dass das Attribut "Bevölkerung" einen ganzzahligen Typen hat, schreibt man im Artikel zum Attribut Bevölkerung (Attribute:Bevölkerung) schlicht:
[[has type::Type:integer]]
Dies bedeutet außerdem, dass die spezielle Relation "has type" für die Beziehung zwischen Attribute:population und Type:integer gilt. Neben dieser kennt Semantic MediaWiki eine Reihe von weiteren speziellen Relationen. Zwar können diese Relationen ebenso wie andere durch Artikel dokumentiert werden, sie haben jedoch eine spezielle, vordefinierte Bedeutung und werden anders als gewöhnliche Relationen ausgewertet.
Datentypen sind von entscheidender Wichtigkeit für die Auswertung von Attributen. Zum einen, da der Datentyp bestimmt, auf welche Weise gegebene Werte behandelt werden sollen, beispielsweise bei der Suche. Zum anderen, da der Datentyp wichtig ist, um Werte zu identifizieren, die als gleich zu behandeln sind. So beschreiben etwa "1532", "1,532" und "1.532e3" den gleichen Wert. Zuletzt bieten Datentyp auch noch einige spezielle Funktionen, die nachfolgend beschrieben werden. Aus diesen Gründen muss jedes Attribut einen Datentyp haben. Wenn kein Datentyp definiert wurde, wird der annotierte Artikel immer noch korrekt angezeigt, jedoch kann die semantische Annotation nicht ausgewertet werden, bevor der Datentyp spezifiziert und der Artikel erneut gespeichert wird. Entsprechend wirkt sich eine Änderung des Datentyps auch erst beim nächsten Speichern der betroffenen Artikel respektive der entsprechenden Relationen aus.
Die wichtigsten Mark-up Elemente für Attribute sind:
Ergebnis | Eingabe |
---|---|
Den Wert 1,234,567 dem Attribut "Beispiel" zuweisen. | Den Wert [[Beispiel:=1,234,567]] dem Attribut "Beispiel" zuweisen. |
Einen Wert von etwa einer Million zuweisen, aber einen alternativen Text im Artikel anzeigen. | Einen Wert von [[Beispiel:=999,331|etwa einer Million] zuweisen, aber einen alternativen Text im Artikel anzeigen. |
John hat die E-Mail Adresse john@mailinator.com. | John hat die [[:E-Mail Adresse:=john@mailinator.com]]. |
Den Typ eines Attributs in seinem Beschreibungs-Artikel angeben: Dieses Attribut ist eine Ganzzahl. | Den Typ eines Attributs in seinem Beschreibungs-Artikel angeben:<br/>Dieses Attribut ist eine [[has type::Type:Integer|Ganzzahl]]. |
MediaWiki Mark-up mit Attributwerten kombinieren: Johns E-Mail Adresse ist john@mailinator.com Hinweis: Es bietet sich an, ein Template zu verwenden. | MediaWiki Mark-up mit Attributwerten kombinieren: Johns E-Mail Adresse ist [[email:=john@mailinator.com|[mailto:john@mailinator.com john@mailinator.com]]]. |
Datentypen und Maßeinheiten
Indem verschiedene Typen verwendet werden, können Attribute für die Beschreibung einer Vielzahl von verschiedenen Eigenschaften eingesetzt werden. Eine vollständige Liste aller verfügbaren Typen und Ihrer Namen steht unter Special:Types zur Verfügung. Die grundlegenden Typen sind Type:Integer (Ganzzahlen), Type:Float (Dezimalzahlen) und Type:String (Zeichenketten). Diese können bedarfsgerecht eingesetzt werden, beispielsweise für Telefonnummern (die ja auch nicht-numerische Symbole enthalten können), E-Mail-Adressen oder URLs.
Attribute, die Dezimalzahlen repräsentieren treten in vielen wissenschaftlichen und technischen Anwendungen auf, wo sie physikalische Größen beschreiben. In diesen Fällen haben die Werte in der Regel eine Maßeinheit', die wichtig für die Interpretation des Wertes ist. Beispielsweise repräsentiert der Wert "17" an sich keine Entfernung, bis man weiß, ob diese in Metern, Kilometern oder Meilen angegeben wird. Semantic MediaWiki unterstützt daher Maßeinheiten für den Datentyp Type:Float. Es ist also möglich, das Attribut Länge durch
[[length:=17 km]]
anzugeben und ihm die Einheit Kilometer zuzuweisen. Wenn nun andere Artikel andere Längeneinheiten (beispielsweise Lichtjahre) verwenden, dann werden die Aussagen von Semantic MediaWiki nicht verwechselt. Werte mit verschiedenen Einheiten werden getrennt gespeichert, selbst wenn sie zum gleichen Attribut gehören.
Allgemein besitzt Semantic MediaWiki kein Wissen darüber, wie sich zwei unterschiedliche Maßeinheiten zueinander verhalten. Selbst wenn sie nur verschiedene Bezeichnungen für die gleiche Maßeinheit sind (zum Beispiel "m" und "Meter"), werden sie als unterschiedlich behandelt. Somit ist es hilfreich, in vielen Artikeln die gleiche Maßeinheit zu verwenden, so dass eine große Zahl von Attributen miteinander verglichen werden kann (auch für menschliche Leser ist eine konsistente Benutzung von Einheiten angenehmer). Selbst wenn für die Anzeige im Artikel eine andere Maßeinheit bevorzugt wird, kann man die gebräuchlichere Einheit referenzieren und nur die Darstellung verändern. Beispielsweise wird
[[length:=3.26km|3260m]]
als "3260m" angezeigt, jedoch als "3.26km" ausgewertet.
Für einige allgemein gebräuchliche Maßeinheiten bietet Semantic MediaWiki spezielle Datentypen, die über eine automatische Einheiten-Konvertierung verfügen. So konvertieren etwa Type:Geographic length, Type:Geographic area und Type:Mass automatische Konvertierungsroutinen, die gebräuliche Maßeinheiten in ein internes Standardformat umwandeln. Der annotierte Wert im Artikel zeigt in diesen Fällen einen Tooltip, der die Werte in verschiedenen Maßeinheiten angibt. Letztlich erlauben diese Konvertierung Semantic MediaWiki vor allem einen Vergleich einer größeren Menge von Werten miteinander.
Als letzte seien hier noch einige spezielle Datentypen erwähnt, die komplizierte Formate unterstüzt. Dies ist zum Beispiel Type:Geographic coordinate, das zum Beschreiben geographischer Orte verwendet werden kann. Dieser Typ bietet Funktionen, um verschiedene geographische Koordinaten zu erkennen und bietet dynamische Verweise auf Online Karten-Services.
Zeitpunkte können durch die Verwendung des Type:Date definiert werden. Dieser Typ ist derzeit noch als experimentell zu bezeichnen, wird jedoch in Zukunft möglicherweise Konvertierungen zwischen (historischen) Kalendertypen anbieten.
Dieser Artikel basiert auf dem Artikel Hilfe:Semantische Annotation vom 10.07.2007 aus der Stadtwiki-Allmende. Die Liste der bisherigen Autoren befindet sich in der Versionsliste. Wie hier stehen alle Texte der Allmende unter der CC-Lizenz by-nc-sa.
Der Artikel wird auf Allmende gepflegt und ist daher hier gesperrt, es gibt aber eine lokale Diskussionsseite für Fragen.