Hi,
There is a performance issue with the labelling service. Using labels
makes even simple queries time out. For example this one:
SELECT $p $pLabel
WHERE {
$p wdt:P31 _:bnode .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
} LIMIT 11
The workaround is to use subqueries. For example, the following query
returns immediately:
SELECT $p $pLabel
WHERE {
{ SELECT $p WHERE { $p wdt:P31 _:bnode . } LIMIT 11 }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
}
I strongly suppose that almost every use of the labelling service could
be performed like this (the only exception is when you apply further
query conditions on the label). BlazeGraph should recognize this.
Meanwhile, everybody who uses queries with labels in an application
should rewrite them as above to get the best performance (and reduce
load on the query service ;-).
Cheers,
Markus
--
Markus Kroetzsch
Faculty of Computer Science
Technische Universität Dresden
+49 351 463 38486
http://korrekt.org/
_______________________________________________
Wikidata mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikidata