W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > July to September 2006

Re: ready to exit CR?

From: Seaborne, Andy <andy.seaborne@hp.com>
Date: Tue, 01 Aug 2006 10:51:30 +0100
Message-ID: <44CF2422.5060305@hp.com>
To: Fred Zemke <fred.zemke@oracle.com>
CC: public-rdf-dawg@w3.org


Fred Zemke wrote:
> Andy Seaborne wrote
>> Maybe we could see where we are on the road to CR exit.
> I am strongly opposed to exiting CR because of the issues
> I have raised with the specification, which I regard as serious
> and fatal.

I didn't advocate we should exit CR.  Kendall asked for comments on the
agenda; I suggested that we see where we are in the process to exiting CR.  CR 
exit requires a number of deliverables.  There are things that need to be done 
as well as working on the query language spec.

> In my view the purpose of a specification is to specify.
> Examples do not constitute a normative specification. 
> The document (both the CR and rq24) fails to specify in the following
> important ways:
> 1. There is no bridge from the concrete syntax to the abstract
> semantics.  Consequently the document can not actually be said
> to specify the language at all, except that A.7 "Grammar" really
> does specify the syntax.

See rq24 - there is the start of this.  There are grammar rules quoted in the 
main section of the document.  I am open to feedback on this approach or to 
suggestions of an alternative approach.

> 2. The scope of blank node identifiers has not been stated clearly.
> The consensus in an email thread appears to be that the scope
> is a FilteredBasicGraphPattern (rule [21]) but the definitions in
> 2.5.1 "General framework" do not support this and need to be
> rewritten.

Blank node identifiers are syntactic and there is a section devoted to them in 

3.1.4 Syntax for Blank Nodes

Blank node labels are written as "_:a" for a blank node with label "a" and the 
label is scoped to the basic graph pattern.

Mention of blank node labels would not appear in the section about the 
semantics.  There are a couple of places where the phrase "blank node names" 
appears but there is consensus from the original contributors of that material 
that it should "blank nodes".


> 3. The abstract semantics does not pay attention to the critical
> issue of the domain of solutions.  Consequently the notion of
> "solution" is not well-defined.
> 4. The preceding problems are perhaps at their worst in the
> case of optional graph patterns.  The grammar does not indicate
> what the first operand of a graph pattern is,  and there is no
 > discursive text on the subject either.  Thus there is no bridge from
 > the syntax to the abstract semantics.



As there has been no comment on this message, I have been taking it that we 
are in agreement as per your previous statement that anything you don't reply 
to, you agree to.  [On a personal note, I would find it easier if you did 
reply with agreement because I don't know how long the timeout should be.]

> As for the abstract semantics,
> the definition of OPT(A,B) appears to reduce to just solving A
> with no role for B. 

S is a solution of optional graph pattern if S is a pattern solution of A and 
of B otherwise if S is a solution to A, but not to A and B.

That involves B.  Logically, the truth value of OPT(A,B) only depends on A; 
the solutions associated with the matching do depend on B.

> 5. It is not clear whether UNION requires an implementation to
> count duplicate solutions precisely, which I personally advocate,
> though I could live with the alternative of stating explicitly that
> it is implementation-defined or -dependent how many duplicates
> are returned.

Counting is postponed so not stating it is quite reasonable.  Not stating 
anything is making it an implementation issue.

One of the requirements for CR is implementation feedback.  It would be an 
option to include that as a question in the implementation report.

If we did specify it, I would prefer counted duplicate solutions, which is 
what ARQ implements (switching to set semantics would be quite easy (ojne line 
of code to add a duplicate supression wrapper IIRC) - it costs memory but not 
streaming in terms of needing to surpress duplicates somewhere).  However, 
it's all built on BGP matching so that is the primary issue.

As a general point, this is the first SPARQL specification; we have a charter, 
we have a WG members, and we have a timescale; so we do the best we can within 
those bounds.  That will mean that not all possible features get done.  There 
can be another working group.

> Fred

Received on Tuesday, 1 August 2006 09:51:52 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:00:51 UTC