- From: Andy Seaborne <andy.seaborne@talis.com>
- Date: Tue, 05 Jan 2010 16:53:50 +0000
- To: Souripriya Das <SOURIPRIYA.DAS@oracle.com>
- CC: public-rdf-dawg@w3.org
On 05/01/2010 2:33 PM, Souripriya Das wrote: > Andy and Steve, > > Thanks for looking at the comments on such a short notice. > > You can ignore my comment about 8.1 (Negation Syntax). It was more of a > minor pretty-printing nit-picking. But, now I see that it is consistent > with the way the grammar is specified. (Regarding WS, I am assuming that > whitespaces are allowed between the (NOT) EXISTS and the GroupGraphPattern.) Yes. white space (or none) is allowed in the draft grammar. > Regarding my comments about "value of expression in presence of operands > of incorrect data types" ("semantics unclear" in Sec 2.5, Sec 13.1.2, > and Sec 9): The idea of skipping the binding (effectively binding=null?) > sounds good. > > For the query example in Sec 9, I still think it will nicely show the > grouping aspect if we extend the SELECT list slightly to SELECT ?org > (SUM(?lprice) AS ?totalPrice). [Steve] > One more question: Are we always requiring an alias for an expression? > That is, would SELECT SUM(?lprice) ... (i.e., without the alias > ?totalPrice) be allowed? Not formally decided (I couldn't find a resolution anyway) but there is a body of support for requiring the alias name. If sent over HTP with the results format, a name is required. Just for query, a processor can easily generate one at parse time so there is no requirement for it. Your opinion? Personally, I think the work to generate a safe one (it's similar to calculating SELECT *) is negligible and so a design to the benefit of the user is to be preferred. Andy > > Thanks, > > - Souri. > > > ----- Original Message ----- > From: andy.seaborne@talis.com > To: SOURIPRIYA.DAS@oracle.com > Cc: public-rdf-dawg@w3.org > Sent: Tuesday, January 5, 2010 8:40:38 AM GMT -05:00 US/Canada Eastern > Subject: Re: SPARQL Query 1.1 review comments > > Souri- thank you for you comments which are addressed below toegther > with Steve's earlier mesaage. > > On 05/01/2010 5:19 AM, Souripriya Das wrote: > > Here are my (slightly rushed :-)) review comments: > > * [Section 2.5: Creating Values with Expressions] > o [semantics unclear] If a solution for a query with > "SELECT ?x ?y ..." would include bindings > ?x="10"^^xsd:integer and ?y="Hello", then what would > happen to that solution for "SELECT ?x+?y ..."? > + Would that solution be skipped (i.e., Is there an > implicit directive that a solution is returned > only if all the SELECT-list expressions can be > evaluated without error?)? > + The solution would be returned, but the value of > the expression will show up as error. > > > There are three design possibilities - whole results are an error, skip > the row or skip just the binding. Binding an error token is strange > (typing; and also whether it itself can occur RDF). I think that causing > everythign to be an error is bad because it does not scale and is at > odds with the SPARQL design. > > The design I have in mind skips just the binding. The extend operator > works on one binding, not an entire row. I have fixed the definition (it > had an "and" where it needed "or"). > > extend(μ, var, expr) = μ if var not in dom(μ) *or* eval(expr) is an error > > o [would like to know] Are we allowing expressions for > CONSTRUCT as well? > > > There are no plans for that - it can be done with sub-SELECT. > > * [Section 3: RDF Term Constraints (Informative)] > o [typo] Subsections for Section 3 show only "3.1 Other > Term Constraints" in the content, but there are two > other subsections: "3.1 Restricting the Value of > Strings" and "3.2 Restricting Numeric Values". > > > The XML was malformed for the xmlspec.xsl script. Fixed. > > * [Section 13.1.2: "SELECT expressions"] > o [typo] change: SELCT => SELECT > > Done > > o [semantics unclear] What is the value of an expression > if any of the operands of an operator does not have the > proper data type? Do we ignore (i.e., not return) the > corresponding solution? Or, do we return a > pre-designated RDF error term in place of the value of > that expression? > + For example, if the RDF data shown is altered to > replace: the triple, :*book1 ns:price 42*, with > *:book1 ns:price "priceless*", then what will be > the results for the two queries? > > > See sec 2.5. comment above. > > * [Section 9: Aggregate Functions] > o [semantics unclear] Somewhat similar question as in the > case of SELECT expressions: How to evaluate an > expression, in this case aggregate functions, in > presence of values of different types? For example, what > would be ?totalPrice if instead of *:book3 :price 7, *we > had :*book3 :price "priceless*"? > o [enhance the query] In the query example, could we > extend the SELECT list from SELECT (SUM(?lprice) AS > ?totalPrice) to, say, SELECT ?org (SUM(?lprice) AS > ?totalPrice), or further extend to SELECT ?org > COUNT(DISTINCT ?author) (SUM(?lprice) AS ?totalPrice)? > Just selecting SUM(?lprice) is not very interesting. > * [Section 10: Subqueries] > o [fix the query] The query does not seem right. > Specifically, the outer SELECT list cannot include ?name > which is not exposed by (that is, not in the SELECT list > of) the subquery. [Also, a minor typo: has an extra > '}'.] One possible way to fix it would be: > > PREFIX : <http://people.example/> > PREFIX : <http://people.example/> > SELECT ?y *?minName* > WHERE { > :alice :knows ?y . > { > SELECT ?y (MIN(?name) *AS ?minName*) > WHERE { > ?y :name ?name . > } GROUP BY ?y > } > } > > o [more details needed] May need more details about the > scope of variables mentioned in the subquery. > * [Section 8.1: Negation Syntax] > o [typo] We need to put a blank space between 'EXISTS' (or > 'NOT EXISTS') and GroupGraphPattern > > I don't understand this comment. Exactly which point in the doc are you > referring to? > > Or do you mean the grammar needs to specify a space is needed between > EXISTS and GrroupGraphPattern (it's not - covered by the WS rules of the > grammar). > > > Andy > > ______________________________________________________________________ > This email has been scanned by the MessageLabs Email Security System. > For more information please visit http://www.messagelabs.com/email > ______________________________________________________________________
Received on Tuesday, 5 January 2010 16:54:16 UTC