Getting readable results from Wikidata

前端 未结 3 1947
我寻月下人不归
我寻月下人不归 2020-12-05 12:05

Ok so I\'m trying to get information from Wikidata about movies, take this movie for example: https://www.wikidata.org/wiki/Q24871

On the page the data is clearly di

相关标签:
3条回答
  • 2020-12-05 12:24

    I see an accepted answer, but initially interpreted the question differently. Basically asking to have the same output in JSON one sees on the Wikidata item page.

    SPARQL query with JSON output for above case: https://query.wikidata.org/sparql?query=SELECT%20%3FwdLabel%20%3Fps_Label%20%3FwdpqLabel%20%3Fpq_Label%20%7B%0A%20%20VALUES%20(%3Fcompany)%20%7B(wd%3AQ24871)%7D%0A%0A%20%20%3Fcompany%20%3Fp%20%3Fstatement%20.%0A%20%20%3Fstatement%20%3Fps%20%3Fps_%20.%0A%0A%20%20%3Fwd%20wikibase%3Aclaim%20%3Fp.%0A%20%20%3Fwd%20wikibase%3AstatementProperty%20%3Fps.%0A%0A%20%20OPTIONAL%20%7B%0A%20%20%3Fstatement%20%3Fpq%20%3Fpq_%20.%0A%20%20%3Fwdpq%20wikibase%3Aqualifier%20%3Fpq%20.%0A%20%20%7D%0A%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22en%22%20%7D%0A%7D&format=json

    I use the Wikidata Query Front End to get my query straight and to check the results. Then use the </> Code button... explaining why you're seeing so much unnecessary whitespace above.

    See also:

    • wikidata get all properties with labels and values of an item
    • SPARQL query service - Interfacing
    0 讨论(0)
  • 2020-12-05 12:27

    What you should be looking for are the numeric-ids in each statements and add a leading Q to recover your wikidata ids, which should result to ['Q775450', 'Q3041294', 'Q646968', 'Q434841', 'Q11920']

    [update: you can now directly access the Q id at mainsnak.datavalue.value.id, instead of having to build it from the numeric-id]

    This can be done using wikibase-sdk (a JS lib I developed) wbk.simplify.claims function

    Once you got those ids, you just need to request entities labels using the wbgetentities API: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q775450|Q3041294|Q646968|Q434841|Q11920&format=json&props=labels

    you can even get results for only some languages, using the languages parameter: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q775450|Q3041294|Q646968|Q434841|Q11920&format=json&props=labels&languages=en|de|fr

    0 讨论(0)
  • 2020-12-05 12:37

    Ok so I haven't found a solution to using the This is the "wbgetentities" system I have found that you can use the "parse" command to get the html structure.

    https://www.wikidata.org/w/api.php?action=parse&page=Q24871

    While it still going to need some processing its much easier than the previous solution.

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