- From: Kingsley Idehen <kidehen@openlinksw.com>
- Date: Wed, 10 Sep 2014 13:58:00 -0400
- To: public-hydra@w3.org
- Message-ID: <54109128.6090902@openlinksw.com>
On 9/10/14 12:09 PM, Ryan McDonough wrote: > If your SLAs and predictable performance matter, I'd be reluctant to > offer a service that allowed arbitrary queries to be issued against > it. To clarify adhoc, I am referring to the equivalent of being able > to issue something like a random SQL query to my service. That's not > to say I don't want users to not query my data, but rather I want to > control what they can query. For example, HTML forms allows me to > control what data sets a consumer can query and the types of > operations I want to allow on that resource. I can more predictably > determine my SLAs and loads because I'm controlling the data access > patterns. > > HTSQL (http://htsql.org/) is probably a better example of what I'm > getting at. I could create a hypermedia control that generates a query > like so: > > http://demo.htsql.org/define($avg_credits%20:=%20avg(course.credits))%0A%20.course%7Btitle,%20credits%7D?credits%3E$avg_credits > <http://demo.htsql.org/define%28$avg_credits%20:=%20avg%28course.credits%29%29%0A%20.course%7Btitle,%20credits%7D?credits%3E$avg_credits> > > If I do that, it could be considered RESTful. But where it starts to > violate REST constraints is making the client responsible for > constricting links. And requiring the client to have specialized > knowledge of how to format these special URIs. Because HTSQL, as well > as OData and RQL, have specific URI conventions to issue queries to > the server without being instructed by the server as to how to format > those URLs, violates a few constraints. To me the violate a lot of Dr. > Fielding's clarifications: > > http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven > > Specifically, the 1st, 4th, and last bullet points. Ignoring the REST > constraints, I now loose predicability because clients can issue query > work loads that I may not be able to handle. And more importantly, you > now have a client/server coupling because the server can't just > interpret HTTP URLs, but now needs specialized parsers for HTSQL URLs, > or OData URLs, etc. in order to satisfy the request. > > Like I said, if I want to offer adhoc query capability, I'd stand up a > SPARQL endpoint, likely on different hardware, so that it does not > complete with the SLAs of my primary system. But that's just my opinion. > > Ryan- +10000.... [1] http://linkeddata.uriburner.com/c/9G36GVL -- follow-your-nose from here in regards to Tickets, Web Tickets, SLAs, and enforcement rules & policies (in RDF) for protecting Web Services (SPARQL or any other kind of service). -- Regards, Kingsley Idehen Founder & CEO OpenLink Software Company Web: http://www.openlinksw.com Personal Weblog 1: http://kidehen.blogspot.com Personal Weblog 2: http://www.openlinksw.com/blog/~kidehen Twitter Profile: https://twitter.com/kidehen Google+ Profile: https://plus.google.com/+KingsleyIdehen/about LinkedIn Profile: http://www.linkedin.com/in/kidehen Personal WebID: http://kingsley.idehen.net/dataspace/person/kidehen#this
Attachments
- application/pkcs7-signature attachment: S/MIME Cryptographic Signature
Received on Wednesday, 10 September 2014 17:58:22 UTC