W3C home > Mailing lists > Public > public-rdf-wg@w3.org > February 2013

Re: Problem with auto-generated fragment IDs for graph names

From: Pat Hayes <phayes@ihmc.us>
Date: Fri, 15 Feb 2013 16:17:17 -0600
Cc: RDF-WG <public-rdf-wg@w3.org>
Message-Id: <A2CD2C42-7508-4742-BF78-E0C3275255CC@ihmc.us>
To: Andy Seaborne <andy.seaborne@epimorphics.com>

On Feb 15, 2013, at 1:38 PM, Andy Seaborne wrote:

> On 15/02/13 16:59, Pat Hayes wrote:
>> But let me ask you about this example. You are assuming here that the
>> _:doc1 in the triple in the default graph, and the _:doc1 used as a
>> graph label, refer to the same thing, which is the moon-green-cheese
>> graph, right? What is interesting here is that this assumption seems
>> inevitable when we have a bnode involved, as here, but (the WG has
>> decided) it cannot be assumed when an IRI is used. So this data:
>> {ex:doc1 :author "Bob" }
> > ex:doc1 {:TheMoon :madeOf :greenCheese }
>> does *not* entail that Bob is the author of the graph (since
>> 'ex:doc1' might denote something else, which is what the default
>> graph would be about, and not about the graph.) So this actually
>> gives us a new, Manu-independent, reason to allow bnodes as graph
>> labels in datasets: they provide exactly the missing expressivity
>> that is needed to have the default graph act as genuine metadata.
> I don't understand this bit - why do bNodes force a specific relationship between graph label and graph in a way that URIs don't?

Not quite. In a sane world, the name of the graph would always denote the graph, be it an IRI or a bnode. But the WG has decided that IRIs can be used to label a graph while at the same time denoting something else, eg you can use an IRI denoting a person to be the graph label of a record pertaining to that person (or an IRI denoting a time to label a graph true at that time, etc..). And since this is always possible, it follows that *no* use of an IRI in an RDF triple can be semantically linked to the use of an IRI to label a graph. 

My point was only that this argument does not apply to bnodes used as labels, so (if we were to allow them) we could simply state, as a normative semantic condition on datasets, that a bnode used as a graph label is *required* to denote the graph it labels (or maybe the graph document, or whatever we decide is best). To repeat, we can't make this stipulation for IRI labels, but we can (and should, if we decide to allow them) for bnode labels. And then users will have a clear and obvious path to the use case where the default graph in a dataset is supposed to be metadata about the other graphs: just use bnode labels when you want to be sure of doing this correctly.

> If ex:docs is the "location has state" relationship of URI to graph, surely _:x can have that relationship.

Yes, of course, but there is no guarantee that ex:docs does, and we have to allow interpretations in which it does not. 

> One simple entailment design would be:
> {ex:doc1 :author "Bob" }
> ex:doc1 {:TheMoon :madeOf :greenCheese }
> =>
> {_:x :author "Bob" }
> _:x {:TheMoon :madeOf :greenCheese }

But that is exactly what would not be valid, using the current semantics (or rather lack of it) for the premises. That first graph does NOT require ex:doc1 to denote the graph {:TheMoon :madeOf :greenCheese }. The URI might denote something entirely different, and the default graph will say that Bill authored that, whatever it happens to be. Whereas (I am suggesting we can impose the condition that) in the second case, the bnode can only denote that graph. 


> 	Andy

IHMC                                     (850)434 8903 or (650)494 3973   
40 South Alcaniz St.           (850)202 4416   office
Pensacola                            (850)202 4440   fax
FL 32502                              (850)291 0667   mobile
phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
Received on Friday, 15 February 2013 22:17:50 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 22:02:10 UTC