W3C home > Mailing lists > Public > public-rdf-comments@w3.org > June 2013

Re: [RDF-CONCEPTS] Skolemization

From: David Booth <david@dbooth.org>
Date: Fri, 14 Jun 2013 12:34:21 -0400
Message-ID: <51BB460D.8010604@dbooth.org>
To: Pat Hayes <phayes@ihmc.us>
CC: Ivan Herman <ivan@w3.org>, public-rdf-comments <public-rdf-comments@w3.org>


On 06/13/2013 08:38 PM, Pat Hayes wrote:
>
> On Jun 12, 2013, at 12:41 PM, David Booth wrote:
>
>> First off, sorry I didn't see Pat's response to Ivan before I
>> replied. More . . .
>>
>> On 06/12/2013 12:20 PM, Pat Hayes wrote:
>>>
>>> On Jun 12, 2013, at 10:53 AM, David Booth wrote:
>>>
>>>> On 06/12/2013 10:04 AM, Ivan Herman wrote:
>>>>>
>>>>>
>>>>> David Booth wrote:
>>>>>> I'd like to propose a small change in section on
>>>>>> Skolemization:
>>>>>> https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#section-skolemization
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
Regarding: "Systems wishing to do this SHOULD mint a new, globally
>> unique IRI (a
>>>>>> Skolem IRI) for each blank node so replaced." it seems to
>>>>>> me that this conformance requirement should be a MUST --
>>>>>> not a SHOULD -- because the system has already made the
>>>>>> free choice to skolemize.
>>>>>
>>>>> I do not follow this. Why should be a MUST?
>>>>
>>>> Because an IRI that is not globally unique would not be
>>>> logically equivalent to a bnode, and thus could significantly
>>>> change the semantics, and that would violate the intent of
>>>> skolemization.
>>>
>>> It would not be skolemization, but that's just a matter of
>>> definition.
>>
>> Right, that is my point: it would not conform to the RDF spec's
>> definition of skolemization.  But if the conformance word were
>> SHOULD, then it would conform.  That is why I am pointing out that
>> the conformance word should be MUST.
>
> But skolemization is not something that requires conformance. It is
> simply an operation on graphs which might be useful in some
> circumstances.

the same can be said of entailment.  standardization of them is 
important so that users have a common understanding of them.

> Users of RDF and RDF engines are not required to
> perform, or prohibited from performing, any operations they like upon
> RDF graphs. So the MUST language isn't appropriate here.

no, you are mixing up two completely different concepts: 1. arbitrary 
application specific transformations that may do whatever they please to 
a graph; and 2. meta-equivalence-preserving transformations that are 
independent of the application domain.  By "meta-equivalence" I am 
referring to the kind of equivalence that you described in the current 
RDF semantics Draft:
https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-mt/index.html#skolemization-1
 >>
 >>
[[
 >> Nevertheless, they are in a strong sense almost interchangeable, as
 >> shown the next two properties. The third property means that even
 >> when conclusions are drawn from the skolemized graph which do
 >> contain the new vocabulary, these will exactly mirror what could
 >> have been derived from the original graph with the original blank
 >> nodes in place. The replacement of blank nodes by IRIs does not
 >> effectively alter what can be validly derived from the graph, other
 >> than by giving new names to what were formerly anonymous entities.
 >> The fourth property, which is a consequence of the third, clearly
 >> shows that in some sense a skolemization of G can "stand in for" G
 >> as far as entailments are concerned. Using sk(G) instead of G will
 >> not affect any entailments which do not involve the new skolem
 >> vocabulary.
]]

meta-equivalence-preserving transformations preserve the important* 
aspects of a graph.  the resulting graph is isomorphic and retains all 
of the same URIs, except for skolem URIs, in the same graph positions.
in other words, it carries the same application-relevant information as 
the original graph.  that is completely different from performing 
arbitrary application specific transformations.

*Exercise to the reader: define "important" in this context.  hint: the 
particular choice of each skolem URI is NOT important, provided that it 
is unique and recognizable as a skolem URI, so that the graph can be 
round tripped.

David

>
>>
>>> But it would not change the semantics,
>>
>> WTF???  I don't know what you were thinking when your hands typed
>> that!
>
> I meant it quite literally, but I should probably have expressed
> myself better. Yes, it does change the meaning, and it is not
> logically valid. So?
>
>>> and even a skolemization is not *logically equivalent* to the
>>> bnode version. See
>>> https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-mt/index.html#skolemization-1
>>>
>>>
for the full monty on skolemization.
>>
>> I meant logically equivalent in the sense explained in the
>> Semantics:
>> https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-mt/index.html#skolemization-1
>>
>>
[[
>> Nevertheless, they are in a strong sense almost interchangeable, as
>> shown the next two properties. The third property means that even
>> when conclusions are drawn from the skolemized graph which do
>> contain the new vocabulary, these will exactly mirror what could
>> have been derived from the original graph with the original blank
>> nodes in place. The replacement of blank nodes by IRIs does not
>> effectively alter what can be validly derived from the graph, other
>> than by giving new names to what were formerly anonymous entities.
>> The fourth property, which is a consequence of the third, clearly
>> shows that in some sense a skolemization of G can "stand in for" G
>> as far as entailments are concerned. Using sk(G) instead of G will
>> not affect any entailments which do not involve the new skolem
>> vocabulary. ]]
>
> Right, that is skolemization and why it is useful. But imagine a
> conversation like this:
>
> A reads _:x :p :a .  and outputs  :a :p :a . B: Wait! That is not
> skolemization! A: So? B: But if you skolemize, you MUST skolemize
> properly! A: I am not skolemizing. I don't HAVE to skolemize. B: But
> your output is not entailed by your input! A: So? And in any case,
> even if I had skolemized, it would not be entailed by my input. So
> why are you making such a fuss? B: I don't think you are being
> conformant. A: Sure I am. B: But what you output isn't justified by
> what you read in. It might be false! A: I have my reasons, of which
> you know nothing. And I stand by my assertions. All you get to do is
> read my RDF and choose to believe it or not. I say, :a :p :a ., so
> there. What you decide to do with that is up to you.
>
> And A is right.
>
> Pat
>
>>
>>>
>>>> If it were a SHOULD then
>>>>
>>>> _:b :foo :bar .
>>>>
>>>> could be changed to
>>>>
>>>> :bar :foo :bar .
>>>>
>>>> If someone makes a change like that they should not be able to
>>>> claim that the change was conformant to the RDF spec.
>>>
>>> Sure they can. It *is* conformant with the spec, in fact. Its not
>>> a logically valid entailment, but users are not prohibited from
>>> making non-valid inferences in RDF. The user might happen to
>>> know, for out-of-band reasons, that the _:b is in fact this :bar
>>> guy.
>>
>> You are really going to confuse people if you say things like that.
>> Skolemizing
>>
>> _:b :foo :bar .
>>
>> into
>>
>> skolem:b :foo :bar .
>>
>> (where skolem:b is a skolem URI) is *completely* different from
>> changing it into
>>
>> :bar :foo :bar .
>>
>> The former "does not effectively alter what can be validly derived
>> from the graph", whereas the latter obviously does.
>>
>> David
>>
>>>
>>> Pat
>>>
>>>
>>>>
>>>> Bear in mind that the decision to perform the skolemization is
>>>> still optional -- it's a MAY.  The MUST only kicks in after
>>>> they have made that choice: if they choose to do it they MUST
>>>> do it properly.
>>>>
>>>> David
>>>>
>>>>>
>>>>> Ivan
>>>>>
>>>>>
>>>>>>
>>>>>> Specific wording changes that I suggest:
>>>>>>
>>>>>> 1. Change:
>>>>>>
>>>>>> "Systems wishing to do this SHOULD mint a new, globally
>>>>>> unique IRI (a Skolem IRI) for each blank node so
>>>>>> replaced."
>>>>>>
>>>>>> to:
>>>>>>
>>>>>> "Systems choosing to do this MUST mint a new, globally
>>>>>> unique IRI (a Skolem IRI) for each blank node so replaced.
>>>>>> Each such Skolem IRI SHOULD conform to the syntactic
>>>>>> requirement for a well-known IRI [WELL-KNOWN] with the
>>>>>> registered name genid. This is an IRI that uses the HTTP or
>>>>>> HTTPS scheme, or another scheme that has been specified to
>>>>>> use well-known IRIs; and whose path component starts with
>>>>>> /.well-known/genid/."
>>>>>>
>>>>>> 2. Delete the paragraph: [[ Systems that want Skolem IRIs
>>>>>> to be recognizable outside of the system boundaries should
>>>>>> use a well-known IRI [WELL-KNOWN] with the registered name
>>>>>> genid. This is an IRI that uses the HTTP or HTTPS scheme,
>>>>>> or another scheme that has been specified to use well-known
>>>>>> IRIs; and whose path component starts with
>>>>>> /.well-known/genid/. ]]
>>>>>>
>>>>>> Thanks, David
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>> ------------------------------------------------------------
>>> IHMC (850)434 8903 or (650)494 3973 40 South Alcaniz St. (850)202
>>> 4416   office Pensacola                            (850)202 4440
>>> fax FL 32502                              (850)291 0667 mobile
>>> phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>
> ------------------------------------------------------------ IHMC
> (850)434 8903 or (650)494 3973 40 South Alcaniz St.
> (850)202 4416   office Pensacola                            (850)202
> 4440   fax FL 32502                              (850)291 0667
> mobile phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
>
>
>
>
>
>
>
>
Received on Friday, 14 June 2013 16:34:49 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:29:57 UTC