Help:Ergebnisformat template

Das Ergebnisformat template wird dazu eingesetzt Abfrageergebnisse (eingebettete Abfragen) in einer zur Formatierung und Darstellung genutzten Vorlage auszugeben.

Parameter
Die folgende Tabelle gibt einen Überblick über die verfügbaren Parameter, beschreibt sie kurz und gibt deren Standardwerte mitsamt dem zugehörigen Eingabetyp an.

Vorlagen zu benutzerdefinierten Formatierung
Ein paar Ergebnisformate unterstützen die Verwendung von Vorlagen, mit denen die Ausgabe der Abfrageergebnisse bei eingebetteten Abfragen gesteuert werden kann. Dies sind die Formate template, list, ol und ul. Wenn eine Vorlage genutzt wird, werden alle Ergebniszeilen unter Verwendung derselben formatiert. Der Name der Vorlage wird als Parameter ohne die vorangestellte Namensraumbezeichnung „Vorlage:“ angegeben. Die entsprechenden Abfragen werden stets nach folgendem Schema erstellt:

Die einzelnen Abfrageergebnisse werden einzeln nacheinander von der in der Abfrage angegebene Vorlage verwendet, in der diese als nummerierte Vorlagenparameter enthalten sind. Sofern bspw. eine Vorlage drei mit einer Tabelle formatierte Zeilen enthält, besteht diese folglich aus drei Vorlagenparametern. Die Parameter werden, wie sonst bei MediaWiki üblich, ,  usw. geschrieben. Jeder Parameter bezieht sich dabei auf ein „Feld“ oder eine „Spalte“ in der jede ausgewählte Seite als Ergebnis angezeigt würde. Gewöhnlich enthält das erste Feld einer Abfrage den Seitentitel (siehe hierzu auch diese Stelle), so daß der Parameter  für den Seitentitel steht, während ,, …  für die Attributwerte der zusätzlich abgefragten Attribute stehen. Unten auf dieser Seite werden hierzu etliche Beispiele angeführt.

Das Ergebnisformat template</tt> ermöglicht eine größere Flexibilität bei der Darstellung von Abfrageergebnissen. Zu nennen wären:
 * Änderungen der Ausgabereihenfolge der Ergebnisse, bzw. das Auslassen doppelter Ergebnisse
 * Anzeige von Bildern in Abhängigkeit von den Ergebnissen
 * Erzeugung von Links zu Attributwerten
 * Nutzung von CCS, um bspw. Schriftgröße, Ausrichtung, Hintergrundfarbe, usw. individuell je Tabellenspalte zu formatieren

Für den Fall, daß eine Vorlage zur Anpassung von Links genutzt wird, sollte der Parameter link=none</tt> gesetzt werden, um SMWs automatische Verlinkung zu Artikeln zu verhindern. Der gleiche Effekt kann ebenso erzielt werden, indem man das Ausgabeformat „formatlos“ wählt (siehe hierzu diese Stelle). Nun kann man  </tt> um alles setzen, zu dem ein Link erstellt werden soll.

Zum besseren Verständnis, hinsichtlich der Erstellung einer Vorlage zur Formatierung einer Abfrage, kann zunächst das Beispiel einer Abfrage mit dem Ergebnisformat table</tt> dienen. Sofern hierbei eine Abfrage nur Ergebnisse einer Seite ausgeben soll, wozu üblicherweise die Parserfunktion #show</tt> verwendet wird, wird der Seitenname der Seite ausgeblendet, die das Abfrageergebnis enthält. Daher verweist die Variable </tt> auf die erste Ausgabeanweisung und nicht auf den Seitennamen. Die Nutzung der Ausgabeanweisung ?</tt> oder die Angabe eines Titels für die Hauptergebnisspalte mainlabel</tt> ermöglicht die Änderung dieses Verhaltens.

Die folgenden Beispiele verwenden allesamt die Vorlage Query output demo (de) die folgenden Wikitext enthält:

Menschen tummeln sich auf in.

Die untenstehenden Abfragen veranschaulichen die Auswirkungen bei der Nutzung dieser Vorlage:

Ergebnis:

Das obige Beispiel zeigt wie die Vorlage alle in der Abfrage angegebenen Titel, wie z. B. „Größe in km²“, ignoriert. Dennoch zeigt die Vorlage die bei der Ausgabeformatierung angegebene Einheit ?Fläche#km²=Größe in km²</tt> an. Ebenso werden alle weiteren Ausgabeformatierungen angewendet. Siehe hierzu auch die Hilfeseite Informationsanzeige.

Nun folgt eine ähnliche, nach der Bevölkerungszahl sortierte Abfrage, die das Ergebnisformat ol</tt> nutzt, um eine nummerierte Liste zu erzeugen:

Ergebnis:

Sofern für die Abfrage eine einzelne Seite direkt angegeben wird, enthält das Abfrageergebnis nicht diese Seite. Um nun die selbe Vorlage dennoch nutzen zu können, muss in der Abfrage mit Hilfe von |?</tt> gesondert angegeben werden, dass der Seitenname angezeigt werden soll:

Ergebnis:

Gleiches kann mit der Parserfunktion #show</tt> bewerkstelligt werden, obschon dies nicht ihr überlicherweise vorgesehener Verwendungszweck ist:

Ergebnis:

Vorlagen können auch andere Parserfunktionen, wie bspw. Parserfunktionen mit denen Bedingungen formuliert werden, oder gar weitere Abfragen enthalten. Beispiele für derart komplexe Abfrageformatierungen sind auf den folgenden externen Webseiten zu finden:
 * Anstehende Veranstaltungen auf der Hauptseite von semanticweb.org: Der Abschnitt zu den Veranstaltungen auf dieser Seite zeigt lediglich bestimmte herausgehobene Veranstaltungen an. Jede dieser Veranstaltungen wird mit einer Vorlage formatiert, die eine weitere eingebettete Abfrage enthält, um ihr untergeordnete Veranstaltungen, wie bspw. begleitende Workshops, Tutorien usw. zu ermitteln.
 * Publikationen auf korrekt.org: Alle Listen auf dieser Webseite werden durch Abfragen erstellt, die mit Vorlagen versehen sind. Bedingungen wie #if</tt> and #ifeq</tt> werden hier eingesetzt, um die Ergebnisformatierung abhängig von der Art der Publikation sowie den verfügbaren Daten (Hauptpublikationen werden bspw. in Fettschrift angezeigt) durchzuführen.

Verwendung des Parameters userparam
Es ist mit einer Abfrage möglich, der Vorlage den Parameter userparam als einzelnen benutzerdefinierten Parameter hinzuzufügen. Dies wird mit |userparam=Wert des Parameters</tt>. In der Vorlage wird der Parameterwert mit der dort angegebenen Variable  </tt> ausgegeben.

Dieser Parameter erhöht die Verwendbarkeit einzelner Vorlagen und macht sie vielseitiger einsetzbar. Der Parameter ermöglicht es, eine einzelne Vorlage im Zusammenhang mit mehreren unterschiedlichen Abfragen zu verwenden und dennoch in allen Fällen eine sinnvolle Ergebnisausgabe zu erhalten.

Beispielsweise könnte man so die umgangssprachliche Standardformulierung „tummeln sich“ durch „leben“ ersetzen, usw.

Ergebnis:

Anzeige des Links zu weiteren Ergebnissen
Der Link zu weiteren Ergebnissen ([weitere Ergebnisse …]), wie er bei anderen Ergebnisformaten möglich ist, funktioniert nur beim Ergebnisformat template selbst. Sofern Ergebnisse in tabellenform ausgegeben werden sollen, werden die Parameter <tt>introtemplate</tt> und <tt>outrotemplate</tt> verwendet, um dies umsetzen zu können. Siehe diese Seite (en) für weitere Informationen hierzu.