Hi!
So, my proposal is to expose a WDQ-like service as our
primary query interface.
This follows the general principle having narrow interfaces to make it easy to
swap out the implementation.
WDQ query language is somewhat limited as I understand. We can of write
WDQ->SPARQL translator, I imagine, I think even it's a good idea to do
this for BC/transition reasons. But I'm not sure restricting ourselves
to only this syntax, created with a different tool in mind, is the best
idea. People would ask us for full SPARQL as soon as they'd know we're
running SPARQL db.
In terms of development resources and timeline,
exposing WDQ may actually get us
a public query endpoint more quickly: sandboxing full SPARQL may likely turn out
to be a lot harder than sandboxing the more limited set of queries WDQ allows.
Well, there's other side of implementing the actual WDQ feature set in
SPARQL which may take some time, since these languages are a bit
different (esp. in tree traversal aspects). But I think WDQ language
support should be on the agenda, I'm just not sure it should be the
first item.
--
Stas Malyshev
smalyshev(a)wikimedia.org