- From: Pat Hayes <phayes@ihmc.us>
- Date: Tue, 18 Dec 2012 21:27:17 -0800
- To: David Booth <david@dbooth.org>
- Cc: Ivan Shmakov <oneingray@gmail.com>, semantic-web@w3.org
David, this is a silly argument: On Dec 18, 2012, at 9:02 PM, David Booth wrote: > On Tue, 2012-12-18 at 23:06 +0700, Ivan Shmakov wrote: > [ . . . ] >> But perhaps even more compelling reason to use blank nodes is >> that instead of introducing owl:sameAs arcs, one may just >> replace two (or more) distinct blank nodes, — found to be >> representing the same entity, — with a sole node possessing the >> union of the properties of such blank nodes. (Provided we check >> for, and resolve, any semantic conflicts there are, that is.) > > You can do the exact same thing with URIs: You can replace :x, :y and :z > with :x, and give :x the union of the properties that the three of them > had. Of course, you would later only be able to refer to that node > using the names :x -- no longer :y or :z -- but with blank nodes you > cannot refer to the node at all from outside the graph anyway, so you > still have not lost anything more than you'd lose by using blank nodes. > > But aside from that, there is still a bigger problem. If you have > out-of-band information about the blank nodes (e.g., perhaps you knew > how they were generated, and you know that certain properties are > inverse functional -- unique keys for them), then you may be able to > merge blank nodes as you describe. But if you don't, then it isn't so > easy to determine whether those blank nodes represent the same entity. > Do _:b1 and _:b2 denote the same dog in the following RDF? > > _:b1 a :Dog ; :color :black . > > _:b2 a :Dog ; :color :black . > > Without without having out-of-band information, and without knowing what > other statements may have been made about _:b1 and _:b2 in the graph, it > is *impossible* to know. Indeed. But if the second _:b2 had been _:b1, then you would know they were the same. > And even when you do know what other > statements have been made, it is still a difficult graph problem. It is > basically the problem of determining whether the graph is "lean" > http://www.w3.org/TR/rdf-mt/#deflean > which is an NP-complete problem: > http://www.dcc.uchile.cl/~cgutierr/papers/revisedRDF.pdf > > In contrast, if I had: > > :d1 a :Dog ; :color :black . > > :d1 a :Dog ; :color :black . > > then it is trivially easy to know that those statements are about the > same dog -- it's the same URI! -- Just like it would be the same bnode if you had used the same bnodeID. But if your second :d1 were :d2, just as your second bnodeID was different from your first, then (just as with the bnodes) you would not know if these two URIs co-referred or not. URIs and bnodes are EXACTLY similar in this regard. There is no "contrast" here to be in. Pat ------------------------------------------------------------ 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 Wednesday, 19 December 2012 05:27:47 UTC