2017-06-20 30 views

回答

4

維基數據的簡單試驗和錯誤結果如下:不需要wd:2950157,它是一個字面值,所以只能使用"2950157"。使用以下(SERVICE來展現城市的名稱):

編輯:的簡單方法:

SELECT ?id ?idLabel WHERE {  
    ?id wdt:P1566 "2950157".  
    SERVICE wikibase:label { 
     bd:serviceParam wikibase:language "en" . 
    } 
} 

編輯

末使用BIND或過濾

SELECT ?id ?idLabel WHERE { 
    Bind ("2950157" as ?x) 
    ?id wdt:P1566 ?x.  
    SERVICE wikibase:label { 
     bd:serviceParam wikibase:language "en" . 
    } 
} 

或(較慢的選項)使用FILTER

SELECT ?id ?idLabel WHERE {  
    ?id wdt:P1566 ?x. 
    filter (?x = "2950157") 
    SERVICE wikibase:label { 
     bd:serviceParam wikibase:language "en" . 
    } 
} 
+2

爲什麼你使用'BIND'和'的FILTER'而不是用來把文字的三重模式的對象位置最明顯的使用? – AKSW

+0

你說得對,我馬上修改它!我習慣於從耶拿工作,我總是需要查詢中的插件點。 –

+1

@MedianHilal,你可以使用'VALUES',而不是'BIND'或'FILTER' ... –