jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/364283 )
Change subject: Query Helper suggestions for empty queries ...................................................................... Query Helper suggestions for empty queries Use generic suggestions if current query is empty. Change-Id: Ida18670c948ee84d0d415789ec9950f9103344ca --- M wikibase/queryService/ui/queryHelper/QueryHelper.js M wikibase/queryService/ui/queryHelper/SelectorBox.js 2 files changed, 40 insertions(+), 4 deletions(-) Approvals: Smalyshev: Looks good to me, approved jenkins-bot: Verified diff --git a/wikibase/queryService/ui/queryHelper/QueryHelper.js b/wikibase/queryService/ui/queryHelper/QueryHelper.js index d2fbb0a..7f8cb1f 100644 --- a/wikibase/queryService/ui/queryHelper/QueryHelper.js +++ b/wikibase/queryService/ui/queryHelper/QueryHelper.js @@ -343,10 +343,7 @@ this._selectorBox.add( $button, null, function( id, name ) { var prop = 'http://www.wikidata.org/prop/direct/' + id;// FIXME technical debt - var subject = self._query.getBoundVariables().shift(); - if ( !subject ) { - return; - } + var subject = self._query.getBoundVariables().shift() || '?item'; var variable2 = '?' + name.replace( /( |[^a-z0-9])/gi, '_' );// FIXME technical debt var triple = self._query.addTriple( subject, prop, variable2, true ); diff --git a/wikibase/queryService/ui/queryHelper/SelectorBox.js b/wikibase/queryService/ui/queryHelper/SelectorBox.js index 4c82bb6..e66f3e6 100644 --- a/wikibase/queryService/ui/queryHelper/SelectorBox.js +++ b/wikibase/queryService/ui/queryHelper/SelectorBox.js @@ -26,6 +26,23 @@ }\ LIMIT 100', genericSuggest: function() { // Find items that are most often used with the first selected item of the current query + var instanceOfTemplate =// Find items that are used with property 'instance of' + 'SELECT ?id ?label ?description WHERE {\ + hint:Query hint:optimizer "None".\ + {\ + SELECT DISTINCT ?id WHERE { ?i wdt:P31 ?id. }\ + LIMIT 100\ + }\ + ?id rdfs:label ?label.\ + ?id schema:description ?description.\ + FILTER((LANG(?label)) = "{LANGUAGE}")\ + FILTER((LANG(?description)) = "{LANGUAGE}")\ + }\ + LIMIT 100'; + if ( this._query.getTriples().length === 0 ) { + return instanceOfTemplate; + } + var template = '{PREFIXES}\n\ SELECT ?id ?label ?description ?property WITH {\n\ {QUERY}\n\ @@ -112,6 +129,28 @@ }\ LIMIT 100', genericSuggest: function() { // Find properties that are most often used with the first selected item of the current query + + var genericTemplate = // Find properties that are most often used with all items + 'SELECT ?id ?label ?description WITH {\ + SELECT ?pred (COUNT(?value) AS ?count) WHERE\ + {\ + ?subj ?pred ?value .\ + } GROUP BY ?pred ORDER BY DESC(?count) LIMIT 1000\ + } AS %inner\ + WHERE {\ + INCLUDE %inner\ + ?id wikibase:claim ?pred.\ + ?id rdfs:label ?label.\ + ?id schema:description ?description.\ + FILTER((LANG(?label)) = "en")\ + FILTER((LANG(?description)) = "en")\ + } ORDER BY DESC(?count)\ + LIMIT 100'; + + if ( this._query.getTriples().length === 0 ) { + return genericTemplate; + } + var template = '{PREFIXES}\n\ SELECT ?id ?label ?description WITH {\n\ {QUERY}\n\ -- To view, visit https://gerrit.wikimedia.org/r/364283 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ida18670c948ee84d0d415789ec9950f9103344ca Gerrit-PatchSet: 4 Gerrit-Project: wikidata/query/gui Gerrit-Branch: master Gerrit-Owner: Jonas Kress (WMDE) <jonas.kr...@wikimedia.de> Gerrit-Reviewer: Jonas Kress (WMDE) <jonas.kr...@wikimedia.de> Gerrit-Reviewer: Smalyshev <smalys...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits