Joshua,

Thanks for the great example! As you say:

"    [ :name "John Doe" ]
     [ :name "Jane Doe" ]

don't typically expect that there might just be _one_ thing that has both 
names. "

In this case, to the best of my knowledge, we do not have any means (formal or 
programmatic) to decide about any person in this knowledge base. The only way 
that I am aware of is skolemization, but as we discussed on the list a while 
ago, it suffers from a number of formal drowbacks.

More practically speaking, with the knowledge base given above, I am not sure 
we can write a SPARQL query that would answer the question about the number of 
persons. In fact, it can not answer anything about persons at all?

Milorad





>________________________________
> From: Joshua TAYLOR <[email protected]>
>To: "[email protected]" <[email protected]>; Milorad Tosic 
><[email protected]> 
>Sent: Friday, November 29, 2013 6:28 PM
>Subject: Re: finding where an anonymous individual came from
> 
>
>On Thu, Nov 28, 2013 at 1:23 AM, Milorad Tosic <[email protected]> wrote:
>
>> It looks like that you are trying to address the skolemization problem [1]? 
>> Blank nodes are considered 'something that not exist' when it comes to URIs 
>> and resources. They are simply wrappers for resources and not resources on 
>> their own. So, something that doesn't exists can not have materialized 
>> context. Of course, there are several approaches based on skolemized blank 
>> nodes, but problems similar to your problem in hand must be solved there 
>> also with some other consequences.
>
>I don't think it's right to say that they're "wrappers for resources
>and not resources on their own".  A blank node is still a node, it's
>just not a literal or a URI node.  I realize that the documentation
>does talk about blank nodes as serving as existential variables.
>E.g.,
>
>    [ :name "John Doe" ]
>
>could be treated as the logical formula
>
>    exists x . ( x :name "John Doe" )
>
>but in practice, blank nodes are often used in a way more like
>anonymous (and distinct) objects.  We see this in that while two
>logical formulae of the form "exists x . x :name "John Doe"" and
>"exists x . :name "Jane Doe" would allow the the _witnesses_ to those
>formulae to the be the same (i.e., there's a single individual with
>both names), people writing
>
>    [ :name "John Doe" ]
>    [ :name "Jane Doe" ]
>
>don't typically expect that there might just be _one_ thing that has both 
>names.
>
>The task here, then, is to  map blank nodes that appear in the data to
>IRIs because another system requires them.
>
>
>
>-- 
>Joshua Taylor, http://www.cs.rpi.edu/~tayloj/
>
>

Reply via email to