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