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/ > >
