Re: [Wikidata-tech] Fastest way (API or whatever) to verify a QID
For a single QID does it make sense to use a HTTP HEAD request against the item page? I assume it would perform well on the client at least. Cheers // Albin Larsson User:Abbe98 2018-05-15 20:05 GMT+02:00 Daniel Kinzler: > You can do this via the API, e.g.: > > https://www.wikidata.org/w/api.php?action=query=; > format=json=Q1|Qx|Q1003|Q66=1 > > Note that this uses QIDs directy as page titles. This works on wikidata, > but may > not work on all wikibase instances. It also does not work for PIDs: for > these, > you have to prefix the Property namespace, as in Property:P31. > > A more wikibase way would be to use the wbgetentities API, as in > https://www.wikidata.org/w/api.php?action=wbgetentities=Q42|Q64= > > However, this API fails when you proivde a non-existing ID, without > providing > any information about other IDs. So you can quickly check if all the IDs > you > have are ok, but you may need several calls to get a list of all the bad > IDs. > > That's rather annoying for your use case. Feel free to file a ticket on > phabricator.wikimedia.org. Use the wikidata tag. Tahnks! > > -- daniel > > ___ > Wikidata-tech mailing list > Wikidata-tech@lists.wikimedia.org > https://lists.wikimedia.org/mailman/listinfo/wikidata-tech > ___ Wikidata-tech mailing list Wikidata-tech@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata-tech
Re: [Wikidata-tech] Fastest way (API or whatever) to verify a QID
You can do this via the API, e.g.: https://www.wikidata.org/w/api.php?action=query==json=Q1|Qx|Q1003|Q66=1 Note that this uses QIDs directy as page titles. This works on wikidata, but may not work on all wikibase instances. It also does not work for PIDs: for these, you have to prefix the Property namespace, as in Property:P31. A more wikibase way would be to use the wbgetentities API, as in https://www.wikidata.org/w/api.php?action=wbgetentities=Q42|Q64= However, this API fails when you proivde a non-existing ID, without providing any information about other IDs. So you can quickly check if all the IDs you have are ok, but you may need several calls to get a list of all the bad IDs. That's rather annoying for your use case. Feel free to file a ticket on phabricator.wikimedia.org. Use the wikidata tag. Tahnks! -- daniel ___ Wikidata-tech mailing list Wikidata-tech@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata-tech
Re: [Wikidata-tech] Fastest way (API or whatever) to verify a QID
If you have the luxury of access to the replica servers (which is the case for the reconciliation service, right?), then I doubt any API is going to beat a raw SQL query: $ sql wikidata 'SELECT page_title FROM page WHERE page_namespace = 0 AND page_title IN ("Q12345", "Q123456", "Q1234567")' ++ | page_title | ++ | Q12345 | | Q123456| ++ This shows that Q1234567 doesn’t exist. (Someone with more SQL knowledge could probably turn that into a “yes/no” kind of reply, too.) Cheers, Lucas On 15.05.2018 17:49, Thad Guidry wrote: > Which service is the fastest that can return when a QID is valid ? > > OpenRefine is trying to improve its reconciling when folks already have > lists of QID's and just want to ensure they are still valid and exist. > https://github.com/OpenRefine/OpenRefine/issues/1596 > > -Thad > > > ___ > Wikidata-tech mailing list > Wikidata-tech@lists.wikimedia.org > https://lists.wikimedia.org/mailman/listinfo/wikidata-tech > ___ Wikidata-tech mailing list Wikidata-tech@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata-tech