W3C home > Mailing lists > Public > public-rdf-wg@w3.org > June 2012

Re: n-quads & Turtle Levels

From: Richard Cyganiak <richard@cyganiak.de>
Date: Fri, 8 Jun 2012 10:51:37 +0200
Cc: Andy Seaborne <andy.seaborne@epimorphics.com>, public-rdf-wg@w3.org
Message-Id: <B8EC8721-5ECF-4019-92C6-AFF552D35152@cyganiak.de>
To: Sandro Hawke <sandro@w3.org>
Hi Sandro,

>> I've heard you say two mutually incompatible things:
>> 1. A Turtle file published at <i> containing graph G is an RDF dataset with only named graph <i,G>
>> 2. A Turtle file published at <i> containing graph G is an RDF dataset with only a default graph
>> Which one is it? It can't be both.
> If I said (1), it was a mistake.
> I would rephrase (1) as a conditional:
>   A.  If it is true that a turtle file serializing G is what is
> published at <i>,
>   B.  Then the dataset consisting of the named graph <i,G> is true.


We can postulate the existence of a *specific* dataset, let's call it the “web dataset”, and can say that under the condition above the g-pair <i,G> is true in the web dataset. (Formally, this could be done as a semantic extension, let's call it W-entailment (for web). So if A is true then *every* dataset W-entails the g-pair <i,G>.)

But I will formally object to anything that defines truth *in general* in terms of dereferencing. This is not a negotiable position.

> Statement (2) is close to correct, but I'd change it slightly; it's not
> that it "is" a dataset, but that it can reasonably be read as a dataset.
> It's a type-conversion thing.  A triple can be seen as a (trivial)
> graph; a character can be seen as a (trivial) string; a graph can be
> seen as a (trivial) dataset.    

This is sloppy thinking. They are not the same, and by pretending that they are, you are just confusing matters.

> In practice, I see this manifesting in the kinds of APIs one uses for
> loading and manipulating dataset.  Can give the API a graph when it is
> expecting a dataset and have it silently promote the graph to being a
> dataset with that graph as its default graph?  

The much more interesting case is the opposite situation: What happens when you give a dataset to an API that expects a graph? That's after all the status quo; anyone who goes to the web to load a Turtle file expects a graph, and that's how it's been implemented for the last eight years. If we now define that a Turtle parser must also be able to handle datasets, we've deeply broken every existing implementation.

> Alternative, we could define a class of things that is the union of the
> class of graphs and the class of datasets -- that would be more crisp
> and might be as convenient.    But I expect people will be find just
> using datasets as those things.

I don't see the point of this. If we define truth for datasets, and consider the default graph as asserted, then an RDF graph is semantically equivalent to an RDF dataset with just a default graph and no empty graphs. That's all we need. But they are not the same.


> To be clear: this is speculative.   My point is not to say we should
> standardize this, but I don't think we should rule it out.
>   -- Sandro
>> Best,
>> Richard
Received on Friday, 8 June 2012 10:24:38 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:04:18 UTC