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.

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

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 07:42:38 UTC