W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > June 2002

Re: Role of N-Triples (was Re: datatyping revised draft)

From: Patrick Stickler <patrick.stickler@nokia.com>
Date: Mon, 03 Jun 2002 16:30:16 +0300
To: ext Frank Manola <fmanola@mitre.org>
CC: RDF Core <w3c-rdfcore-wg@w3.org>
Message-ID: <B9214A18.15FD8%patrick.stickler@nokia.com>

On 2002-06-03 15:28, "ext Frank Manola" <fmanola@mitre.org> wrote:

> Independently of any usage of N-Triples in the datatyping document, it
> might be a good idea to (once again?) clarify the usage of N-triples,
> since I disagree with Patrick's position.  The primary RDF syntax is
> that of a *graph* (the WG decided this, and the model theory and syntax
> documents reflect this decision). Users *should* have to learn the graph
> model of RDF in order to understand the normative definition of RDF.
>   In our documents, we have used *drawings* of graphs (nodes and arcs)
> to illustrate graphs without objection;  I believe that N-Triples are
> merely an alternative (and often more convenient) notation for
> presenting graphs.  I repeat:  *graphs* are normative.  If N-Triples can
> be objected to because they are a non-normative notation for expressing
> graphs, then so can arc-and-node drawings (and so could a set-theoretic
> notation).  I don't consider, as Patrick apparently does, that users
> will be unnecessarily burdened by seeing N-Triples in our documents, and
> particularly in the Primer. Rather, N-Triples help express (and clarify)
> the model for which the RDF/XML is the serialization (I think people
> find them far easier to understand than the XML syntax).  They are a
> useful device in the Primer, and are also essential in the syntax
> specification, where the effect of writing the various statements is
> specified by what triples get generated.   After all, you have to have
> an abstract model in terms of which to explain what the RDF/XML
> serializes.
> 
> --Frank

Actually, Frank, I'm sympathetic to your views, insofar as making
things easier for folks, etc.

The motivations for my comments are both a matter of principle, and
also practical. As a matter of principle, I think we should "eat
our own dogfood" and that means using RDF/XML in all cases where
we are expressing statements (not trying to illustrate what their
graph realization is). It should, IMO, be clear that NTriples is
an output format, not an input format. It is meant to provide a
concise and explicit serialization of the graph, but is not a
vehicle for interchange of knowledge. Which leads me to the practical
concern, being that I don't want to suddently have to deal with
NTriples passing about the Web.

Though I'm not much of one for "conspiracy theories" and whatnot, I
keep getting the impression that the creeping use of NTriples in
the RDF specs is a passive encouragement for the adoption of N3
as an official serialization for RDF. If we want to bless N3, then
fine, let's just do it. But at present there is only one standard
serialization for *expressing* RDF knowledge, and though NTriples
has a very important role to play, we should be very cautious
and conservative in where it is used.

A good rule of thumb would be: is the example trying to capture some
feature specific to the graph syntax -- or is it simply expressing
RDF statements. If the former, then go ahead and use NTriples, but
if the latter, then let's stick to RDF/XML.

All of the RDF in the Datatyping spec, IMO, falls within that latter
category -- as I suspect does the greatest majority of all examples
throughout the specifications.

Let's not "be lazy" and use NTriples just because it's easier to
type. Unless it's clearly showing graph structure, let's not. Eh?

Cheers,

Patrick


> 
> Patrick Stickler wrote:
> 
>> 
> 
> snip
> 
>> <soapbox>
>> For the record, I believe that NTriples have no place in any
>> normative sections of the RDF specifications. Users should not
>> have to learn NTriples in order to understand any normative
>> definition of RDF. NTriples are for the test cases, and the only
>> place you should see them and see a definition of the NTriples
>> syntax is in the test cases document. All other documents should
>> use RDF/XML exclusively for serializing RDF statements.
>> 
>> I'm don't even think the Primer should provide any coverage of
>> NTriples. No, I'm not anti-NTriples (or even anti-N3). NTriples
>> are very, very important. But they have a very specific and
>> most importantly non-normative role, and I'm afraid that if
>> we start peppering all the specs with NTriples that users will
>> feel they must also understand and use NTriples to use RDF
>> and they don't. RDF/XML is the only official serialization of RDF,
>> so let's set a good example and use it.
>> </soapbox>
> 

--
               
Patrick Stickler              Phone: +358 50 483 9453
Senior Research Scientist     Fax:   +358 7180 35409
Nokia Research Center         Email: patrick.stickler@nokia.com
Received on Monday, 3 June 2002 09:27:41 EDT

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:49:10 EDT