2016-07-22 25 views
2

如何查詢維基數據以獲取標籤中包含單詞的所有項目? 我試過但沒有工作;它什麼都沒收如何使用標籤查詢維基數據項目?

SELECT ?item ?itemLabel WHERE { 
    SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "en". 
    ?item rdfs:label ?itemLabel. 
    } 
FILTER(CONTAINS(LCASE(?itemLabel), "keyword")) 
} 
LIMIT 1000 
+0

什麼是'wikibase:label'?沒有前綴,很難說出了什麼問題。 – AKSW

+0

PREFIX wikibase:

+0

這個數據集中的'wikibase:language'信息在哪裏?如果沒有,那麼在作爲單個SPARQL查詢執行的SERVICE部分中,連接顯然是空的。我認爲如果將第一個三元組放在SERVICE子句之外,它就可以工作。 – AKSW

回答

3

追隨你的問題,並提供了有用的意見,我結束了與此查詢

SELECT ?item ?itemLabel 
WHERE { 
    ?item rdfs:label ?itemLabel. 
    FILTER(CONTAINS(LCASE(?itemLabel), "city"@en)). 
} limit 10 

因我所得到的結果

item   itemLabel 
wd:Q515  city 
wd:Q7930989 city 
wd:Q15253706 city 
wd:Q532039 The Eternal City 
wd:Q1969820 The Eternal City 
wd:Q3986838 The Eternal City 
wd:Q7732543 The Eternal City 
wd:Q7737016 The Golden City 
wd:Q5119  capital city 
wd:Q1555  Guatemala City 

try it here

0

是的,你可以按標籤搜索,例如:

SELECT distinct ?item ?itemLabel ?itemDescription WHERE{ 
    ?item ?label "Something"@en. 
    ?article schema:about ?item . 
    ?article schema:inLanguage "en" . 
    ?article schema:isPartOf <https://en.wikipedia.org/>. 
    SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }  
} 

請參閱Query page