W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > January to March 2010

Re: Draft response for comment N3-1

From: Andy Seaborne <andy.seaborne@talis.com>
Date: Tue, 23 Feb 2010 11:37:20 +0000
Message-ID: <4B83BDF0.8090501@talis.com>
To: Steve Harris <steve.harris@garlik.com>
CC: Sandro Hawke <sandro@w3.org>, SPARQL Working Group <public-rdf-dawg@w3.org>


On 23/02/2010 10:18 AM, Steve Harris wrote:
> Just for my own edification. Is it correct that N3 already includes a
> path syntax similar to the SPARQL property paths one, and plans to add
> expressions, so will require a delimiter, or is it a first one to stick
> their syntax flag in the ground situation?

N3 does include path syntax. [1]

N3 allows a path in any position : subject/property/object - a path in 
the S or O slots ends in an implicit bnode.

N3 uses "!" for forward and "^" for backward (binary forms only - there 
has been a preference in SPARQL-WG for only the unary form of "^").

   :Class ^rdf:type :thing .	# Illegal N3.

but one can write the expression:

  :Class^rdf:type/:thing .	# No whitespace.

It's the bNode expression:

  [ rdf:type :Class ] .

because the propertyList can be empty in N3 - that's how it does []. 
SPARQL is stricter - no nodes without being in a triple pattern.

   :x .

is legal N3 syntax (which generates no triples).

Reverse paths  which seem quite natural to me in a path language.  N3 
paths are more like routes from graph node to graph node, including the 
endpoints, not the sequence of properties traversed.

N3 only permits fixed length traversal (no modifiers: * + ? {})

Expressions are not in N3 (the formal grammar ref'ed in the submission), 
nor are they implemented as far as I know.

If it were just P and expressions in S and O, there would not be a problem.

So if there is a syntax clash (it's not clear there definitely is), then 
expressions might need something like $(expr) or `expr`).

> It doesn't really alter my feelings on the subject, but the three way
> syntax land grab between turtle, N3 and SPARQL is not ideal. I don't
> really get the impression that there's any W3C policy in this area.

Agreed - just the differences in prefixed names between CURIEs, Turtle, 
TriG, N3 and SPARQL causes friction for developers.  DAWG got noticeable 
feedback from communities who have identifier schemes that naturally map 
to URIs with numeric final parts so DAWG allowed leading digits in the 
local part. Agreeing a set of terminals to buuld languages on would be a 
start.

	Andy

>
> - Steve

[1] http://www.w3.org/2000/10/swap/grammar/n3-report.html#pathitem
     From http://www.w3.org/TeamSubmission/n3/
Received on Tuesday, 23 February 2010 11:37:51 GMT

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