4

クエリ対象のページに関連するページの同じクエリ プロパティに表示したいと思います。

たとえば、ドイツにある City カテゴリのすべてのページをクエリし、ページのタイトルを表示したいとしますが、ドイツのサーフェス データも表示したいとします。

このようなもの:{{#ask: [[Category:City]] [[location::Germany]] |?mainlabel |?Location.surface }}

これがうまくいかないことはわかっていますが、私が達成したいことがわかります。

4

1 に答える 1

3

クエリを他のクエリ内に直接ネストする方法があるかどうかはわかりません。これを行う通常の方法は、テンプレートを使用することです。{{tablerow}}したがって、次のもので構成されるテンプレート (または、これがテンプレートに入る場合はテンプレートのサブページ) を定義できます。

<includeonly>
|- valign="top"
| [[{{{1|}}}]]
| {{#show: {{{1|}}} | ?surface }}</includeonly>

<includeonly>タグが重要な理由はよくわかりません。タグを省略すると、エラーが発生することがあります。#ask次に、でクエリを実行するだけですformat = template。(ヘッダーをクエリに組み込むこともできますが、外部に配置する方が簡単だと思います。)

{| class="wikitable smwtable sortable"
|- valign="bottom"
! [[City]]
! [[Surface]]

{{#ask: [[Category:City]] [[location::Germany]]
  | format   = template
  | template = tablerow
  | link     = none
}}

|}

これにより、クエリによって返された各結果がテンプレート as を介してパンチされ、{{{1}}}それに基づいて行が生成されます。メインクエリから返す他のデータがある場合、要求する追加のプロパティは、連続した名前のないパラメーターとして出力されます (したがって、を含める場合| ?population、それはテンプレートに入り{{{2}}}、行構造に追加する必要があります。落とされます)。

于 2013-03-07T16:57:38.577 に答える