W3C home > Mailing lists > Public > semantic-web@w3.org > July 2007

Re: TriG/N3 compatibility was: Named Graph Serialisation

From: Jeremy Carroll <jjc@hpl.hp.com>
Date: Mon, 30 Jul 2007 09:39:13 +0100
Message-ID: <46ADA3B1.7050700@hpl.hp.com>
To: Chris Bizer <chris@bizer.de>
CC: pat hayes <phayes@ihmc.us>, Sandro Hawke <sandro@w3.org>, Jeremy Carroll <jjc@hplb.hpl.hp.com>, Tim Berners-Lee <timbl@w3.org>, semantic-web@w3.org, Richard Cyganiak <richard@cyganiak.de>, Arjohn Kampman <arjohn.kampman@aduna-software.com>

I think both the = and . are engineering issues:
- does the advantage of inter-op with N3 readers outweigh any 
disadvantage in suggesting that the abstract syntax of TriG is more 
similar to the abstract syntax of N3 than it really is.

Personally I quite like the [optional] approach, and it is clearly a bug 
that the final . is not permitted at all.

The optional approach allows the document author to write an N3/TriG 
document, but also allows them to insist that this is a Named Graph doc 
and not an N3 doc. I suspect that the semantics of

<http://ex.org/a> = {
  _:a rdf:value "b" .
} .
<http://ex.org/b> = {
  _:a rdf:value "c" .
} .

differ significantly with an N3 and a TriG reading because of the shared 
blank node ID (illegal in TriG?? or is this equivalent to:

<http://ex.org/a> = {
  _:a rdf:value "b" .
} .
<http://ex.org/b> = {
  _:b rdf:value "c" .
} .

), abstractly in NG blank nodes are not shared between graphs; whereas I 
believe in N3 that they are.

On the graph name issue - I didn't see any arguments against permitting 
arbitrary URIs as NG names, rather than only allowing URLs that 
dereference as those graphs.


Chris Bizer wrote:
>> I think the right choice is "=", because (as I understand it), that has
>> the right semantics.  But maybe I don't know what semantics you want.
> Seen from today's perspective, I clearly want the graphname URI to refer 
> to a graph one would expect to get by dereferencing this URI and many 
> people use the Named Graphs data model exactly in this way.
> But the original Named Graphs paper say something different.
> Maybe it was a good idea of the SPARQL working group to leave this point 
> open when defining their RDF dataset and it would be harmful for Named 
> Graph deployment if we would take a decision one or the other way.
> Pat, Jeremy, Patrick (and anybody else): What do you think?
> Cheers
> Chris
> -- 
> Chris Bizer
> Freie Universitšt Berlin
> +49 30 838 54057
> chris@bizer.de
> www.bizer.de
> ----- Original Message ----- From: "Sandro Hawke" <sandro@w3.org>
> To: "Chris Bizer" <chris@bizer.de>
> Cc: "Tim Berners-Lee" <timbl@w3.org>; <semantic-web@w3.org>; "Jeremy 
> Carroll" <jjc@hpl.hp.com>; "pat hayes" <phayes@ihmc.us>; "Richard 
> Cyganiak" <richard@cyganiak.de>; "Arjohn Kampman" 
> <arjohn.kampman@aduna-software.com>
> Sent: Friday, July 27, 2007 9:43 PM
> Subject: TriG/N3 compatibility was: Named Graph Serialisation
>> "Chris Bizer" <chris@bizer.de> writes:
>>> Hi Tim,
>>> > Making the predicate optional, and omitting the final "." messes up =
>>> the compatibility.  Two small changes!=20
>>> The predicate is optinal and there is no final "." because N3 and TriG =
>>> are based on very different abstract models. In N3 you have the notion =
>>> of a outer document that contains formulas. Therefore you want the 
>>> final =
>>> "." The abstract model behind TriG is the Named Graph data model and 
>>> in =
>>> newer versions also the SPARQL dataset. Both abstract model do not 
>>> have =
>>> any notion an outer document and therefore the final "." is missing in =
>>> TriG.=20
>>> The TriG specification =
>>> (http://sites.wiwiss.fu-berlin.de/suhl/bizer/TriG/) allows the use of =
>>> the shorthand :- for compatibility reasons with N3 (I think Jeremy =
>>> Caroll or Pat Hayes wanted it in as an option, I can not remember). We =
>>> overlooked the final "." thing, so the :- option actually does not 
>>> make =
>>> TriG N3 compartible.=20
>>> I'm open to adding the final "." as an option, so that future versions =
>>> of TriG parsers can read N3. I'm not too sure about making both things =
>>> mandatory, as N3 and TriG really have different abstract models.
>>> Any strong opinions on this from anybody? Especially from the people 
>>> who =
>>> have implemented TriG parsers and would have to change their code.
>> ... random comments from the peanut gallery:
>> I think y'all should converge on one syntax.  The difference between the
>> N3 model and the TriG model needs to be settled anyway.
>> I think :- is a poor choice of operators here.  To many of us with some
>> experience with prolog it's the rule connective.
>> I think the right choice is "=", because (as I understand it), that has
>> the right semantics.  But maybe I don't know what semantics you want.
>>      -- Sandro 

Hewlett-Packard Limited
registered Office: Cain Road, Bracknell, Berks RG12 1HN
Registered No: 690597 England
Received on Monday, 30 July 2007 08:39:49 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 24 March 2022 20:41:05 UTC