- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Mon, 4 Oct 2004 19:35:21 -0400
- To: Dave Beckett <dave.beckett@bristol.ac.uk>
- Cc: andy.seaborne@hp.com, Howard Katz <howardk@fatdog.com>, Steve Harris <S.W.Harris@ecs.soton.ac.uk>, RDF Data Access Working Group <public-rdf-dawg@w3.org>
- Message-ID: <20041004233521.GA3856@w3.org>
One update 90 lines down.
On Mon, Oct 04, 2004 at 09:05:02AM -0400, Eric Prud'hommeaux wrote:
> some issues address in v1.79
>
> On Mon, Oct 04, 2004 at 01:43:00PM +0100, Dave Beckett wrote:
> >
> > On Fri, 01 Oct 2004 17:28:35 +0100, "Seaborne, Andy" <andy.seaborne@hp.com> wrote:
> >
> > > Dave, Steve, Howard,
> > >
> > > The SPARQL language doc is ready for review in preparation for the telcon next
> > > Tuesday. Version v1.73 (or later) of:
> > >
> > > http://www.w3.org/2001/sw/DataAccess/rq23/
> > >
> > > The intention is to publish this rough-and-ready version, complete with editors
> > > notes and comments. This will enable early review, showing where we are going
> > > and enable feedback from the more dedicated part of the community. There is
> > > still much to do in the document but we hope that this public working draft will
> > > indicate the directions we are taking even if the detail is still to be done.
> >
> > This is my initial set of comments, not complete but requested by Eric
> > as I had made it available to him as I drafted it. I may/will change my
> > opinion on some items after I have a readthrough when I get to the end
> > in a few more hours.
> >
> > Dave
> >
> > ----
> >
> > General:
> > A thorough spellcheck is needed.
> >
> > Label all examples with Numbers, titles and add anchors.
> > Add all example queries, data files as separate files with URIs, link
> > to them. Add them to the test suite.
> > Add labels and anchors to all definitions.
>
> I haven't labeled any yet, but I copied the exampleOuter /
> exampleInner template from RDF Primer (and XQuery). There is a wad of
> disabled style associated with this. Andy, you can enable it to check
> it out -- it puts cool boxes around stuff. My macro grabbed the class
> from the inner
> <pre class="query|query todo?/>
> so it will be easy to make the outer boxes the right color.
>
> The RDF Primary sometimes has
> <div class="exampleOuter exampleInner">
> and sometimes has
> <div class="exampleOuter">
> <div class="c1">
> <a id="example20" name="example20">Example 20: ...
> using <code>rdf:ID</code></a>
> </div>
> <div class="exampleInner">
> I haven't worked to figure out the criteria for what needs an
> anchor and title.
>
> > Do not use underlining in the html style when it isn't a link.
>
> I'm not sure that's such a problem, but I change the name of the
> style from "underline" to "definedTerm" and changed the style to
> text-decoration : underline
>
> > In query results, some of the tables use ?x and some use bare x.
> > Some results use both!
>
> changing all the x (without regard to the actual variable name).
>
> >
> > Must Fix
> >
> > Consistency in use of individuals, sets of individuals
> > examples:
> > b in B used ok
> > T defined as a set and used as a member of that set, also defined
> > as tp. T in GP should be tp in GP.
> >
> > See also MUSTFIX below
> >
> >
> > Editorial comments - should fix
> >
> >
> > Title: SPARQL title does not mention protocol despite the 'P' in the
> > name.
>
> Best I could come with was "SPARQL Query - A Language for Querying RDF".
Kendall helped me out here with "SPARQL Query Language for RDF"
> > Later on the document suggests that protocol is a separate document.
> >
> >
> > Abstract
> > typo: "end users [missing words] to write"
>
> end users a way to write
>
> figured it shouldn't be off-puttingly formal
>
> > ToC
> > missing 4.3
>
> added
>
> > 8 "Chosing What to Query" to match document capitals
>
> fixed
>
> > 12.2 ditto
>
> fixed 12.1 and 12.2
>
> > Appendices labelled 1,2 actually A, B in doc
>
> now A, B
>
>
> =============== Going home before grocery store closes ================
>
> cheers all
>
> > suggest removing see also, old material. It's not ToC.
> >
> >
> > 1 Introduction
> >
> > MUSTFIX: First sentence is wrong.
> >
> > The abstract syntax for RDF is not a "graph of nodes and arcs, often
> > expressed as triples". It is a set of triples called an RDF graph
> > formally defined in RDF semantics. It can be and is often described
> > as a graph of nodes and arcs but RDF is not nodes+arcs; that was an
> > RDF core decision closely argued.
> >
> > preference to graph "created dynamically" than "partly calculated on demand"
> >
> >
> > (un-numbered section) Document Outline
> > @@variables bound@@, @@bindings@@ can be linked to forward references
> >
> > "10 - Summary" doesn't match the style of the other paragraphs - no
> > explanation
> >
> >
> > 2 Making Simple Patterns
> > last sentence preference to "[Simple] patterns can be ..."
> >
> > [All graph pictures are unreadable when printed out, too dark.
> > Please re-compose on a light background or with much greater
> > contrast. black on gray doesn't work.]
> >
> > First example. I suggest not using _:1 _:2 since it's not legal in
> > N3, Turtle, N-Triples for blank node labels. I think a small edit
> > can make the first example executable, testable.
> >
> > I'd prefer full names for variables, for easy of readability
> > especially by non-native english speakers. So 'address' not 'addr'
> > and something else instead of 'addrm'
> >
> >
> > 2.1
> > P2
> > URIref expand to URI Reference for first use. Or use the
> > correct definition RDF URI Reference and link to it.
> > grammar - "XML. Qname" - delete the "."
> > Link to QName in XML sepcs.
> > datatype URIRef not URI
> >
> > Para "Because.."
> > here and later I see "URIs used" - check for consistency. I suggest
> > s/URI/URIref/ throughout
> >
> > N3/Turtle used without a reference, explanation.
> >
> > Spellings "intpretted"
> >
> > Para "Prefixes are..."
> > refering to an earlier query, but it doesn't say which of the three
> > previous it means. Suggest "same query as the previous one"
> >
> >
> > 2.2 Triple Examples
> >
> > P1 grammar s/for for/for/
> >
> > P2 "bnodes" introduced without explanation. Should
> > be "blank node labels" [ref RDF docs] abbreviated to BNodes.
> > Doesn't say which positions that bnodes can be used in.
> >
> >
> > Definition RDF Term
> >
> > This implies that query variables are in the RDF data model since
> > they are along with U, L and BN. I suggest moving to another
> > block since V is not used till later. Maybe after/near Query Variable?
> >
> > Definition Query Variable
> > This defines an individual, all the RDF Term definitions are sets.
> > No letter is assigned to typically use it.
> > Suggest "A query variable qv". OR define the set Q.
> >
> > Defn. Triple Pattern
> > (spelling, grammar)
> > "A triple pattern is [a] triple of 3 slots subject, predicate, object .."
> >
> > MUSTFIX: "union Q" <- Q is never defined. Q presumably is a set of
> > Query Variables, in which case it is NOT Q, but a set of qv, or
> > define Q as a set of qv.
> >
> > This also defines 'ground' but that is not pulled out. Suggest
> > make it a separate 'Definition: Ground' block.
> >
> >
> > Definition Binding
> > suggest use B for variable, as they are used uppercase elswhere too.
> > Suggest give an example for the convention for writing down a binding
> > such as (f, "value") or ?f="value" or the tabular form
> > ---------
> > | ?f |
> > ---------
> > |"value"|
> > ---------
> >
> > Suggest give an example of a set of bindings such as
> > {?f="value", ?g="value2"} or the tabular form given later.
> >
> > Definition A substitution
> > suggest uppercase "Substitution"
> > Suggest not using B as a set of Bindings, but use SB or something
> > to differ from lowercase 'b' as an individual binding.
> > So this is a mapping S(set of b)
> >
> > How can a set of bindings define a substitution?
> > Suggest rewording
> > "A substitution S(B) on a set of bindings B maps a triple pattern ..."
> > suggest ... "by the corresponding [variable] value"
> >
> > Suggest putting a subst() example.
> >
> >
> > Definition Triple Pattern Matching
> >
> > MUSTFIX: I think there is a triple pattern/set of triple pattern
> > issue here unless you are solely comparing a graph with one triple.
> >
> > T was earlier defined as a set of triple pattern. So subst(T, b in
> > B) is not a substitution of a triple pattern, but of a set of
> > triple patterns (and a binding b in B). Could re-use tp in T which
> > was used in defining ground, and define subst(tp in T, b in B).
> > Then edit to match such as 'Triple Pattern tp matches ...'
> >
> > Use of entails, reference/link to RDF entailment.
> >
> > rdfs: prefix is used in the second data, this was not defined as
> > convention earlier. brql/sparql predefines rdf: but not rdfs:?
> >
> >
> > 2.3 Graph patterns
> >
> > P1 "There are bNodes" No, there is 1.
> > grammar: "not in the RDF graph [nor in] any query"
> >
> > Para "The next query.." but there is no query following. Confused.
> > Does that mean the query just given
> > Also grammar:
> > "one or more triple patterns which must all match for the graph
> > pattern to match."
> > - the 'all' and 'one or more' say different things. Is it all or 1?
> >
> > Maybe the definition following explains better, remove?
> >
> >
> > Definition: Graph pattern
> >
> > MUSTFIX:
> > "A conjunctive Graph Pattern GP is a set of triple patterns T."
> >
> > T was earlier defined as;
> > "let T be the set of triple patterns := A x A x A"
> >
> > So GP=T ?
> >
> > Not quite what was meant. GP is set of tp, where
> > tp is a Triple Pattern in T.
> >
> > Maybe triple pattern & triple patterns are too hard to use and make
> > nice sentences. Other suggestions ; triple pattern set.
> >
> >
> > Defn: Graph Pattern - Conjunction
> >
> > Defines "conjunctive Graph Pattern" not the title of the definition.
> > html - underlining doesn't match too
> >
> >
> > Defn: Graph pattern Matching
> >
> > Hmm, confused by "same" in:
> > "For a graph pattern to match, each triple pattern must match with
> > each query variable having the same value whereever it occurs."
> >
> > suggestions
> >
> > "For a graph pattern GP to match, all triple patterns tp in GP must
> > match with all query variables in all tp having the same value."
> >
> > This actually defines "Graph Pattern GP matches", not
> > "Graph Pattern Matching"
> >
> > Using T in GP which is a (set of triple patterns). Probably should
> > be tp in GP.
> >
> > MUSTFIX:
> > [[
> > For all T in GP, subst(T, B) is a triple entailed by G.
> > subst(GP, B) is the graph pattern formed by subst(T, B) for all T in GP.
> > subst(GP, B) is a subgraph entailed by G if all triple patterns are grounded.
> > ]]
> >
> > This is reusing subst(t in TP, b in B) redefined over graphs
> > I suggest changing the name to graphsubst(GP, B) to distinguish it.
> > subst(T in TP, b in B) returns a triple pattern, may not be ground.
> >
> > Suggestion:
> > For all tp in GP, subst(tp, B) is a triple pattern entailed by G.
> > graphsubst(GP, B) is the graph pattern formed by subst(tp, B) for
> > all tp in GP.
> > graphsubst(GP, B) is a subgraph entailed by G if all triple
> > patterns are grounded.
> >
> >
> > 2.4 Multiple Matches
> >
> > "The results of query are all the ways a query can match the graph
> > being queried. Each match is one solution to the query and there
> > may be zero, one or multiple solutions to a query, depending on the
> > data."
> >
> > This uses "results", "solutions" and "matches", not in the same was
> > as previously defined. I suggest using results only, and use match
> > to mean graph matches, triple matches as used above:
> >
> > "2.4 Multiple results
> >
> > The results of query are all the ways a query can match the graph
> > being queried. Each result is one solution to the query and there
> > may be zero, one or multiple results to a query, depending on the
> > data."
> >
> > Aside: A query actually hasn't been defined yet. It's hinted that it
> > is something to do with graph pattern, but it hasn't been said so
> > far. i.e. no.
> >
> > Or if sticking with "matching" make it clearer what the difference
> > between a result and a solution is.
> >
> > Example query has commas between variables. Die.
> >
> > "When the query can match the data in more than one way, each
> > possibility is returned as a solution to the query. In addition, we
> > have more than one selected variable so each solution contains two
> > bindings of variables to values."
> >
> > so now there are results, query matches, solutions and possibilities :)
> > Query matching data hasn't been discussed. Graph patterns matching
> > Graphs has been, could be reused. Could also refer to sets of bindings.
> >
> > ... and now Query Solution is given.
> >
> > definition Query Solution:
> > "For conjucntion graph pattern GP, subst(GP, B), has no variables."
> > spelling: conjunction.
> > Also could add ".. and is a set of ground triple patterns" or possibly
> > define a Ground Graph Pattern.
> >
> >
> > 3 Constraining Values
> >
> > (Here the query uses selected variables without a comma)
> >
> >
> > Definition: Value Constraint
> > "A value constraint is a boolean expression that can be applied to
> > restrict graph pattern solutions."
> > For me that doesn't read as an expression that can refer to
> > non-boolean things as parts of the expression but which has a boolean
> > value.
> >
> >
> > Definition: Query Stage (partial definition).
> >
> > "Graph Pattern (set of triple patterns) + set of Value
> > Constraints. QS : GP x VR"
> >
> > + and x ? + doesn't mean addition here but...? You cannot
> > join/merge a set of triple patterns and a set of value constraints.
> >
> > spelling in comment: [[ operations [like] "source" ]]
> >
> > I prefer Query Block.
> >
> >
> > 4 Including Optional Values
> >
> > .... Review to continue from here ...
>
> --
> -eric
>
> office: +81.466.49.1170 W3C, Keio Research Institute at SFC,
> Shonan Fujisawa Campus, Keio University,
> 5322 Endo, Fujisawa, Kanagawa 252-8520
> JAPAN
> +1.617.258.5741 NE43-344, MIT, Cambridge, MA 02144 USA
> cell: +1.857.222.5741 (does not work in Asia)
>
> (eric@w3.org)
> Feel free to forward this message to any list for any purpose other than
> email address distribution.
--
-eric
office: +81.466.49.1170 W3C, Keio Research Institute at SFC,
Shonan Fujisawa Campus, Keio University,
5322 Endo, Fujisawa, Kanagawa 252-8520
JAPAN
+1.617.258.5741 NE43-344, MIT, Cambridge, MA 02144 USA
cell: +1.857.222.5741 (does not work in Asia)
(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.
Received on Monday, 4 October 2004 23:35:21 UTC