- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Mon, 18 Feb 2013 18:00:42 +0000
- To: Markus Lanthaler <markus.lanthaler@gmx.net>
- CC: public-linked-json@w3.org, 'RDF-WG' <public-rdf-wg@w3.org>
On 18/02/13 16:58, 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.
OK ...
Then this is nothing directly to do with "denotes" as used here which is
referring to a web resource.
>> 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?
For structural navigation, an RDF dataset is a Map(Node->graph); you can
look up the bNode/IRI and get the graph. You, JSON-LD, can add the
constraint that a bNode/IRI is actually referring to the graph.
(but then the graph is an abstract value - not the JSON-LD normalized
structure, Turtle document or any specific bytes. 1, 01, +1 and all that).
>
> 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?
If you say they do, they do. Ditto IRIs. Pat is *proposing* something
for bNodes but it's not about structural navigation of the data.
It's a choice you can make about IRIs you mint as part of processing the
file. You can add additional constraints on the parsing process/data.
You may have a modelling problem in that the bNode does not actually
denote/refer to one single thing - there could be many things such that
_:xyz foaf:name "Markus"
using bNodes as the graph identifiers seems to me actually to be a bad
choice for you. You want a concrete name to say "that one particular
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?
>
> RDF-CONCEPTS says:
>
> 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. 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".
You can add that as a requirement for JSON-LD (and that's true for
bNodes or IRIs) - there is no need to make RDF adopt one position or the
other, excluding the common current usages that we enumerated over the
long discussions.
Andy
>
>
> Thanks,
> Markus
>
>
> --
> Markus Lanthaler
> @markuslanthaler
>
Received on Monday, 18 February 2013 18:01:19 UTC