- 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>
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 UTC