Help:Attribute und Datentypen

From semantic-mediawiki.org
Jump to: navigation, search
Semantic MediaWiki-
Nutzeranleitung
Einführung
Browsen und Suchen
Semantisches Browsen
Spezial:Semantische Suche
Spezial:Browsen
Semantische Suche
Seitenauswahl
Informationsanzeige
Ergebnisformate
Eingebettete Abfragen
Abfragen abfragen
Konzepte
Schlussfolgerungen
Bearbeiten
Attribute und Datentypen
Spezialattribute
Inverse Attribute
Eigene Maßeinheiten

Semantische Vorlagen

Servicelinks

Semantisches Web
RDF-Export

Externe Programme

Vokabular importieren

Semantic MediaWiki-
Administratorenanleitung

Attribute und Datentypen sind die zentralen Komponenten, mit denen semantische Daten in Semantic MediaWiki erfasst werden. Diese Hilfseite dokumentiert die hierzu vorhandenen Informationen.

Attribute

Attribute sind im Prinzip Kategorien für Werte in Wiki-Seiten. Sie werden nach einem einfachen Schema erstellt, ähnlich dem Syntax für Links in MediaWiki:

[[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 Property (bzw. Attribut bei dt. Installationen) 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 MediaWiki-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 dargestellt 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 hinsichtlich 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 Datentyp zur Anwendung, das wie ein normales Attribut verwendet wird und als Wert den Namen des gewünschten Datentyps enthält.

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

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

[[Datentyp::Zahl]].

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 nicht gewü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 des Datentyps „Zahl“ alle Attribute, die den Datentyp Zahl 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 auf der Attributseite festlegen
[[Datentyp::Datentypbezeichnung]]
Anzeige eines Weblinks mit einem Attribut des Datentyps „URL
Unsere Website können Sie unter [[Website::http://beispieldomain.de]] aufrufen.
Ausgabe: Unsere Website können Sie unter http://beispieldomain.de aufrufen.
Anzeige einer E-Mail-Adresse mit einem Attribut des Datentyps „E-Mail
Sie können Hans unter der E-Mail-Adresse [[E-Mail-Adresse::hans@beispieldomain.de]] erreichen.
Ausgabe: Sie können Hans unter der E-Mail-Adresse hans@beispieldomain.de erreichen.

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

Liste der Datentypen

Mit Hilfe verschiedener Datentypen können Attribute zur Beschreibung sehr unterschiedlicher Werte verwendet werden. Eine Liste der verfügbaren Datentypen ist auch auf der Spezialseite Spezial:Datentypen einsehbar. Die verfügbaren Datentypen sind:

HilfeseiteBezeichnungBeschreibungSoftware
Datentyp DatumDatumWird für das Speichern von Datums- und Zeitangaben genutztSemantic MediaWiki
Datentyp E-MailE-MailWird für das Speichern von E-Mail-Adressen genutztSemantic MediaWiki
Datentyp Geografische KoordinatenGeografische KoordinatenWird für das Speichern von Koordinaten zur Beschreibung geografischer Orte genutztSemantic Maps
Datentyp MaßMaßWird für das Speichern von Werten, einschließlich deren Maßeinheiten, physikalischer Größen genutztSemantic MediaWiki
Datentyp QuellcodeQuellcodeWird für das Speichern technischer, vorformatierter Texte genutzt (ähnlich Datentyp Text)Semantic MediaWiki
Datentyp SeiteSeiteWird für das Speichern von Seitennamen genutzt und stellt diese als Link darSemantic MediaWiki
Datentyp TelefonnummerTelefonnummerWird für das Speichern von Telefonnummer gemäß RFC 3966 genutztSemantic MediaWiki
Datentyp TemperaturTemperaturWird für das Speichern von Temperaturen genutzt (ähnlich Datentyp Maß)Semantic MediaWiki
Datentyp TextTextWird für das Speichern von Texten beliebiger Länge genutztSemantic MediaWiki
Datentyp URI-AnnotationURI-AnnotationWird für das Speichern von URI-Annotationen genutzt, die Besonderheiten beim Datenexport aufweisen (ähnlich Datentyp URL)Semantic MediaWiki
Datentyp URLURLWird für das Speichern von URIs, URNs und URLs genutztSemantic MediaWiki
Datentyp VerbundVerbundWird für das Speichern von Werteverbünden unterschiedlicher Datentypen, in vorgegebenen Reihenfolge, genutztSemantic MediaWiki
Datentyp WahrheitswertWahrheitswertWird für das Speichern von Wahrheitswerten genutztSemantic MediaWiki
Datentyp ZahlZahlWird für das Speichern aller Arten von Zahlen, Ganzzahlen oder Gleitkommazahlen genutztSemantic MediaWiki

Aufzählungen und Erlaubte Werte

SMW stellt keinen Datentyp für Aufzählungen bereit, also einen Datentyp, der eine begrenzte Anzahl expliziter Werte erlaubt (etwa ja/nein/vielleicht). Stattdessen kann das Spezialattribut „Erlaubt Wert“ (Attribut:Erlaubt Wert) verwendet werden, um für ein Attribut beliebigen Datentyps die erlaubten Werte anzugeben.

Einheiten

Der Datentyp number erlaubt die Verwendung von Maßeinheiten hinter dem Zahlenwert, um Werte zu unterscheiden (zum Beispiel: 30,3 mpg vs. 47 km/Liter), kann jedoch keine Konvertierungen zwischen den Einheiten vornehmen.

Um automatische Konvertierungen und mehrere Einheiten zu unterstützen, können jedoch benutzerdefinierte Datentypen mit eigenen Maßeinheiten erstellt werden. Diese wandeln Werte automatisch um, sodass Benutzer in Artikeln ihre bevorzugte Maßeinheit als Wert verwenden und trotzdem mit denen aus anderen Artikeln vergleichen und in einer Semantischen Abfrage gemeinsam anfordern können.

Spezialattribute

Spezialattribute haben jeweils eine ureigene, vordefinierte Funktion und werden nicht wie normale Attribute ausgewertet. Neben den bereits erwähnten Property:Has type und Property:Allows value gibt es noch weitere Spezialattribute (siehe Spezialattribute). Die Namen dieser Attribute können logischerweise nicht für eigene Attribute, die Spezialattribute selbst jedoch seit SMW 1.4.0 in Abfragen wie normale Attribute verwendet werden.

Stille Parser-Funktionen

Wertepaare mit #set

An Stelle des oben beschriebenen Schemas mit eckigen Klammern können semantische Daten auch unter Verwendung der stillen #set-Parser-Funktion festgelegt werden. Diese Funktion nimmt Paare von Attributnamen und Werten auf und speichert sie semantisch, erstellt jedoch keinerlei Ausgabe auf der Seite. Ein denkbarer Aufruf wäre zum Beispiel:

{{#set:
Einwohnerzahl=3.396.990
| Staat=Deutschland
}}

Der #set-Aufruf ist besonders hilfreich, wenn eine Zeichenkette oder ein Text gespeichert werden soll, der eckige Klammern enthält (etwa Wiki-Links). Dies würde nach dem herkömmlichen SMW-Schema nicht ohne Weiteres funktionieren.

Terminserien mit #set_recurring_event

Einen weiteren komplexen Datentyp stellen Terminserien dar, also Termine, die sich nach einer vorgegebenen Regel wiederholen wie etwa wöchentliche Treffen. Wir können solche Terminserien mit der #set_recurring_event-Parserfunktion festlegen, die – wie die #set-Funktion – keine Ausgabe erzeugt. Ein Beispiel wäre:

{{#set_recurring_event:
property=Hat Datum
| start=2010-01-13
| end=2011-10-31
| unit=week
| period=1
| include=2010-03-25;2010-03-31
| exclude=2010-03-24;2010-03-30
}}

Siehe Help:Recurring events (en) für weitere Informationen und Beispiele.

Handhabung in früheren Versionen

In früheren Versionen von SMW waren Attribute vom Typ Seite als Relationen bekannt und zwar nur solche, die die Zeichenfolge :: als Separator zwischen Attributname und Linktext verwendeten. Alle übrigen Attribute (Zahlen, Zeichenketten, usw.) waren als Attribute bekannt und mussten die Zeichenfolge := als Separator verwenden.

Siehe Upgrading from SMW 0.7 to SMW 1.0 (en) für sonstige Änderungen in SMW 1.0. Siehe semweb:Help:Annotation (SMW0.7) (en) für bestehende Installationen älterer Versionen von SMW.


Diese Dokumentationsseite gilt für alle SMW-Versionen von 1.5.0 bis zur aktuellsten Version.
      Andere Sprachen: enja

Help:Properties and types de 1.5.0