W3C home > Mailing lists > Public > semantic-web@w3.org > December 2012

Re: Well Behaved RDF - Taming Blank Nodes, etc.

From: Pat Hayes <phayes@ihmc.us>
Date: Tue, 18 Dec 2012 21:27:17 -0800
Cc: Ivan Shmakov <oneingray@gmail.com>, semantic-web@w3.org
Message-Id: <F4CB0584-6C3A-4803-8E5E-C30C8AC5A080@ihmc.us>
To: David Booth <david@dbooth.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.


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

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:45:31 UTC