- From: Carlos Buil Aranda <cbuil@fi.upm.es>
- Date: Tue, 03 May 2011 17:03:57 +0200
- To: Lee Feigenbaum <lee@thefigtrees.net>
- CC: SPARQL Working Group <public-rdf-dawg@w3.org>, Eric Prud'hommeaux <eric@w3.org>, Axel Polleres <axel.polleres@deri.org>
dear all, I addressed all comments but the one about the conformance section, which I do not really know what to write there. Carlos On 28/04/2011 5:09, Lee Feigenbaum wrote: > I've revisited my review of the federated query document based on > Carlos's changes documented on > http://www.w3.org/2009/sparql/wiki/To_Last_Call/Federated_Query_Review. This > also discharges ACTION-433, as I took a look at the protocol service / > endpoint terminology. > > == Substantive Comments == > > These comments must be resolved before the document is ready for Last > Call. Editorial comments follow after, which can be addressed either > before or after Last Call, though many of them would help the > readability of the document. > > 2.3 -- we can't link to a definition on a wiki. If we need that > definition, it needs to be incorporated into this document. It also > should be incorporated into the semantics section, rather than in the > context of an example. > > 3.1 > > * The syntax transformation needs to handle "SILENT" > > Definition: Evaluation of a Service Pattern > > * Invocation(IRI, S, P, B) needs to be extended to take a 5th > parameter, the boolean for silent invocation or not. > > * Why are only variables in the intersection of vars and bound > selected? This means that I can't do this: > > SELECT ?x { > SERVICE <iri> { ?x a foaf:Person } > } > > ...which seems strange to me. Is this intentional? > > * The second call to "Invocation" needs to include silentOp > > * " return unbounded variables." needs to be more formal. It needs to > return a single solution with no bindings. > > 4 SPARQL 1.1 Federated Query Grammar -- this document only defines > SERVICE, not BINDINGS. This section should be changed to reflect that. > > 5 Conformance > > I'm still not sure that this conformance section makes sense here. I > need to think more about what would make sense. Perhaps Eric or Axel > has a suggestion here. > > Remove section 7 completely. > > == Editorial Comments == > > 1. Introduction > > Suggest rewording as follows: > > """ > The SERVICE extension allows one to direct a portion of a query to a > particular SPARQL query service, similar a GRAPH graph pattern, which > "directs" queries to particular named graphs in the (local) dataset . > This specification defines the syntax and semantics of this extension. > """ > => > """ > This specification defines the syntax and semantics of the SERVICE > extension to the SPARQL 1.1 Query Language. This extension allows a > query author to direct a portion of a query to a particular SPARQL > endpoint to be executed against local graphs. Results are returned to > the federated query processor and are joined with results from the > rest of the query. > """ > > (and add a link from "SPARQL endpoint" to > http://www.w3.org/2009/sparql/docs/protocol-1.1/Overview2.xml#terminology) > > > 1.1.2 Result Descriptions > > Suggest adding this and removing the similar sentence from 1.1.3: > > """ > This example illustrates a solution sequence for a query that projects > three variables, ?x, ?y, and ?z. The solution sequence has a single > solution mapping in which ?x is bound to the plain literal "Alice", ?y > is bound to the IRI http://example/a, and ?z is not bound. > """ > > 1.1.3 Terminology > > Remove " (corresponds to the Concepts and Abstract Syntax term "RDF > URI reference")" after "Solution Mapping". > > Remove "In this result set..." > > > 2 SPARQL 1.1 Basic Federation Extension > > Suggest renaming section to "SPARQL 1.1 Federated Query Extension" > > Suggest rewording the first paragraph based on the new introduction > text, as follows: > > """ > Queries over distributed SPARQL endpoints often involves querying one > source and using the acquired information to constrain queries of the > next source. This section illiustrates how this can be achieved using > SPAQL1.1's SERVICE Graph patterns by examples. > """ > > => > > """ > The SERVICE keyword instructs a federated query processor to invoke a > portion of a SPARQL query against a remote SPARQL protocol service. > This section presents examples of how to use the SERVICE keyword. The > following sections define the syntax and semantics of this extension. > """ > > 2.1 Simple query to a remote SPARQL endpoint > > Suggest rewording: > > """ > This example shows how to query a remote SPARQL endpoint and join the > returned data with the data at local RDF data store. Imagine we want > to know who do I know. Data about people is in > <http://people.example/sparql> endpoint: > """ > => > """ > This example shows how to query a remote SPARQL endpoint and join the > returned data with the data from the local RDF data store. Consider a > query to find the names of the people I know. Data about the names of > various people is available at the <http://people.example/sparql> > SPARQL endpoint: > """ > > 2.1 and following -- the examples are much improved. There is still > some inconsistency between the data in the remote endpoints and the > URI of the endpoints. 2.1 uses "people.example" and 2.2 uses > "people.example.org", for instance. It would be good to make these all > match up to help the reader follow the examples without being confused. > > > 2.2 > > I think this example needs a couple of changes: > > * The URIs of the services in the description does not match the URIs > in the query > > * The query nests one SERVICE inside another. This requires the first > service to be a federated query processor. This should be mentioned in > the example, or the example changed so that the OPTIONAL is outside of > the SERVICE clause (in which case the foaf:interest triples would need > to be local). > > > 2.3 Variable Services > > "in the default graph" => "in the local default graph" > > """ > When having variables for specifying the address of a SPARQL endpoint > in a SERVICE operation this variable must be bounded. > """ > => > """ > A variable used with the SERVICE keyword must be bound. > """ > > (See comment above.) > > 2.4 > > """ > the query will stop returning the corresponding SPARQL error. > """ > => > """ > the query will stop and return the error. > """ > > 2.4 - Can we add or something in the table cell in the results > to make it render as a full-height empty cell to show that there is > one row in which ?name is not bound? > > > 2.5 As per > http://lists.w3.org/Archives/Public/public-rdf-dawg/2011AprJun/0119.html, > I'd remove this example completely and substitute the text in that > email message. While SERVICE and BINDINGS _can_ be used in the same > query, that is not the "natural" intent of things -- instead, the > natural intent is that a federated query implementation would > _generate_ queries with BINDINGS to help constrain the results from > the remote endpoint. An example showing this would be helpful, but is > probably too much before Last Call, so I'd remove this example entirely. > > > thanks, > Lee >
Received on Tuesday, 3 May 2011 15:04:20 UTC