- 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