Today the siteinfo api call only exposes the old (and now partial) sparql endpoint (though wikibase-sparql) it should instead expose both of the new endpoints (https://query-scholarly.wikidata.org/sparql and https://query-main.wikidata.org/sparql) in order for downstream tooling (such as pywikibot) to be able to provide access to them.
Description
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Open | None | T335067 Epic: Wikidata Query Service stabilization | |||
| Open | None | T394456 Expose new split sparql endpoints in api |
Event Timeline
Thanks for raising this. I had totally forgotten about that.
Do we know how many tools, etc assume that there is only one value there? How much and what are we going to break?
I'd love to get some more input from people here.
Also can someone clarify what the connection between the siteinfo API information and Wikibase Manifest is here?
I don’t know where Wikibase Manifest gets its info from, but the response in the siteinfo comes from $wgWBRepoSettings['sparqlEndpoint'] FWIW.
See also T369079 and T374021 where we made WikibaseQualityConstraints use both SPARQL endpoints (via an additional config variable, so that the existing one still only contained a single string).
- All Pywikibot users: https://gerrit.wikimedia.org/g/pywikibot/core/+/b7f493b4820c42d2f514d1bc4cee3c4d7eb5ca54/pywikibot/site/_datasite.py#147.
- GitHub search: https://github.com/search?q=wikibase-sparql+NOT+path%3A%2F%5Epywikibot%5C%2F%2F+NOT+path%3A%2F%5Erepo%5C%2F%2F+NOT+path%3A%2F%5Etests%5C%2F%2F&type=code. Some Magnus' tools for example.
- Wikimedia search luckily finds nothing: https://global-search.toolforge.org/?q=wikibase-sparql®ex=1&namespaces=2%2C8&title=.%2B%5C.js
Looks like WikibaseManifest gets it from $wgWBRepoSettings['sparqlEndpoint'] as well: ConfigExternalServicesFactory.php#9
But it can also be manually specified / overridden with $wgWbManifestExternalServiceMapping: Extension:WikibaseManifest#External_services