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

Re: [Fwd: Editorial comment on SPARQL Query Language Last Call]

From: Dave Beckett <dave.beckett@bristol.ac.uk>
Date: Wed, 03 Aug 2005 15:11:00 +0100
To: Dan Connolly <connolly@w3.org>
Cc: andy.seaborne@hp.com, RDF Data Access Working Group <public-rdf-dawg@w3.org>
Message-Id: <1123078260.16890.19.camel@hoth.ilrt.bris.ac.uk>

On Mon, 2005-08-01 at 12:07 -0500, Dan Connolly wrote:
> On Mon, 2005-08-01 at 15:03 +0100, Seaborne, Andy wrote:
> > In http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2005Jul/0053, 
> > Ivan points out that the text in 2.8 about blank node syntactic forms does not 
> > cover the cases of using [:p :v] as a subject or object not for (1 2 3).
> > 
> > I have added (v1.449):
> > file:///C:/home/afs/W3C/DataAccess/rq23/Overview.html#syntaxMisc

http://www.w3.org/2001/sw/DataAccess/rq23/#syntaxMisc

although I'm reading $Revision: 1.450 $ of $Date: 2005/08/02 11:27:49 $
which has an unrelated change

> I've read too many descriptions of N3/turtle/sparql; I can't
> tell if this text has any hidden gotchas. I'd like another pair
> of eyeballs. Dave? Steve? Somebody else?

The [ ... ] construct needs a bit more explaining.  It both acts as
providing a triple subject for the *contained* forms, and as a
subject/object of the *containing* form.  This isn't explicit in:

 [[ The [:p :v] construct can be used to form triple patterns taking the
place with a blank node for subject. ]]

How about:

The [:p :v] construct can be used in triple patterns to create a blank
node label which is used as the subject of all contained
predicate-object pairs.  The form returns the created blank node so it
can also be used in triple patterns in the subject and objects of
triples.

(Aside: cannot be used as predicate?  We allow blank nodes there now,
why not []?)


> > """
> > This allocated blank node label can be used as the subject or object of further 
> > triple patterns. For example, as a subject:
> > 
> > [ :p "v" ] :q "w" .

add something like, "equivalent to the two triples:"

> > _:b57 :p "v" .
> > _:b57 :q "w" .
> >
> > and as an object:
> > 
> > :x :q [ :p "v" ] .

ditto, add "equivalent to the two triples:"
 
> > :x  :q _:b57 .
> > _:b57 :p "v" .
> > """
> > 
> > and also in the section on RDF Collections:
> > 
> > """
> > When used with collection elements, such as (1 ?x 3) then triple patterns and 
> > blank nodes are allocated for the collection and the blank node at the head of 
> > the collection can be used as a subject or object in other triple patterns.
> > 
> > (1 ?x 3) :p "w" .
> > 
> > is a short form for:
> > 
> >    _:b0  :p  "w" .
> >    _:b0  rdf:first  1 .
> >    _:b0  rdf:rest   _:b1 .
> >    _:b1  rdf:first  ?x .
> >    _:b1  rdf:rest   _:b2 .
> >    _:b2  rdf:first  3 .
> >    _:b2  rdf:rest   rdf:nil .
> > """

Yeah, this is trick to say.  I guess I'd have expected a collection to
be an object of a triple more commonly, but maybe not.

Maybe also explain what :a :b () gives?  At least that bit me when I did
Turtle.

Dave
Received on Wednesday, 3 August 2005 14:11:07 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:24 GMT