W3C home > Mailing lists > Public > public-linked-json@w3.org > February 2013

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

From: Pat Hayes <phayes@ihmc.us>
Date: Mon, 18 Feb 2013 22:00:32 -0600
Cc: "'Andy Seaborne'" <andy.seaborne@epimorphics.com>, <public-linked-json@w3.org>, "'RDF-WG'" <public-rdf-wg@w3.org>
Message-Id: <AF3636E5-2BD3-4093-8103-8C78E3723EA8@ihmc.us>
To: "Markus Lanthaler" <markus.lanthaler@gmx.net>

On Feb 18, 2013, at 10:58 AM, Markus Lanthaler wrote:

> On Monday, February 18, 2013 5:17 PM, Andy Seaborne wrote:
>> _:0x1234 {
>>      x:assertions x:expressedAs x:triples .
>>    }
>> is a labelling of a graph (value).
>> So there is some relationship (not here defined) to the graph and that
>> is in the dataset structure.  In your previous message you talked about
>> "navigate" and "bnode identifiers".  I understood your description as
>> structural navigation of a datastructure from parsing.  Was that right?
> Yes.
>> You get would get from  _:0x1234 to the graph by looking in the dataset
>> structure (which is a map) if bnodes were allowed.  At this level, of
>> concrete graph structures, bnode label or a IRI string would serve the
>> same purpose using e.g. relative URIs (and a per-parse random base URI
>> making it only findable locally).  It's a local structural identifier.
> Yes. Would that also be the case if bNodes would *not* denote the graph they
> label? As I understand it, if bNodes wouldn't denote the graph, you couldn't
> look up a graph labeled with a bNode ID in a dataset because you wouldn't
> know if that bNode ID denotes that graph or not. Is that correct?

The association between the graph label and the graph would be there, yes, so you can look up what graph is "named" by the label. If that was all that the graph labels were for, then what they denote would not matter to anyone. It does not matter to SPARQL, for example. But suppose you also use the label -  IRI or a bnode - inside some RDF, as in your example below, then the RDF normative semantics kicks in, and that says that the IRI or bonde *when used there* must be understood referentially, ie it denotes something, and the RDF is "about" that thing that it denotes. And that might not be the graph that the bnode or IRI is paired with as its "name". 

> If you have the following dataset:
> {
>  _:b1 x:signature "... signature ..." .
> }
> _:b1 {
>  ... some triples ...
> }
> Do the two _:b1 above refer to the same, i.e., the named graph? Does this
> mean that "... signature ..." is the signature of the graph labeled with
> _:b1? Or could it be that the signature is about something completely
> different?
>   Despite the use of the word "name" in "named graph", the
>   graph name does not formally denote the graph. It is merely
>   syntactically paired with the graph. RDF does not place
>   any formal restrictions on what resource the graph name may
>   denote, nor on the relationship between that resource and the
>   graph.
> I read this as in the example above you wouldn't know to what the signature
> applies. It may or may not be the graph.

Exactly. In fact, it says this for IRI graph labels. We have not (yet) said anything about bnode graph labels. But I think we should.

> Manu's use case requires that it is
> the graph to which the signature applies. That's the reason why I argued for
> "bNodes MUST denote the graph".

Exactly. We agree. 


> Thanks,
> Markus
> --
> Markus Lanthaler
> @markuslanthaler

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 Tuesday, 19 February 2013 04:01:26 UTC

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