Smalyshev has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/283360

Change subject: Add test queries
......................................................................

Add test queries

Must be run manually for now.
Bug: T130318

Change-Id: I5f1b15bbbba78b012afc57fdda3ce958239c1ccd
---
A queries/1592.result
A queries/1592.sparql
A queries/1785.sparql
A queries/badservice.result
A queries/badservice.sparql
A queries/cats.sparql
A queries/dates.sparql
A queries/minus.sparql
A queries/noimg.sparql
A queries/orderby.sparql
A queries/paris.sparql
A queries/test.sh
A queries/tree.sparql
13 files changed, 161 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikidata/query/rdf 
refs/changes/60/283360/1

diff --git a/queries/1592.result b/queries/1592.result
new file mode 100644
index 0000000..8a6ef12
--- /dev/null
+++ b/queries/1592.result
@@ -0,0 +1 @@
+"bindings" : [ { } ]
diff --git a/queries/1592.sparql b/queries/1592.sparql
new file mode 100644
index 0000000..43ae2b4
--- /dev/null
+++ b/queries/1592.sparql
@@ -0,0 +1,6 @@
+# https://jira.blazegraph.com/browse/BLZG-1592
+SELECT ?id WHERE {
+  ?p wdt:P31 wd:Q5 .
+  ?p wdt:P21 wd:Q6581072 .
+  BIND(substr(str(?p), 33)+0 as ?id)
+} LIMIT 1
diff --git a/queries/1785.sparql b/queries/1785.sparql
new file mode 100644
index 0000000..7d6f7d9
--- /dev/null
+++ b/queries/1785.sparql
@@ -0,0 +1,7 @@
+# https://jira.blazegraph.com/browse/BLZG-1785
+SELECT ?country
+WHERE
+{
+       wd:Q513 wdt:P17 ?country .
+    FILTER(?country NOT IN (wd:Q148,wd:Q30) || !bound(?country))   
+}
diff --git a/queries/badservice.result b/queries/badservice.result
new file mode 100644
index 0000000..3e235a3
--- /dev/null
+++ b/queries/badservice.result
@@ -0,0 +1 @@
+Service call not allowed: http://wikiba.se/ontology#blah
diff --git a/queries/badservice.sparql b/queries/badservice.sparql
new file mode 100644
index 0000000..6342363
--- /dev/null
+++ b/queries/badservice.sparql
@@ -0,0 +1,10 @@
+# https://jira.blazegraph.com/browse/BLZG-1571
+SELECT ?wiki (count(?l) as ?lcount) WHERE {
+  ?wiki wdt:P31 wd:Q10876391 .
+  ?wiki rdfs:label ?l .
+  SERVICE wikibase:blah {
+     bd:serviceParam  wikibase:language "en" .
+     ?wiki rdfs:label ?wikiLabel .
+  }
+} GROUP BY ?wiki
+ORDER BY DESC(?lcount)
diff --git a/queries/cats.sparql b/queries/cats.sparql
new file mode 100644
index 0000000..e43968d
--- /dev/null
+++ b/queries/cats.sparql
@@ -0,0 +1,7 @@
+#Cats
+SELECT ?item ?itemLabel
+WHERE
+{
+       ?item wdt:P31 wd:Q146 . 
+       SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
+}
diff --git a/queries/dates.sparql b/queries/dates.sparql
new file mode 100644
index 0000000..c49315c
--- /dev/null
+++ b/queries/dates.sparql
@@ -0,0 +1,10 @@
+# https://jira.blazegraph.com/browse/BLZG-1747
+SELECT ?entity (year(?date) as ?year)
+WHERE
+{
+?entity wdt:P569 ?date .
+FILTER (datatype(?date) = xsd:dateTime)
+FILTER (month(?date) = month(now()))
+FILTER (day(?date) = day(now()))
+}
+LIMIT 10
diff --git a/queries/minus.sparql b/queries/minus.sparql
new file mode 100644
index 0000000..7da7138
--- /dev/null
+++ b/queries/minus.sparql
@@ -0,0 +1,5 @@
+# https://jira.blazegraph.com/browse/BLZG-1670
+SELECT (COUNT(DISTINCT(?item)) AS ?count) WHERE {
+       ?item wdt:P31/wdt:P279 wd:Q56061.
+       MINUS {?item wdt:P373 ?commonscat} .
+}
diff --git a/queries/noimg.sparql b/queries/noimg.sparql
new file mode 100644
index 0000000..744628c
--- /dev/null
+++ b/queries/noimg.sparql
@@ -0,0 +1,7 @@
+# https://jira.blazegraph.com/browse/BLZG-1320
+prefix entity: <http://www.wikidata.org/entity/>
+
+SELECT ?item WHERE {
+ ?item wdt:P31 entity:Q5 .
+ FILTER NOT EXISTS { ?item wdt:P18 ?dummy0 }
+} limit 5
diff --git a/queries/orderby.sparql b/queries/orderby.sparql
new file mode 100644
index 0000000..f2ebd31
--- /dev/null
+++ b/queries/orderby.sparql
@@ -0,0 +1,4 @@
+# https://jira.blazegraph.com/browse/BLZG-1591
+SELECT ?work ?author WHERE {
+  ?work wdt:P50 ?author .
+} ORDER BY ?work ?author LIMIT 10
diff --git a/queries/paris.sparql b/queries/paris.sparql
new file mode 100644
index 0000000..204cc93
--- /dev/null
+++ b/queries/paris.sparql
@@ -0,0 +1,24 @@
+# https://jira.blazegraph.com/browse/BLZG-1542
+# Query to return latitudes and longitudes
+# for places in Paris
+
+    SELECT ?a ?aLabel ?lat ?long WHERE {
+       ?a wdt:P131+ wd:Q90 .  # administrative territorial entity = Paris
+      
+       ?a p:P625 ?statement .  # coordinate-location statement
+       ?statement psv:P625 ?coordinate_node .
+       ?coordinate_node wikibase:geoLatitude ?lat .
+       ?coordinate_node wikibase:geoLongitude ?long .
+     
+       MINUS {                # ignore items with more than one pair of 
coordinates
+          SELECT ?a (COUNT(?a) AS ?count_stmt) WHERE {
+              ?a wdt:P131+ wd:Q90 .
+              ?a p:P625 ?statement 
+         } GROUP BY ?a HAVING (?count_stmt > 1)
+       }
+  
+      SERVICE wikibase:label {
+          bd:serviceParam wikibase:language "en" .
+       } .
+     
+    }  ORDER BY ASC(?lat) LIMIT 100
diff --git a/queries/test.sh b/queries/test.sh
new file mode 100755
index 0000000..4357479
--- /dev/null
+++ b/queries/test.sh
@@ -0,0 +1,71 @@
+#!/bin/bash
+DIR=`dirname $0`
+ENDPOINT=https://query.wikidata.org/
+ESC_SEQ="\x1b["
+COL_RESET=$ESC_SEQ"39m"
+COL_RED=$ESC_SEQ"31m"
+COL_GREEN=$ESC_SEQ"32m"
+KEEP=no
+
+function gethelp {
+       echo "Usage: $0 [-s ENDPOINT] [-k] [scripts...]"
+       exit 0
+}
+
+while getopts s:kh option
+do
+  case "${option}"
+  in
+    h) gethelp;;
+    s) ENDPOINT=${OPTARG};;
+    k) KEEP=yes;;
+  esac
+done
+
+# allow extra args
+shift $((OPTIND-1))
+
+function runtest {
+       fname=$(basename -s .sparql $1)
+       out=/tmp/querytest.$fname.$$
+       curl -G --data-urlencode query@$1 --data format=json --data random=$$ 
$ENDPOINT/sparql -s > $out
+       if [ -z $out ]; then
+               failed
+       else
+               if [ -f $fname.result ]; then
+                       lookup=`cat $fname.result`
+               else
+                       lookup='"results" : {'
+               fi
+               if grep -q -l -F "$lookup" $out; then
+                       passed
+               else
+                       failed
+               fi
+       fi
+       if [ $KEEP == "no" ]; then
+               rm $out
+       fi
+}
+
+function passed {
+       echo -e "$COL_GREEN PASSED$COL_RESET"
+}
+
+function failed {
+       echo -e "$COL_RED FAILED$COL_RESET"
+}
+
+cd $DIR
+
+if [ "x$1" != "x" ]; then
+       scripts="$1"
+else
+       scripts=`ls *.sparql`
+fi
+
+for tstname in $scripts; do
+       echo -n Running $tstname
+       runtest $tstname
+done
+
diff --git a/queries/tree.sparql b/queries/tree.sparql
new file mode 100644
index 0000000..ca5ec7b
--- /dev/null
+++ b/queries/tree.sparql
@@ -0,0 +1,8 @@
+# https://phabricator.wikimedia.org/T127014
+prefix wdt: <http://www.wikidata.org/prop/direct/>
+prefix wd: <http://www.wikidata.org/entity/>
+SELECT ?item WHERE {
+  ?item wdt:P22 ?sub0 .
+  ?tree0 (wdt:P40)* ?sub0 .
+  BIND (wd:Q7210 AS ?tree0)
+} LIMIT 1000

-- 
To view, visit https://gerrit.wikimedia.org/r/283360
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5f1b15bbbba78b012afc57fdda3ce958239c1ccd
Gerrit-PatchSet: 1
Gerrit-Project: wikidata/query/rdf
Gerrit-Branch: master
Gerrit-Owner: Smalyshev <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to