Wikidata has an item called smartphone model.
I want to get all instances of it.
QUESTION: How to get the identifiers of the instances programma
It is not possible yet. (Here is the task if you want to follow the development.)
The best you could to today in Mediawiki API is to use action=query
and props=linkshere
and filter on namespace like this:
http://www.wikidata.org/w/api.php?action=query&prop=linkshere&format=json&lhprop=title&lhnamespace=0&lhlimit=500&titles=Q19723451
However, there is an external query tool, Wikidata query, that would do exactly what you are asking for with this query:
http://wdq.wmflabs.org/api?q=CLAIM[31:19723451]
Just add Q in front of the numbers and you have the item id.
Your question specifies the "Mediawiki API" but this is not possible.
Wikidata has a SPARQL query service at https://query.wikidata.org
The query that you want is:
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT DISTINCT ?item
WHERE {
?item wdt:P31/wdt:P279* wd:Q19723451
}
This will list the Items that are an 'instance of'(P31) 'smartphone model'(Q19723451) or an 'instance of' a 'subclass of'(P279) 'smartphone model'(Q19723451).