- 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