{"id":1615,"date":"2006-08-09T00:36:49","date_gmt":"2006-08-09T04:36:49","guid":{"rendered":"http:\/\/www.markbaker.ca\/blog\/2006\/08\/09\/sparql-useful-but-not-a-game-changer\/"},"modified":"2006-08-09T00:36:49","modified_gmt":"2006-08-09T04:36:49","slug":"sparql-useful-but-not-a-game-changer","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2006\/08\/sparql-useful-but-not-a-game-changer\/","title":{"rendered":"SPARQL; useful, but not a game-changer"},"content":{"rendered":"<p>Not that anyone would ever mistake me for a query language guru, but that&#8217;s really part of the problem; I&#8217;m <em>not<\/em> a query language guru, because I&#8217;m a Web guru, and to a certain extent those two roles are incompatible.<\/p>\n\n<p>The Web doesn&#8217;t do generic query, and it&#8217;s a better large scale distributed computing platform as a result.  The cost of satisfying an arbitrary query is too large for most publishers to absorb, as they do when they internalize the cost of operating a public Web server and <a href=\"http:\/\/www.w3.org\/Protocols\/rfc2616\/rfc2616-sec9.html#sec9.1.1\">answer GET requests for free<\/a>.<\/p>\n\n<p>The Web does per-resource query, which is a far more tightly constrained form of query, if you can even call it that.  It makes use of hypermedia to drive an application to the results of a query without the client needing to perform an explicit query.  Think of a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Facade_pattern\">Facade<\/a> in front of an actual query processor, where the user provides the <em>arguments<\/em> for the query, but has no visibility into the actual query being performed.  FWIW, this isn&#8217;t an unfamiliar way of doing things, as it&#8217;s how millions of developers use SQL when authoring Web apps; a user enters &#8220;30000&#8221; in a form field, hits submit, and then some back-end CGI invokes &#8220;select name, salary from emp_sal where salary > 30000&#8221;.<\/p>\n\n<p>I&#8217;m confident that <a href=\"http:\/\/www.w3.org\/TR\/rdf-sparql-query\/\">SPARQL<\/a> will be used primarily the same way SQL is used today, and that you won&#8217;t see many public SPARQL endpoints on the Web, just as you don&#8217;t see many SQL endpoints on the Web.  There&#8217;s nothing wrong with that of course, but I think it&#8217;s important to keep our expectations in check; SPARQL is likely not going to enable new kinds of applications, nor help much with <a href=\"http:\/\/www.w3.org\/TR\/2005\/WD-rdf-dawg-uc-20050325\/#d4.2\">multi-agency data integration<\/a>, nor do much else that doesn&#8217;t involve helping us with our triples behind the scenes.<\/p>","protected":false},"excerpt":{"rendered":"Not that anyone would ever mistake me for a query language guru, but that&#8217;s really part of the problem; I&#8217;m not a query language guru, because I&#8217;m a Web guru, and to a certain extent those two roles are incompatible. The Web doesn&#8217;t do generic query, and it&#8217;s a better large scale distributed computing platform [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[21,24,29],"class_list":["post-1615","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-rdf","tag-semanticweb","tag-sparql"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/1615","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/comments?post=1615"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/1615\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=1615"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=1615"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=1615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}