chasemp added a comment.

In https://phabricator.wikimedia.org/T112151#1743222, @Smalyshev wrote:

> > I am looking for a use case we are trying to solve.
>
>
> The use case is users using SPARQL query tool that only does POST. 
> Unfortunately, such tools exist, and in non-nelgligible numbers
>
> > At first glance, it seems like this means mangling all POST to GET would 
> > result in an incompatibility with the sparql protocol.
>
>
> @chasemp I think you're missing an important point here - lack of SPARQL 
> Update support on query endpoint is **intentional**. That's the whole point 
> of the exercise - how we allow to send POST without allowing SPARQL Update. 
> We do not want to be compatible with SPARQL Update in query endpoint - in 
> fact, we want to explicitly forbid it, since we don't want the whole internet 
> to mess with our database (there's wikidata.org site for that ;) That's why 
> we do not want to allow anybody from outside to POST to Blazegraph. However, 
> we do want to allow tools that use POST to do SPARQL Query to do so. 
> Unfortunately, distinguishing SPARQL Query from SPARQL Update and other 
> update requests may be non-trivial to do from something like nginx, so it is 
> much safer and easier to just never send POST to Blazegraph, thus ensuring we 
> never produce an update.
>
> We could, of course, take a stance that since REST dictates retrieval queries 
> should go through GET, we only support GET. However, this stance sounds to me 
> unpractical and not user-friendly, as most users do not care about the purity 
> of our REST track record (in fact, most of them have only the vaguest idea of 
> REST and their requirements about POST/GET) and just want their SPARQL tool 
> (which they probably use with a dozen of other SPARQL endpoints by now) to 
> work with WDQS endpoint.


Hey @Smalyshev sorry you were ready to roll on this and it got locked up in 
debate.  I appreciate what you are saying here I really do.  In large part it 
comes down to the idea of what is practical as you said.  We have opposite 
ideas in this case.  From my POV here we are trying to hide the complexity for 
poorly written clients on our end and we have few resources to do such things 
over the long term.  We do make many decisions about how far down this gradient 
to travel in the pursuit of sane user expectations, SNI 
<https://en.wikipedia.org/wiki/Server_Name_Indication#Web_browsers.5B6.5D> is a 
good example where we are using it though we know a not insignificant amount of 
users are suck in XP land.  I'm not saying this is a 1:1 example.

I do think we are missing each other on the 'use case' bit here.  I believe I 
understand this:

> The use case is users using SPARQL query tool that only does POST. 
> Unfortunately, such tools exist, and in non-nelgligible numbers


From this angle is every poorly written tool a use case?  We don't seem we have 
a backlog of users who are held up trying to use POST to make queries and 
without specific examples to push this narrative along I am viewing this as 
premature complexity.  We know poorly written tools exist for everything.  We 
generally don't try to head them off at the pass.

I did look through a bunch of sparql tools to get an idea and there was at 
least one 
<https://github.com/thomasfr/node-sparql-client/blob/master/lib/client.js#L10> 
default POSTer that I found, but it can be changed.  The majority of tools I 
see do the sane thing:

https://github.com/BorderCloud/SPARQL/blob/master/Curl.php#L244
https://github.com/RDFLib/sparqlwrapper/blob/master/SPARQLWrapper/Wrapper.py#L503

Not that this is a slam dunk argument either way.   Maybe we revisit in the 
near future but at the moment I can't see my way to this making sense to 
support.  If you feel strongly about this bring it up in Scrum of Scrums to get 
more visibility?


TASK DETAIL
  https://phabricator.wikimedia.org/T112151

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: Smalyshev, chasemp
Cc: chasemp, JanZerebecki, BBlack, Andrew, Deskana, Joe, gerritbot, nichtich, 
Jneubert, Karima, Aklapper, Smalyshev, jkroll, Wikidata-bugs, Jdouglas, aude, 
Manybubbles, Mbch331



_______________________________________________
Wikidata-bugs mailing list
Wikidata-bugs@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to