Re: Indicating Skolem Nodes (was Re: AW: {Disarmed} Re: blank nodes (once again))

On Sat, 2011-03-26 at 18:50 +0000, Steve Harris wrote: 
> Hm, I see.
> 
> I would have thought you could just do that with a HTTP URI, with a specific prefix - you can make it obvious to humans that it's a skolemised bNode, and machines aren't really going to distinguish anyway.

Well, back a ways in this thread, I speculated that the only problem
with Skolemizing is that you might no longer be able to tell that two
identical graphs were identical.  Pat suggested we could solve this,
too, by just flagging the Skolem URIs in some way [1], which provoked me
to suggest some ways [2].  

[1] http://lists.w3.org/Archives/Public/semantic-web/2011Mar/0353.html
[2] http://lists.w3.org/Archives/Public/semantic-web/2011Mar/0358.html

My refined suggestion for flagging is to include the text "=rdfgensym="
somewhere in the URI.  I say "gensym" instead of "bnode" or Skolemized
bnode or something, because we might get rid of bnodes some day.  I put
the "rdf" there to make it unique to this concept -- gensyms have been
around for ages.  I put the "="'s there so even if people are talking
about it in blog posts and using it in form submissions it wont occur in
the URLs.  (In query string the = will get turned into %3D.)

I'm still not totally convinced it's useful to flag these, but it seems
easy enough to do and might turn out to be important.

I still don't have a clear reason why we need this indication.  In a
parallel thread, I mentioned it might be useful just because we might be
generating these much more freely and want to keep track of that.   But
I'm wondering if there is a deeper reason.   The rest of this email is a
little speculation about that, hoping to provoke some clear and simple
answer for someone, about why we NEED to indicate which terms are Skolem
terms....

Alice says: "I have a friend who is 25."

Bob says: "I have a friend who is 25."

Thoralf (the Skolemizer) runs a research group that studies social
networks, and his group will be talking a lot about these particular
people.   So he reports to his group: "Alice is making statements about
someone who we will refer to as SK1.  Alice says SK1 is her friend and
is 25.  Also, Bob is making statements about someone who we will refer
to as SK2.  Bob says SK2 is his friend and is 25."

Fortunately, Thoralf's research group knows the drill and wont make the
Unique Names Assumption (UNA); they know perfectly well that SK1 and SK2
might be the same person.

They will use these names in their notes, though, and may go back and
ask Alice and Bob about their friends, probably saying thing like "That
person you old us about last week, who was 25, was that person male or
female?  Can you give us a picture of them?"  Eventually they might find
enough details that they can tell SK1 = SK2 or some other subjects in
their system.

By contrast to how Thoralf approached this, Simon just makes up
gender-neutral names for these entities, and tells people: "Alice's
friend Jamie is 25; Bob's friend Jessie is also 25."

Now, to me, it seems like what Thoralf did was appropriate and helpful;
what Simon did was deceptive and harmful.  Formally, the difference is
that Thoralf indicated which terms were Skolem constants.  Would that
difference ever manifest in machine processing?

I'm really not sure.   (For now, though, I'd rather on the side of
assuming it might.)

   -- Sandro

Received on Sunday, 27 March 2011 12:52:46 UTC