- From: Sandro Hawke <sandro@w3.org>
- Date: Tue, 16 Jul 2013 11:39:34 -0400
- To: Jeremy J Carroll <jjc@syapse.com>
- CC: www-archive@w3.org, "Peter F. Patel-Schneider" <pfpschneider@gmail.com>, phayes@ihmc.us
- Message-ID: <51E56936.1060203@w3.org>
On 07/16/2013 10:37 AM, Jeremy J Carroll wrote: > > OK - I am getting started on this … > Thanks for helping me think this through.... > how about this dataset: > > > <> a rdf:DirectDataset. > GRAPH _:a { _:a _:a _:a } > GRAPH _:b { _:b _:b _:b } > > does _:a = _:b?: > No. background: The strings "_:a" and "_:b" are blank node labels. Within any one TriG document, each blank node label corresponds 1-1 to a blank node. When I said "_:a = _:b" I meant that in all interpretations, the denotation of the blank node that is labeled "_:a" in this document is the same as the denotation of the blank node labeled "_:b" in this document. So the first named graph in your example is different from the second named graph in your example, because the repeated term in it uses a different blank node label and is thus a different blank node. The denotations of those blank nodes might turn out to be the same (eg if we also are told _:a owl:sameAs _:b), but they are still different blank nodes. Thus the graphs are different. So we can not infer _:a = _:b. In fact, if we were told _:a owl:sameAs _:b, then we'd have an inconsistent dataset. > > Or this one > > <> a rdf:DirectDataset. > GRAPH _:a { <s> <p> <o> } > GRAPH _:b { <s> <p> <o> } > GRAPH _:c { _:a _:a _:a } > GRAPH _:d { _:b _:b _:b } > > does _:c = _:d ? > Nope. (Of course, this is "generalized RDF", because you're using a blank node predicate. I'm fine with that.) > What is the definition of two graphs being equal in this view? > Maybe I should say identical here, instead of equal, to avoid this denotation step, above. I'd say it follows from RDF Concepts that two graphs are identical (the same graph) if they contain exactly the same triples. Triples are identical (the same triple) if their subject, predicate, and object terms are identical. I believe term identity is spelled out in concepts -- it gets a little tricky on language tags -- but it's clear enough for blank nodes, I hope. > Here is one: > two graphs g and h within a dataset are equal if there exists an > automorphism of the dataset mapping each ground node to itself, and > inducing a bijection over the set of blank nodes such that the > automorphism maps g to h. > > (That isn't quite what is intended - since it does not make <A> and > <B> equal in this case: > > <> a rdf:DirectDataset. > GRAPH <A> { <s> <p> <o> } > GRAPH <B> { <s> <p> <o> } > ) > Sorry, automorphism is over my head. I can look it up and try to figure it out if you want, but hopefully that's not necessary. > In my view what you call the WebviewDataset is the natural model on > the Web, I agree it's a very natural model, but I think there are lots of things one might like to do with datasets, like express an RDF Update, that can't be done very naturally with that model. > and if this is not to be 'the' way of understanding named graphs > because of some other view, I would like that view to be articulated > rather than only exemplified. > Is it okay if it's in one or more WG Notes that come out in the next few months, instead of in RDF Concepts or RDF Semantics? I mean, we'd all like that, we're just finding it impossible to get WG consensus on putting it in a REC. -- Sandro > Jeremy J Carroll > Principal Architect > Syapse, Inc. > > > > On Jul 15, 2013, at 5:39 PM, Sandro Hawke <sandro@w3.org > <mailto:sandro@w3.org>> wrote: > >> It follows from this dataset: >> >> <> a rdf:DirectDataset. >> GRAPH _:a { <s> <p> <o> } >> GRAPH _:b { <s> <p> <o> } >> >> that _:a = _:b. >
Received on Tuesday, 16 July 2013 15:39:47 UTC