- From: Sandro Hawke <sandro@w3.org>
- Date: Sun, 27 Mar 2011 08:52:37 -0400
- To: Steve Harris <steve.harris@garlik.com>
- Cc: semantic-web@w3.org
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