2016-11-05 48 views
0

我有一個類叫演員和另一個叫電影。類別電影有屬性'hasBudget'和'hasActor'。每個演員都有屬性'hasNationality'。如何在語義媒體wiki中顯示嵌套查詢的屬性?

我需要一個顯示澳大利亞演員誰擁有超過4000萬預算的電影功能列表。

我使用以下查詢來列出演員和相應的電影以及預算。

{{#ask:[[Category:Actor]] [[hasNationality::Australia]] [[-hasActor::<q>  
[[Category:Film]] [[hasBudget::>40000000]]</q>]] 
|?# 
|?-HasActor 
|?HasBudget 
|format=broadtable 
|link=all 
|headers=show 
|searchlabel=... further results 
|class=sortable wikitable smwtable 
}} 

但是,這不能從子查詢中選擇預算。我如何提取預算財產?

任何幫助是非常appreciated..thanks

回答

2

這是正確的 - 你查詢Category:Actor從而導致您收到演員的網頁,而不是電影的網頁。 SMW查詢語法中沒有「連接」,因此實現它的唯一方法是使用子查詢和template結果格式。

這個想法是將子查詢封裝到模板中,這樣您將能夠首先查詢特定的Actor,然後查詢結果(如顯示Films及其每個Actor的預算列表)。

修改您的查詢這樣的:

{{#ask:[[Category:Actor]] [[hasNationality::Australia]] [[-hasActor::<q>  
[[Category:Film]] [[hasBudget::>40000000]]</q>]] 
|?=title 
|format=template 
|link=none 
|searchlabel=... further results 
|named args=yes 
|template=Actor result 
}} 

創建一個名爲東西模板像Actor result

Actor: {{{?title}}} 
Actors films: {{#ask: [[Category:Film]] [[hasActor::{{{?title}}}]] |?hasBudget }} 

所以,這樣一來,您將收到誰與> 40000000預算精選影片的演員名單,然後在Actor result模板中,您將查詢電影列表&他們的預算爲每個演員。