Lucas_Werkmeister_WMDE created this task.
Lucas_Werkmeister_WMDE added projects: Wikidata, Wikidata-Query-Service.
Herald added a subscriber: Aklapper.
Herald added a project: Discovery.

TASK DESCRIPTION

The following query:

# trying to use mwapi to get (license) categories of commons images
# see https://www.mediawiki.org/wiki/Wikidata_query_service/User_Manual/MWAPI
SELECT * WHERE {
  BIND(wd:Q668563 as ?leinestr) # random item with picture
  ?leinestr wdt:P18 ?picture.

  BIND(STRAFTER(str(?picture), "Special:FilePath/") AS ?filename)
  BIND(CONCAT("File:", ?filename) AS ?file)

  SERVICE wikibase:mwapi {
    bd:serviceParam wikibase:api "Categories".
    bd:serviceParam wikibase:endpoint "commons.wikipedia.org".
    bd:serviceParam mwapi:titles ?file. # throws IllegalArgumentException: Could not find binding for parameter titles
    ?cat wikibase:apiOutput mwapi:category.
  }
}

results in the following error:


Caused by: java.lang.IllegalArgumentException: Could not find binding for parameter titles

	at org.wikidata.query.rdf.blazegraph.mwapi.MWApiServiceCall.getRequestParams(MWApiServiceCall.java:152)
	at org.wikidata.query.rdf.blazegraph.mwapi.MWApiServiceCall.getHttpRequest(MWApiServiceCall.java:174)
	at org.wikidata.query.rdf.blazegraph.mwapi.MWApiServiceCall.access$000(MWApiServiceCall.java:57)
	at org.wikidata.query.rdf.blazegraph.mwapi.MWApiServiceCall$MultiSearchIterator.doSearchFromBinding(MWApiServiceCall.java:317)
	at org.wikidata.query.rdf.blazegraph.mwapi.MWApiServiceCall$MultiSearchIterator.doNextSearch(MWApiServiceCall.java:300)
	at org.wikidata.query.rdf.blazegraph.mwapi.MWApiServiceCall$MultiSearchIterator.<init>(MWApiServiceCall.java:262)
	at org.wikidata.query.rdf.blazegraph.mwapi.MWApiServiceCall.call(MWApiServiceCall.java:121)
	at org.wikidata.query.rdf.blazegraph.mwapi.MWApiServiceCall.call(MWApiServiceCall.java:56)
	at com.bigdata.bop.controller.ServiceCallJoin$ChunkTask$ServiceCallTask.doBigdataServiceCall(ServiceCallJoin.java:770)

If the optimizer is disabled via query hint, the query works (though it finds no results, but that’s another topic), so it looks like the optimizer reorders the query in such a way that the service doesn’t have access to the ?file binding.


TASK DETAIL
https://phabricator.wikimedia.org/T168876

EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: Lucas_Werkmeister_WMDE
Cc: Smalyshev, Lucas_Werkmeister_WMDE, Aklapper, GoranSMilovanovic, QZanden, EBjune, merbst, Avner, debt, Gehel, Jonas, FloNight, Xmlizer, Izno, jkroll, Wikidata-bugs, Jdouglas, aude, Tobias1984, Manybubbles, Mbch331
_______________________________________________
Wikidata-bugs mailing list
Wikidata-bugs@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to