Re: ISSUE-19: Should TURTLE allow triples like "[ :p 123 ]." as SPARQL does ?

On Fri, Apr 1, 2011 at 11:22 AM, Peter Frederick Patel-Schneider <
pfps@research.bell-labs.com> wrote:

> From: Andy Seaborne <andy.seaborne@epimorphics.com>
> Subject: Re: ISSUE-19: Should TURTLE allow triples like "[ :p 123 ]." as
> SPARQL does ?
> Date: Fri, 1 Apr 2011 10:08:14 -0500
>
> > http://www.w3.org/TR/sparql11-query/#grammar
> >
> > [21] TriplesBlock ::=
> >       TriplesSameSubject ( '.' TriplesBlock? )?
> > [32] TriplesSameSubject ::=
> >       VarOrTerm PropertyListNotEmpty | TriplesNode PropertyList
> > [34] PropertyList ::=
> >       PropertyListNotEmpty?
> > [38] TriplesNode ::=
> >       Collection | BlankNodePropertyList
> > [39] BlankNodePropertyList ::=
> >       '[' PropertyListNotEmpty ']'
> >
> > A lot of this is to exclude "[] ."
> >
> > http://www.sparql.org/query-validator.html ==>
> >
> >
> http://www.sparql.org/query-validator?query=PREFIX+%3A+%3Chttp%3A%2F%2Fexample%2F%3E%0D%0A%0D%0ASELECT+%3Fbook+%3Ftitle%0D%0AWHERE%0D%0A+++{+[+%3Ap+123+]+}%0D%0A&languageSyntax=SPARQL&outputFormat=sparql&linenumbers=true
> >
> >       Andy
>
>
> Ah, now I see it.  Tricky.
>
> The extra complexity and lack of uniformity is a strong point against
> this syntax.
>
> peter
>

I see your point here.  The name 'TriplesNode' implies a production that
generates a [node, triples] tuple, so the triples always get added to the
enclosing BGP and the node can be added to a surrounding triple context if
present.  That is extra complexity, and doesn't allow you to write anything
that you couldn't before.

But it does allow you to write statements about a blank node without having
to give that node a label, even if nothing else in the graph refers to that
node.  A common example from OWL:

[ a owl:AllDifferent; owl:distinctMembers (:a :b :c) ] .

I'm in favor of any feature that allows a document author to avoid tracking
blank node labels in a document.

-Alex

Received on Friday, 1 April 2011 15:46:32 UTC