[英]filter birthcountry in Sparql
我正在進入SPARQL,我想提出一個簡單的要求,但似乎並不是那么容易...
我想從一個出生於特殊國家的俱樂部得到所有的足球運動員。
我要求從俱樂部獲得所有球員。 例如:
SELECT ?player WHERE {
<http://dbpedia.org/resource/Hertha_BSC> dbpedia2:name ?player
}
如何讓所有在德國出生的玩家擁有“過濾器”選項?
我已經以這種方式嘗試過,但似乎沒有得到任何東西...
prefix dbo:<http://dbpedia.org/ontology/>
SELECT ?player WHERE {
<http://dbpedia.org/resource/Hertha_BSC> dbpedia2:name ?player .
?birth dbo:birthPlace ?player.
filter (regex(?birth, "Germany")).
}
如果您能幫助我,我將不勝感激。
編輯:在中值希拉爾的幫助下,我試圖用“過濾器”完成它,但是它不起作用。
SELECT distinct ?player WHERE {
?player a <http://dbpedia.org/ontology/SoccerPlayer>.
?player <http://dbpedia.org/property/currentclub>
<http://dbpedia.org/resource/Hertha_BSC>.
optional {?subject <http://dbpedia.org/ontology/birthPlace>/<http://dbpedia.org/ontology/country> ?<http://dbpedia.org/resource/Germany>. }
filter (!bound(?subject)).
}
ORDER BY ASC(?player)
有什么建議么?
您的兩個查詢都沒有意義。 我認為以下有用
SELECT distinct * WHERE {
?player a <http://dbpedia.org/ontology/SoccerPlayer>.
#get all soccer players
?player <http://dbpedia.org/property/currentclub> ?club.
#get the clubs, you can use <http://dbpedia.org/resource/Hertha_BSC> instead of ?club for Hertha Berlin
?player <http://dbpedia.org/ontology/birthPlace>/<http://dbpedia.org/ontology/country>? <http://dbpedia.org/resource/Germany>.
# get birth places which are either Germany or places located in Germany
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.