- From: Sandro Hawke <sandro@w3.org>
- Date: Thu, 16 Aug 2012 15:52:53 -0400
- To: Pat Hayes <phayes@ihmc.us>
- CC: public-rdf-wg@w3.org
- Message-ID: <502D4F95.5040302@w3.org>
On 08/16/2012 01:45 PM, Pat Hayes wrote: > 4. "Note that “named graph” is a relation, not a class: we say that something is a named graph of a dataset, not simply that it is a named graph." What does this mean? Is it intended to convey the idea that the naming is local to the dataset? If not, what is it supposed to convey? Put another way, what is wrong with saying that something just is a named graph? That text is something I wrote a while ago, trying to put forward a definition of the term "named graph" that was consistent with popular usage and also made sense to me. Clearly I didn't express it well enough. Let's see if I can do it better now, not writing in a spec. As you may remember, the term "named graph" used to bother me a lot. It bothered me because: * when I hear "graph" I really do think of RDF Graphs (g-snaps). I think most people comfortable with the term "named graph" are actually thinking of a g-box when they hear "graph" in this context. * when I think of "naming" in RDF, I think of picking an IRI for some entity and encouraging everyone in the world to use that same IRI for that same entity, like http://www.w3.org/People/Berners-Lee/card#i for TimBL. Often people working with "named graphs" are really just associating a string with the graph, in some local name-binding relationship. Given those meaning, making a "named graph" would be kind of silly. Richard captured this beautifully by pointing out http://en.wikipedia.org/wiki/Gallery_of_named_graphs . Those are named graphs, given my understanding of the words "named" and "graph" (although using non-RDF variants of both those terms). I don't know how common my understanding here is; I do know it's shared by TimBL, so it's not just me. There's also the problem that the formal definition provided by Carroll et al [*] and used by SPARQL is that the "named graph" is not a graph at all, but is rather a pair of a name and a graph. As I hear people talk, using the term "named graph", they don't seem to be referring to a pair. I've managed to find a few cases in English that use this kind of construct: the weight of a clothed person is the sum of the weight of the clothing and the clothed person (that is, the person who happens to be clothed). So, yes, a named graph can be both the pair of a name and a graph *and* the graph that is paired with the name. But that seems really awkward. The way I hear the term "Named Graph" used, in diverse settings including the SPARQL WG and intro-to-semweb classes, is as a place within a collection of RDF triples where some triples are set aside, kept somehow separate. Someone has a bunch of triples and to help manage them better they subdivide the collection into "Named Graphs". Often, but not always, this is a mutable collection -- certain triples are added to certain named graphs from time to time, as circumstances change. I'm pretty sure the term is always used in the context of a larger dataset/graphstore. People don't refer to a single file or web page of RDF triples as a Named Graph. It's my understanding that when people said they really wanted Named Graphs [1] [2], this is what they were talking about -- the ability to segment or subdivide a triplestore, to help with various kinds of data management, including managing changes and provenance. In a sense, it might better be called a "subdivision", or a "named subgraph". So, back to spec text. SPARQL formally defines a /named graph/, to be any of the (name, graph) pairs in a dataset <http://www.w3.org/2012/08/RDFNG.html#dfn-dataset>. True. And I wish we could propose a transition path to a less confusing terminology. I think those things should be called "name-graph pairs". Hard to change now, I know. In practice, the term is often used to refer to the graph part of those pairs. This is the usage we follow in this document, saying that a graph is a named graph in some dataset if and only if it appears as the graph part of a (name, graph) pair in that dataset. I'm still happy with that definition, and comfortable using the term "Named Graph" when defined this way. The "graph" part is an RDF Graph. The name denotes some object in the normal (global) RDF way, and that denoted object is associated with the graph in a dataset-local name-graph binding pair. Nearly all of the value of particular dataset is its name-graph pairs, so of course they're local. Note that “named graph” is a relation, not a class: we say that something is a named graph /of a dataset/, not simply that it is a named graph. It seems to me that it's nonsense to ask whether the graph { <a> <b> 1 } is a named graph. There is no class of named graphs. Instead we'd have to ask whether the graph { <a> <b> 1 } is a named graph of some particular dataset. Linguistically, the term "named graph" seems like the name of a class of things, like "red car". But it's more like "descendant", "friend", and "neighbor". If I say Joe is a descendant, ... well, that doesn't make much sense. Instead, a complete sentence would have to be more like: Joe is a descendant of Irish Immigrants. It's like saying "7 is a prime factor" instead of "7 is a prime factor of 8638". You asked: > What does this mean? Is it intended to convey the idea that the naming is local to the dataset? If not, what is it supposed to convey? Put another way, what is wrong with saying that something just is a named graph? Have I answered that, now? -- Sandro [*] I think I've heard both you and Jeremy express that you don't think we should stick to that any more. [1] http://www.w3.org/2010/06/rdf-work-items/table [2] http://www.w3.org/2002/09/wbs/1/rdf-2010/results And assigning IRIs to g-snaps in a global name mapping -- the way we name is kind of a silly thing, in general. but I eventually found an way of thinking about it that I was comfortable with. I was trying to capture that, but i clearly failed to capture it clearly. One of the problems with the term is that linguistically it looks a named graph should be a kind of graph,
Received on Thursday, 16 August 2012 19:53:07 UTC