Discussion:
[Wikidata] Wikibase vs MediaWiki API
Raveesh Meena
2018-12-03 16:18:40 UTC
Permalink
Hi Lucas,

Thanks for explaining the differences in the results of searches using
Wikibase API
and MediaWiki API (reference thread below).

I have been using the Wikidata-Toolkit to query Wikidata using the
*wbsearchentities
<http://wikidata.github.io/Wikidata-Toolkit/org/wikidata/wdtk/wikibaseapi/WikibaseDataFetcher.html>*
implementation.
Now, the documentation about MediaWiki Action API
<https://www.mediawiki.org/wiki/API:Main_page#Uses_for_the_MediaWiki_Action_API>
seems to suggest that it is a web-service for accessing (wiki like)
databases .
I am currently interested in programatically querying Wikidata without
having to host a complete service and wondering if there are
easy to use MediaWiki API implementation (in Java) that I can use to
query Wikidata to fetch results corresponding to:

"action=query&generator=search&gsrsearch=SEARCHTERM&gsrnamespace=0|120
*"*

In other words, I want to know if there are libraries to achieve this
progamatically using Java.

Thanks and regards
Raveesh
*>>* wbsearchentities is a Wikibase-specific API; the normal MediaWiki search
*>>* function uses a different search configuration, which you can query in
*>>* the API via:
*>>>>* action=query&generator=search&gsrsearch=SEARCHTERM&gsrnamespace=0|120
*>>>>* For example:
*>>>>* https://www.wikidata.org/w/api.php?action=query&generator=search&gsrsearch=maruti&gsrnamespace=0|120&formatversion=2
<https://www.wikidata.org/w/api.php?action=query&generator=search&gsrsearch=maruti&gsrnamespace=0%7C120&formatversion=2>
*>>>>* Note that you need to sort the result list by the 'index' of each result
*>>* (I’m not sure why the API doesn’t do that for you).
*>>>>* Cheers,
*>>* Lucas
*>>>>* On 30.11.18 18:12, Raveesh Meena wrote:
*>>>* Hi,
*>>>>>>* The search results obtained by these two approaches are ordered
*>>>* differently:
*>>>>>>* method1: using the wikidata API
*>>>* <https://www.wikidata.org/w/api.php?action=help&modules=main
<https://www.wikidata.org/w/api.php?action=help&modules=main>>
*>>>* https://www.wikidata.org/w/api.php?action=wbsearchentities&search=Maruti&language=en
<https://www.wikidata.org/w/api.php?action=wbsearchentities&search=Maruti&language=en>
*>>>>>>* method2: search on wikidata Page
*>>>* <https://www.wikidata.org/w/index.php?search=&search=&title=Special%3ASearch&go=Go
<https://www.wikidata.org/w/index.php?search=&search=&title=Special%3ASearch&go=Go>>
*>>>* https://www.wikidata.org/w/index.php?search=&search=Maruti&title=Special%3ASearch&go=Go
<https://www.wikidata.org/w/index.php?search=&search=Maruti&title=Special%3ASearch&go=Go>
*>>>>>>* Intrestingly, in method2, the search suggestion drop-down list has the
*>>>* same order as that of method1 (see screenshot).
*>>>>>>* q1. How can I obtain results in the same order as that of method2
*>>>* using the wikidata API (i.e., method 1).
*>>>>>>* q2. Which of the two ordering is in general more
*>>>* "relevant/accurate/better"
*>>>>>>* Thanks for any help/hints.
*>>>>>>* Best regards,
*>>>* Raveesh
*>>>

Loading...