- From: Pat Hayes <phayes@ihmc.us>
- Date: Thu, 1 Nov 2007 17:13:41 -0500
- To: "Andrew Newman" <andrewfnewman@gmail.com>
- Cc: public-rdf-dawg-comments@w3.org
>Here is a summary of the objections that I've had with the SPARQL >specification over the years. ... >One feature that SPARQL lacks is closure. Having closure on all >operations means that intermediate results and answers are always tied >to an RDF graph. It means that in each step of the query evaluation >you are dealing with valid subsets of RDF graphs. Can you expand on this notion? As I don't quite understand it as stated here. Do you mean that the result of a query should itself be an RDF graph? If so, how does one keep track of the bindings to query variables? For example if my query is (artificial example) ?x rdf:type ?y then given a graph, that is, a set of triples, how does one know which URIs in it are bound to ?x and which to ?y ? > The current >specification, however, reverts to an SQL/multiset/bindings to >variables that is not compatible with the RDF model. In what sense is it not compatible? The connection seems clear: the binding is a mapping from a query to an RDF graph. What objection do you have to this formulation? >To summarize, my objections include [2][3][4][5]: >* Lack of closure. >* Inconsistencies between SPARQL triples and the currently defined RDF >standard (requiring special handling of say CONSTRUCT when there are >literals as subjects). If SPARQL was defined in terms of RDF, if RDF >changed then SPARQL would naturally change. The current way the >specification was created seems to allow a difference between the >language and the data it's querying. Allowing literals as subjects is a modification to RDF which has itself almost become a de facto standard, and is widely used. But the SPARQL specification can be applied to the subcase in which literal subjects are illegal without modification, if one prefers. >* The use of multiset semantics instead of semantics consistent with >RDF (set based semantics). "Set-based" is too vague. RDF graphs are defined as sets of *triples*, but query results are bindings. In general, one cannot guarantee that a set of triples will produce a set of bindings. For example, the query ex:a ex:p ?y against the graph ex:a ex:p ex:B . ex:a ex:p ex:C . >* Existence of DISTINCT and REDUCED (set based semantics don't have >duplicates). See above. Pat Hayes -- --------------------------------------------------------------------- IHMC (850)434 8903 or (650)494 3973 home 40 South Alcaniz St. (850)202 4416 office Pensacola (850)202 4440 fax FL 32502 (850)291 0667 cell phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes
Received on Thursday, 1 November 2007 22:13:58 UTC