[обновленный ответ: с помощью конечной точки SPARQL]
wdq заменяется официальным SPARQL конечной точки, где этот запрос выглядит следующим образом:
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT ?item ?itemLabel WHERE {
?item wdt:P646 "/m/0gnfq" .
}
вы можете try it at query.wikidata.org
и чтобы получить результаты этого запроса в JSON, вы можете сделать запрос на «https://query.wikidata.org/sparql?format=json&query=YOURQUERY», где YOURQUERY - это запрос SPARQL с кодировкой URI:
https://query.wikidata.org/sparql?format=json&query=PREFIX%20wikibase%3A%20%3Chttp%3A%2F%2Fwikiba.se%2Fontology%23%3E%20PREFIX%20wdt%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2F%3E%20SELECT%20%3Fitem%20%3FitemLabel%20WHERE%20%7B%20%3Fitem%20wdt%3AP646%20%22%2Fm%2F0gnfq%22%20.%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22en%22%20.%20%7D%20%7D
[старый ответ: используя WDQ]
вы можете принести wmflabs API (documentation), как это:
http://wdq.wmflabs.org/api?q=string[646:/m/0gnfq]
Здесь я опрашивать викиданные объекты с имуществом 646
значения /m/0gnfq
.
Ответ будет выглядеть следующим образом:
{
"status": {
"error": "OK",
"items": 1,
"querytime": "161ms",
"parsed_query": "STRING[646:'/m/0gnfq']"
},
"items": [
180736
]
}
Субъект я искал, таким образом Q180736
.
Здесь запрос использует параметр string
, поскольку идентификаторы freebase являются строками в wikidata, но для свойств, подразумевающих объекты wikidata как тип значения, вам нужно будет использовать параметр claim
. Пример из документации:
претензии [138: 676555] возвращает все элементы, которые названы после того, как (P138) Франциска Ассизского (Q676555).
Похоже, в настоящее время нет других параметров. Странно, что такой амбициозный проект не имеет такой простой функциональности. – Inf
в этой статье в сентябре [wdq tool story] (http://magnusmanske.de/wordpress/?p=72) очень проницателен в этой проблеме: на самом деле это не так просто. – maxlath