- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Tue, 26 Jul 2011 10:48:07 +0100
- To: sparql Working Group <public-rdf-dawg@w3.org>
This message is a set of comments from reading the federated query document. A separate message covers suggestions for SERVICE ?var. 0/ Delete xmlspec.xml which is not the document. 1/ There is no CVS log in the document. Put in: <div1 id="sec-cvsLog"> <head>CVS History (Last Call and after)</head> <div2 id="sec-cvsLog-meat"> <pre> </pre> </div2> </div1> and CVS log entries are added to the file. This is useful fro last call and later when we must track changes carefully. 2/ Formatting: The data examples need to consistently use prefixes. This will also shorten the data making it fix when printed. Some examples are incomplete fragments - Some (e.g. first in 2.1), have got extra newlines 3/ Formatting: Keywords should be consistent. 'SILENT' SERVICE SERVICE keyword. Query uses <code></code> around keywords then CSS can take care of them. 4/ Formatting: sparql -> SPARQL (sec 2.3 maybe others) 5/ Formatting: URIs in text should not have <> -- it's not part of the URI. Use formatting to make them stand out e.g. <code>. 6/ formatting: Queries have "PREFIX foaf:" so use this in the query - not the full URI. (e.g. sec 2.2, end) By sections: Sec 2.1: "my local FOAF file at" We have services being "at" -- suggest s/ at//. Sec 2.2: "obtain their interests and the people who knows those people who have some interest" ==> "obtain their interests and the names of people they know" Formatting for nested SERVICE in OPTIONAL: I first read it as OPTIONAL after the first SERVICE, not nested. "This query requires the first SERVICE to be a federated query processor" ==> "This query requires the SPARQL query service at http://people.example.org/sparql to support basic federated query." Sec 2.3 Stray ")" in first sentence. Substantive comments in the other message. Sec 2.5: "only people the that know" ==> "only people that know" It would be clearer to define result of SERVICE SILENT and an error as the solution sequence of one empty solution mapping rather than refer to "return all variables unbounded". It is confusing about what is "the query" here. Sec 2.6 The example does not make the point. BINDINGS can be used when creating the query to send to a remote endpoint to limit the results. So BINDINGS does not appear in the application query that contains the SERVICE clause. Sec 3.1 Split into two parts; one for translation from syntax to algebra, one for evaluation, to make it align to the structure of the query document (and SPARQL 1.0). Put the examples in a subsection and not mix examples and definition. Evaluation: of a Service Pattern: The evaluation does not cover SILENT for a fixed URI. It call goes into Invocation( IRI, vars, P, Bindings(G, vars), SilentOp ) but that is too informal. "if IRI is a SPARQL service" How do I tell? Should be "if IRI", and then try the invocation, which will tell whether it's an endpoint or not. Andy
Received on Tuesday, 26 July 2011 09:48:43 UTC