Re: Blank nodes, leaning, and the OWA

On Sun, Mar 27, 2011 at 7:13 AM, Gregg Reynolds <dev@mobileink.com> wrote:

> I'm having trouble reconciling RDF's handling of blank nodes and the Open
> World Assumption.  I suppose I'm still not entirely grokking leaning and/or
> OWA.  I searched the archives and didn't find anything addressing my
> questions.  My reasoning follows; where are the flaws?
>
> As I understand the OWA, if we have a node, all we know is that we have a
> node; we do not know what properties it may have.  If we also know that it
> has property A, we cannot infer that it does not also have property B for
> any B.  Followed to its logical conclusion, this line of reasoning leads to
> the conclusion that there can only ever be one blank node in any graph.
>
> For example, suppose
>
> [1] a)  <ex:Pedro ex:owns _:x>, <_:x rdf:type ex:Donkey>, <_:x ex:name
> ex:Daisy>
>      b)  <ex:Pedro ex:owns _:y>, <_:y rdf:type ex:Donkey>, <_:y ex:name
> ex:Maisy>
>
> then we've made two assertions (ok, six), but we have not necessarily
> asserted that Pedro owns two donkeys.  By the OWA we cannot infer _:x !=
> _:y.  It could be that Pedro owns two donkeys, named Daisy and Maisy,
> respectively, but it also could be that Pedro owns one donkey with two
> names.
>
yes

>
> Is the graph of [1] lean?
>
yes, there is nothing you could remove without making the graph evaluate to
true in more possible worlds.

> It seems to me that under the OWA the answer must be that we do not know,
> just as we don't know if Pedro owns one or two donkeys.
>
No, this is about what the description says, not abot the world, a graph is
a leaner version of another if it has the same truth value in all possible
worlds. The Graph [1] is true in every world where

[A] <ex:Pedro ex:owns _:x>, <_:x rdf:type ex:Donkey>, <_:x ex:name
ex:Daisy>, <_:x ex:name ex:Maisy>

is true, but the converse doesn't hold, so [A] entails [1] but [1] does not
entail [B]

> Under RDF semantics the answer could be yes or no, depending on which model
> we choose.
>
I don't choose a model, for the meaning to be the same the transformation
must not alter the truth value in any possible world, not just in the one
you choose (to be the actual one).

> But the principle of leaning as written (if I understand it) compels us to
> treat it as non-lean, since a model with a single node named both Daisy and
> Maisy works for both [1] a) and [1] b); the leaned version would look like:
>
> [2]  <ex:Pedro ex:owns _:x>, <_:x rdf:type ex:Donkey>, <_:x ex:name
> ex:Daisy>, <_:x ex:name ex:Maisy>
>
> Similar considerations would apply to all blank node IDs in a graph: a
> model with a single (blank) node (with appropriate properties) would work
> for each such blank node ID.
>
> If this is not the case -- if graphs like [1] are construed as lean, with
> _:x != _:y -- then it looks to me like leaning involves an implicit Closed
> World Assumption.  I.e. if _:x is named Daisy it is not also named Maisy.
>
There is no such assumption, the graph [2] asserts that there is one monkey
with both names, graph [1] doesn't exclude this but also doesn't exclude
possible world with two monkeys

>
> Now consider
>
> [3] <ex:Pedro ex:owns _:x>, <ex:Pedro ex:owns _:y>
>
> According the RDF semantics [1] is not lean, so it can be reduced to a
> single triple <ex:Pedro ex:owns _:z>.  That's because the model theoretic
> semantics mean that a single node can satisfy both clauses of [1].  But
> under OWA, we cannot infer that no properties have been asserted of _:x and
> _:y; which must mean that the node satisfying [1] can have any properties or
> no properties.
>
This is similar to my post in 2004 (
http://lists.w3.org/Archives/Public/www-rdf-interest/2004Mar/0097.html)
which was before I understand how bnodes work and why there are useful. As
the scope of _:x and _:y is the graph one cannot contextualize them from
outside. If the world is in such a way that Pedro own two things one would
have to say something like

[B] <ex:Pedro ex:owns _:x>, <ex:Pedro ex:owns _:y>, <_:x owl:differentFrom
_:y>

By just merging [3] with

[C] <_:x owl:differentFrom _:y>

One can conclude that Pedro owns something and that there are two things
that are true.

[3]+[C]-lean: <ex:Pedro ex:owns _:x> <_:y owl:differentFrom _:z>

The above is true for example in a world where Pedro own something other
than himself. But also in a world where :Pedro own nothing but himself
(which isn't a bad start, btw) and something else exists.

> The same principle must apply wherever blank node IDs occur, which again
> leads to the conclusion that all blank node IDs in a graph can be collapsed
> as it were to a single node.  In other words, it looks to me like the
> principle of leaning, if valid, implies a maximum of one blank node per
> graph.
>
Not following you here. BNpodes are existentially quantified variables,
there's no problem in saying "there is something that is bald and there is
something that is the king of france" (two bnodes) as well as its possible
to say "there is something that is bald and the king of france".

>
> I'm afraid my language is a little awkward but I hope you can see what I
> mean.
>
> A related question:  RDF Semantics says this is lean:
>
> [4]  <ex:a> <ex:p> _:x .
>        _:x <ex:p> _:x .
>
> But <ex:a ex:p ex:a> seems to fit the definition of proper subgraph
>
It is an instance but not a proper subgraph.

> as used to define "lean", and semantically to satisfy [4], so [4] would not
> be lean.
>

[4] is true where {<ex:a> <ex:p> <ex:a>} is true, but also where {<ex:a>
<ex:p> <ex:b>, <ex:b> <ex:p> <ex:b>} is true. You can intuitively see that
it is lean, because if you remove one of the two triples the number of
possible worlds in which the graph is true increases:
-by removing the first triple the graph would evaluate to true in any world
where {<ex:b> <ex:p> <ex:b>} and {<ex:b> owl:differentFrom <ex:a>}
- by removing the second triple the graph would evaluate to true in any
world where {<ex:a> <ex:p> <ex:b>} and not {<ex:b> <ex:p> <ex:b>

Cheers,
Reto

Received on Sunday, 27 March 2011 13:18:38 UTC