(proposal) was Re: defn of Named Graph

On 09/25/2013 12:11 PM, Guus Schreiber wrote:
> Sandro, Jeremy, Pat, Dan, Gregg, (cc: RDF WG)
>
> Thanks for having this constructive discussion.  Given the timeline of 
> the RDF WG we really need to formulate a WG response to the issue [1] 
> raised by Jeremy *by 2 October*.  It would be great if we can do this 
> in the custom consensual way. Any chance we can achieve this over the 
> next 7 days?
>
> Thanks in advance!
>

I'm replying to the WG now, because thinking about this some more, I'm 
still very happy with the proposal quoted below, and I'd like the WG to 
support it.

To summarize and clarify, I propose:

1.  We define the term "Named Graph" informally to be like an "RDF 
Graph" but with its own identity, distinct from the triples it happens 
to contain.

2. We briefly apologize for the confusing names -- a Named Graph is not 
actually an RDF Graph that happens to have been given a name -- it's a 
fundamentally different thing that *can* be given a name. (It's what Pat 
likes to call a surface and I like to call a g-box.)   When people say 
"graph" in the RDF world, they are often talking about Named Graphs, not 
RDF Graphs, as evidenced by them talking about "putting things into the 
graph", or otherwise changing them.  Such concepts are nonsensical with 
RDF Graphs.  (If we had more time, I'd suggest we renamed "RDF Graph" to 
"Abstract Graph", but I suppose it's too late for that.  Maybe we can 
use the word "abstract" editorially a few places....)

3. We note that RDF Datasets can be used to state which triples are in 
certain Named Graphs.

4. We define a class (eg rdf:BasicDataset) of the Datasets which have 
those semantics.

Strawpoll: If I wrote this up for a WG note, in a style you liked, would 
you support the WG publishing it?

Do you think we can also put (1) into RDF Concepts?   It has no 
normative consequences, so it's plausible to do it after Last Call, 
although we shouldn't do it if the community is going to hate it.

       -- Sandro

> Best,
> Guus
>
> [1] http://www.w3.org/2011/rdf-wg/track/issues/142
>
> For RDF WG members: see thread starting with:
> http://lists.w3.org/Archives/Public/www-archive/2013Sep/0025.html:
>
> Following that epiphany I had at the end of my last email, here's what
> I'd love to see everyone agree on, more or less:
>
> == Named Graphs
>
> An "RDF Named Graph" is similar to an "RDF Graph", but different in one
> important way.    Because RDF Graphs are defined as being mathematical
> sets of RDF Triples, any two RDF Graphs which happen to contain the same
> RDF Triples are, by definition, the same thing. This means that
> statements made about any RDF Graph, such as metadata about provenance
> and licenses, necessarily apply wherever the same set of RDF Triples
> occurs.   This is not always the desired intent, and Named Graphs
> provide an alternative.
>
> Like an RDF Graph, an RDF Named Graph contains zero or more RDF
> Triples.  Unlike an RDF Graph, an RDF Named Graph has an identity
> distinct from those triples.  That is, two Named Graphs remain distinct
> and distinguishable entities even if they happen to contain exactly the
> same RDF Triples.
>
> The term "Named Graph" has historically caused some confusion, as some
> people have read the phrase to mean "an RDF Graph which happens to have
> a name".   This reading is not correct, since RDF Named Graphs are not
> RDF Graphs at all.   They might reasonably have been called
> "Identifiable Graphs", which contrasts them to "RDF Graphs" in the same
> way that a counterfeit dollar bill is not technically a dollar bill.
> As in the dollar bill analogy, RDF Named Graphs and RDF Graphs have a
> lot in common, but in some circumstances it is critical to distinguish
> between them.    Other names that have been suggested for Named Graphs
> include "surfaces" and "g-boxes", but "named graph" has been cemented by
> its use in the SPARQL syntax.
>
> Names Graphs also provide a useful semantics for RDF Datasets. Some RDF
> Datasets, hereafter NG Datasets, have this intended meaning: each
> (_name_, _graph_) pair is a statement that _name_ is a Named Graph which
> contains exactly the triples in _graph_.    The class rdf:NGDataset is
> defined for signalling these are the intended Dataset semantics.
>
> The class rdf:NamedGraph is defined for use in declaring the domain and
> range of predicates which relate Named Graphs.   For example:
>
>    <> a rdf:NGDataset
>    GRAPH :g1 { :MtEverest :heightFeet 29002 }
>    GRAPH :g2 { :MtEverest :heightFeet 29029 }
>    :g1 :claimedBy :BritishIndiaSurveyOffice.
>    :g2 :claimedBy :IndiaSurveyOffice.
>
> Here, the domain of :claimedBy is rdf:NamedGraph, and it might be
> defined in English as "x :claimedBy y means that all the triples in the
> Named Graph x are claimed to be true by the social entity y."
>
> The greatest differences between RDF Graphs and RDF Named Graphs appear
> when one considers the possibility of them changing over time. It is
> nonsensical to consider an RDF Graph changing over time, just like it
> makes no sense to talk about the value of some integer, say seven,
> changing over time.   In contrast, it makes perfect sense to consider
> Named Graphs changing: at one point in time the identifiable thing that
> is a certain Named Graph contains some triples and at another point in
> time it might contain different triples.  As of RDF 1.1, however, the
> formal specifications for RDF do not provide any specific support for
> handling changing data.
>
> ==
>
> That's simple and clear enough, isn't it?     ( ... he says, clinging to
> perhaps his last shred of hope. )
>
>         -- Sandro
>

Received on Thursday, 26 September 2013 12:11:17 UTC