3

1 ページに複数回出現する可能性のあるテンプレートを使用して入力されたデータを要約したいと考えています。この要約は、現在のページのみに基づいて作成したいと考えています。

ただし、ページごとに複数回テンプレートによって設定されたプロパティに割り当てられたすべての値を取得する方法がわかりません。私が試したすべてのセマンティック クエリは、特定のページのプロパティの一意の値のみを返します。

たとえば、テンプレートに 3 つのフィールドとプロパティがあるとします。

</noinclude><includeonly>
'''GeneralFoodF:'''  [[GeneralFoodP::{{{GeneralFoodF|}}}]] 

'''SpecificFoodF:'''  [[SpecificFoodP::{{{SpecificFoodF|}}}]] 

'''RatingFoodF:'''  [[RatingFoodP::{{{RatingFoodF|}}}]] 
</includeonly>

そして、このテンプレートの 4 つのオカレンスを、次の値で特定のページに追加します。

   {{FoodT
   |GeneralFoodF=Fruit
   |SpecificFoodF=Apple
   |RatingFoodF=4
   }}
   {{FoodT
   |GeneralFoodF=Vegetable
   |SpecificFoodF=Spinach
   |RatingFoodF=5
   }}
   {{FoodT
   |GeneralFoodF=Fruit
   |SpecificFoodF=Pear
   |RatingFoodF=5
   }}
   {{FoodT
   |GeneralFoodF=Fruit
   |SpecificFoodF=Apple
   |RatingFoodF=3
   }}

次に #show クエリを実行します。

{{#show: {{PAGENAME}} | mainlabel =- | headers = hide | link=none | ?GeneralFoodP}}

戻ると思っていたのに、果物、野菜、果物、野菜、果物、果物。wiki ページのテキストは正しく、4 つのエントリすべてが表示されていますが、セマンティック クエリで重複するエントリをキャプチャできないようです。特定のページに入力されたすべてのプロパティ値 (重複を含む) を取得するにはどうすればよいですか?

4

1 に答える 1

1

プロパティが何を意味するかを考えてみましょう: 車に プロパティ があるis red場合、それを 2 回指定しても赤くなりません。色はやはり「赤赤」ではなく赤です。したがって、あなたが私たちに示す結果は完全に期待されています.

必要に応じて、サブオブジェクトの使用を検討してください。それらはページと同じようにオブジェクトですが、独自のページを持たず、1 つ以上のプロパティを持つことができます。

{{#subobject:
 |GeneralFoodF=Fruit
 |SpecificFoodF=Apple
 |RatingFoodF=3
 |Belongs to={{PAGENAME}}
}}

次に、そのページのすべてのサブオブジェクトを次のようにクエリできます。

{{#ask: [[Belongs to::{{PAGENAME}}]]
 |?GeneralFoodF
 |?SpecificFoodF
 |?RatingFoodF
}}

またはすべてのページの同様のサブオブジェクトの場合:

{{#ask: [[SpecificFoodF::+]]
 |?GeneralFoodF
 |?SpecificFoodF
 |?RatingFoodF
}}

サブオブジェクトにも名前を付けることができますが、あなたの場合はそれらを匿名にしたいです(効果的に、すべての一意の自動的に作成された名前を付けます)。

見る:

于 2014-04-23T07:32:39.310 に答える