2016-04-11 44 views
0

目前我有3個類別,應用程序,應用程序實例和供應商。在Semantic MediaWiki中傳遞屬性

現在應用程序有一個鏈接(通過屬性Made By)給供應商。應用程序實例需要通過屬性鏈接回供應商。我有查詢我可以用退回的應用程序名稱和供應商是

{{#ask: 
[[Category:Program]][[{{{Program}}}]] 
|?Made By 
}} 
然而

{{#set:Made By={{#ask: 
[[Category:Program]][[{{{Program}}}]] 
|?Made By 
}}}} 

不起作用的屬性設置爲這是由問查詢返回的供應商的價值。

是否有其他方法可以做到這一點?

回答

1

也許有點晚,但你可以使用模板來設置屬性。像這樣?

在應用程序實例模板(或手動每個應用程序實例頁)增加以下要求查詢:

{{#ask:[[Category:Program]][[{{{Program}}}]] 
|?Made By 
|link=none 
|format=template 
|template=Set made by 
}} 

然後創建模板「維基/模板:設置所作」與以下內容:

includeonly> 
{{#set: 
Made By={{{2}}} 
}} 
</includeonly> 

  1. 參數{{{1}}}是所述受試者是頁面名稱和{{{2}}}瓦特生病是'Made By'的結果。
  2. 從查詢結果中剝離鏈接可防止將額外文本傳遞給set命令,從而導致混淆。
  3. 您還可以通過在查詢前添加一個減號來使用查詢中的屬性的逆。 (例如'-Made By')