Hilfe:Semantic MediaWiki

Aus Star Citizen Wiki

TL;DR

Semantic MediaWiki erlaubt verschiedene Daten mit einer Seite zu verknüpfen. Diese Daten können dann auf anderen Seiten abgefragt und dargestellt werden.

Semantic MediaWiki (SMW) ist eine kostenlose Open-Source-Erweiterung für MediaWiki - die Wikisoftware, die Wikipedia betreibt - mit der du Daten in den Wikiseiten speichern und abfragen kannst.

TBD

SMW Konzepte

  • Attribute
  • Abfragen

Daten abfragen und ausgeben

Daten, die mit einer Seite verknüpft sind, können durch das semantic Wiki auch wieder abgefragt und aus gegeben werden. Ein einfaches Interface zum Stellen dieser Fragen findest du unter Semantische Suche.

Dazu wird die Funktion {{#ask: ... }} verwendet. Wie der Name ask vermuten lässt, wird hiermit eine "Frage" an das Wiki gestellt.

Die Struktur einer Abfrage ist dabei immer gleich. Zuerst werden Bedingungen gestellt, zum Beispiel nur Seiten der Kategorie:Raumschiff. Danach können die Attribute angegeben werden, welche auf der Seite angezeigt werden sollen.

Alle verfügbaren Attribute einer Seite findest du auf der jeweiligen Seite im Menü oben Rechts (drei Punkte), unter dem Punkt Attribute anzeigen. Die dort aufgelisteten Attribute können in deiner Abfrage angezeigt werden.

Beispiel: Seiten in Kategorie Raumschiff

Information

Hinter jedem Beispiel kannst du das Ergebnis der Abfrage sehen, indem du auf Ergebnis klickst. Auf der neu geöffneten Seite kannst du links auf den Stift klicken, um die Abfrage zu sehen und zu bearbeiten.

Anzeigen aller Seiten der Kategorie Raumschiff

{{#ask:[[Kategorie:Raumschiff]]}} -> Ergebnis

Achtung: Dies listet alle Seiten in der Kategorie Raumschiff und allen Unterkategorien auch. Sowohl "normale" Inhaltsseiten, als auch Medien!

Um nur Inhaltsseiten aufzulisten müssen wir unsere Bedingung erweitern: {{#ask:[[Kategorie:Raumschiff]]}[[:+]]} -> Ergebnis

Der Zusatz von [[:+]] grenzt alle Seiten, welche keine Inhaltsseiten sind aus.

Umgekehrt können wir auch nur alle Medien ausgeben, dazu ändern wir die Bedingung von [[:+]] auf [[Datei:+]]

Dies listet aber weiterhin alle Seiten der Raumschiff und aller Unterkategorien auf. Wollen wir nur die Kategorie Raumschiff ausgeben, müssen wir unsere Bedingung erneut erweitern. {{#ask:[[Kategorie:Raumschiff|+depth=0]][[:+]]}} -> Ergebnis

Der Zusatz von [[|+depth=0]] limitiert die tiefe der Kategoriesuche auf nur diese Kategorie.


Beispiel: Mehrere Bedingungen

Führen wir unser Beispiel von eben fort, indem wir unsere Suche weiter eingrenzen. Statt aller Raumschiffe, wollen wir jetzt nur die Raumschiffe des Herstellers Origin Jumpworks GmbH ausgeben.

Wir wissen dazu, dass im Wiki das Attribut:Hersteller existiert, und jede Raumschiffseite dieses Attribut verwendet. Wir erweitern unsere Abfrage um die Bedingung, dass das Hersteller gleich "Origin Jumpworks GmbH" sein muss:

{{#ask:[[Kategorie:Raumschiff|+depth=0]][[:+]][[Hersteller::Origin Jumpworks GmbH]]}} -> Ergebnis

Beispiel: Attribute ausgeben

Bisher haben wir uns nur die Titel der Seiten ausgeben lassen, die zu unserer Bedingung passen.

Der große Vorteil von Semantic MediaWiki ist, dass wir zusätlich alle Attribute mit ausgeben können, die mit den ausgewählten Seiten verknüpft sind. Am Beispiel der Attribute der 300i sehen wir, dass jedes Raumschiff auch seine Länge, Breite, und Höhe speichert.

Wir erweitern unsere Abfrage um diese Attribute als Tabelle auszueben:

{{#ask:[[Kategorie:Raumschiff|+depth=0]][[:+]][[Hersteller::Origin Jumpworks GmbH]]
 |?Länge
 |?Breite
 |?Höhe
 |format=broadtable
}}

-> Ergebnis


Daten mit einer Seite verknüpfen

Daten (Attribute) können auf mehreren Wegen mit einer Seite verknüpft werden. In fast allen Fällen geschieht die Verknüpfung hier im Wiki automatisiert bei der Verwendung von Vorlagen.

Existiert noch keine Vorlage, oder sollen Daten testweise verknüpft werden, so kannst du dies wie folgt tun.

Verknüpfung im Fließtext

Attribute können direkt im Fließtext einer Seite hinzugefügt werden, die Syntax lautet dabei [[Attribut::Wert]].

Am Beispiel des fiktiven Raumschiffes 200i fügen wir im Beschreibungstext die Länge und Breite des Raumschiffes hinzu:

Eingabe im Quelltext:
Die 200i ist ein fiktives Raumschiff von Origin Jumpworks. Sie ist insgesamt [[Länge::17.5m]] lang und [[Breite::5m]] breit.

Ausgabe auf der Seite:
Die 200i ist ein fiktives Raumschiff von Origin Jumpworks. Sie ist insgesamt 17.5m lang und 5m breit.

In diesem Fall wäre das Attribut:Länge mit dem Wert 17.5m und das Attribut:Breite auf der fiktiven Seite 200i gespeichert.

Verknüpfung ohne Textausgabe

Meistens ist es jedoch schwierig Attribute im Fließtext unterzubringen. Alternativ können alle Attribute gesammelt am Ende der Seite hinzugefügt werden. Dies geschieht über den Code {{#set:|Attribut=Wert}}.

Ereut am Beispiel der 200i:

Eingabe im Quelltext:
Die 200i ist ein fiktives Raumschiff von Origin Jumpworks. Sie ist insgesamt 17.5m lang.

{{#set:
|Länge=17.5m
|Breite=5m
}}

Ausgabe auf der Seite:
Die 200i ist ein fiktives Raumschiff von Origin Jumpworks. Sie ist insgesamt 17.5m lang.

Auch hier haben wir wieder beide Attribute mit der Seite verknüpft.

Cookies helfen uns bei der Bereitstellung dieses Wikis. Durch die Nutzung des Star Citizen Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.