How long has WDQ been in service? What proportion of the total aggregate
lifetime Wikidata apps, presuming it survives, do the current, as of Mar
2015, Wikidata apps represent?
Should the question of premature optimization (or optimisation) be
p.s. Since your opinion doesn't represent the official team position, what,
exactly, *IS* the official team position?
pps I don't disagree that there are strong negative aspects to using
SPARQL, but you weaken your argument by saying that the status quo is the
only way forward
On Tue, Mar 10, 2015 at 10:31 AM, Daniel Kinzler <
After the initial enthusiasm, I have grown increasingly wary of the
exposing a SPARQL endpoint as Wikidata's canonical query interface. I
share my (personal and unfinished) thoughts about this on this list, as
thought and a basis for discussion.
Basically, I fear that exposing SPARQL will lock us in with respect to the
backend technology we use. Once it's there, people will rely on it, and
it away would be very harsh. That would make it practically impossible to
to, say, Neo4J in the future. This is even more true if if expose vendor
specific extensions like RDR/SPARQL*.
Also, exposing SPARQL as our primary query interface probably means
discontinuing support for WDQ. It's pretty clear that the original WDQ
is not going to be maintained once the WMF offers infrastructure for
queries. So, when SPARQL appears, WDQ would go away, and dozens of tools
need major modifications, or would just die.
So, my proposal is to expose a WDQ-like service as our primary query
This follows the general principle having narrow interfaces to make it
swap out the implementation.
But the power of SPARQL should not be lost: A (sandboxed) SPARQL endpoint
be exposed to Labs, just like we provide access to replicated SQL databases
there: on Labs, you get "raw" access, with added performance and
but no guarantees about interface stability.
In terms of development resources and timeline, exposing WDQ may actually
a public query endpoint more quickly: sandboxing full SPARQL may likely
to be a lot harder than sandboxing the more limited set of queries WDQ
Finally, why WDQ and not something else, say, MQL? Because WDQ is
tailored to our domain and use case, and there already is an ecosystem of
that use it. We'd want to refine it a bit I suppose, but by and large, it's
pretty much exactly what we need, because it was built around the actual
for querying wikidata.
So far my current thoughts. Note that this is not a decision or
by the Wikidata team, just my personal take.
Senior Software Developer
Gesellschaft zur Förderung Freien Wissens e.V.
Wikidata-tech mailing list