Get all Wikidata items that are an instance of a given item

前端 未结 2 1252
没有蜡笔的小新
没有蜡笔的小新 2021-01-05 02:47

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

相关标签:
2条回答
  • 2021-01-05 03:14

    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.

    0 讨论(0)
  • 2021-01-05 03:30

    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).

    0 讨论(0)
提交回复
热议问题