[更新的答案:使用SPARQL端点]
wdq正在被官方SPARQL端点所取代,其中此查询看起来像这样:
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT ?item ?itemLabel WHERE {
?item wdt:P646 "/m/0gnfq" .
}
你可以在query.wikidata.org上尝试它
如果要将此查询结果以JSON格式获取,可以在“https://query.wikidata.org/sparql?format=json&query=YOURQUERY”发出请求,其中YOURQUERY是经过URI编码的SPARQL查询:
[旧答案: 使用WDQ]
您可以像这样获取wmflabs API(documentation):
http://wdq.wmflabs.org/api?q=string[646:/m/0gnfq]
/m/0gnfq
的属性646
查询wikidata实体。{
"status": {
"error": "OK",
"items": 1,
"querytime": "161ms",
"parsed_query": "STRING[646:'/m/0gnfq']"
},
"items": [
180736
]
}
Q180736
。string
参数,因为在wikidata中,freebase ID是字符串形式。但是对于属性涉及到wikidata实体作为值类型的情况,你需要使用 claim
参数。以下是文档中的一个示例:
claim[138:676555] 返回所有以 弗朗西斯·阿西西 (Q676555) 命名(P138)的项目。
我也更喜欢使用Wikidata Query API,但如果您需要有关项的更多信息,则可以使用Wikidata API。例如,在您的情况下,所有链接到Freebase identifier (P646)属性的项为:
https://www.wikidata.org/w/api.php?action=query&format=xml&generator=backlinks&gblnamespace=0&gbllimit=5000&prop=info&gbltitle=Property:P646
现在有一个 SPARQL 端点,位于 https://query.wikidata.org。
您可以在那里输入您的 Wikidata SPARQL 查询。例如,对于 Freebase 属性,它可能是这样的:
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX v: <http://www.wikidata.org/prop/statement/>
PREFIX q: <http://www.wikidata.org/prop/qualifier/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?subject ?subjectLabel WHERE {
?subject wdt:P646 ?object .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
} LIMIT 10