- From: Steve Harris <steve.harris@garlik.com>
- Date: Tue, 5 Jan 2010 11:02:44 +0000
- To: Souripriya Das <SOURIPRIYA.DAS@oracle.com>
- Cc: <public-rdf-dawg@w3.org>
- Message-Id: <264F3178-A383-4552-BEAE-AA516B947E37@garlik.com>
Thanks for your comments. I've replied inline to the ones that's I've addressed now. On 5 Jan 2010, at 05:19, Souripriya Das wrote: > Here are my (slightly rushed :-)) review comments: > [Section 2.5: Creating Values with Expressions] > [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. > [would like to know] Are we allowing expressions for CONSTRUCT as > well? > [Section 3: RDF Term Constraints (Informative)] > [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". > [Section 13.1.2: "SELECT expressions"] > [typo] change: SELCT => SELECT Fixed. > [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? > [Section 9: Aggregate Functions] > [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"? That's an open question, "@@ note: it is yet to be decided how to handle unbound values and errors are handled in the evaluation of the Aggregation function, see ISSUE-53." > [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. I think queries like that are better left to the testcases myself. > [Section 10: Subqueries] > [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 > } > } Thanks, fixed. > [more details needed] May need more details about the scope of > variables mentioned in the subquery. I added some text to the end of §10 to explain this, but it still needs more text at some point. - Steve > [Section 8.1: Negation Syntax] > [typo] We need to put a blank space between 'EXISTS' (or 'NOT > EXISTS') and GroupGraphPattern. -- Steve Harris, CTO, Garlik Limited 2 Sheen Road, Richmond, TW9 1AE, UK +44(0)20 8973 2465 http://www.garlik.com/ Registered in England and Wales 535 7233 VAT # 849 0517 11 Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD
Received on Tuesday, 5 January 2010 11:03:14 UTC