- From: Axel Polleres <axel.polleres@deri.org>
- Date: Wed, 10 Dec 2008 11:08:08 +0100
- To: Axel Polleres <axel.polleres@deri.org>
- CC: Chris Welty <cawelty@gmail.com>, Jos de Bruijn <debruijn@inf.unibz.it>, "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>
BTW, my last mail means that the changes according to the resolution
from the minutes from yesterday's meeting are done:
"RESOLVED: publish DTB as a next WD after changes listed in
http://lists.w3.org/Archives/Public/public-rif-wg/2008Dec/0045.html"
Axel Polleres wrote:
> Axel Polleres wrote:
>>
>>
>> >> Probably we need to get rid of the text about "varying between
>> >> interpretations". Also, one should add that the truth value of
>> >> predicates whose arguments are outside the domain of the external
>> >> relation is unspecified.
>>
>> That is already said in Section 3, item 5...
>>
>> >> I think the text should be clear then.
>>
>>
>> ... so, would the following change from
>>
>> "This means that if one or more of the arguments is not in its
>> intended domain, the value of I_external(\sigma)(a1 ... an) can vary
>> from one semantic structure to another."
>>
>> to
>>
>> "This means that if one or more of the arguments is not in its
>> intended domain, the value of I_external(\sigma)(a1 ... an) is
>> unspecified. That means in particular, it can vary from one
>> *implementation* to another."
>
> done, slightly reworded.
> Also changed:
>
> "This indeterminacy in case of an error implies that applications *must*
> not make any assumptions about the values of built-ins in such situations."
>
> to
>
> "This indeterminacy in case of an error implies that applications
> *should* not make any assumptions about the values of built-ins in such
> situations."
>
> Actually, I am not sure about this sentence anymore... isn't it
> confusing. On the one hand we say *implementations* can do what they
> want, on the other hand we say *applications* must/should not make
> assumptions about the values... What is the difference between
> implementation and application?
>
>
>> be acceptable in Section 3, item 5.?
>> As well as changing henceforth in all function and predicate
>> descriptions the recurring sentence
>>
>> "the value [...] is left unspecified and can vary from one semantic
>> structure to another. "
>>
>> to
>>
>> "the value [...] is left unspecified."
>
> done that as well.
>
>> I think that does it.
>>
>> Axel
>>
>> Chris Welty wrote:
>>>
>>>
>>> -Chris (sent from my iPhone)
>>>
>>> On Dec 4, 2008, at 4:08 PM, Jos de Bruijn <debruijn@inf.unibz.it> wrote:
>>>
>>>>
>>>>
>>>> Axel Polleres wrote:
>>>>> Jos de Bruijn wrote:
>>>>>>
>>>>>> Axel Polleres wrote:
>>>>>>> Jos de Bruijn wrote:
>>>>>>>> Axel Polleres wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I introduced, as for the other datatypes (along with an editors
>>>>>>>>> note),
>>>>>>>>> -equals and -not-equals predicates for the rdf:XMLLiteral
>>>>>>>>> datatype.
>>>>>>>>>
>>>>>>>>> There is an obvious overlap between the -equals predicates and
>>>>>>>>> '=',
>>>>>>>>> i.e.
>>>>>>>>> the '=' built-ins are superfluous, it seems, for dialects that
>>>>>>>>> support
>>>>>>>>> equality.
>>>>>>>>>
>>>>>>>>> That is not the case for the not-equals predicates, though:
>>>>>>>>>
>>>>>>>>> All the -not-equals predicates, i.e. pred:numeric-not-equal,
>>>>>>>>> pred:string-not-equal, pred:dateTime-not-equal,
>>>>>>>>> pred:date-not-equal,
>>>>>>>>> pred:time-not-equal, pred:duration-not-equal,
>>>>>>>>> pred:XMLLiteral-not-equal,
>>>>>>>>> pred:text-not-equal
>>>>>>>>>
>>>>>>>>> are defined on the same domains as their positive counterpart with
>>>>>>>>> reversed truth-values.
>>>>>>>>>
>>>>>>>>> That has the consequence though, that they are not possibly
>>>>>>>>> emulated by
>>>>>>>>> negation as failure, i.e. it is in general not true to say that
>>>>>>>>> the
>>>>>>>>>
>>>>>>>>> -not-equals version is true, whenever the -equals version is
>>>>>>>>> NOT true.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> An example:
>>>>>>>>>
>>>>>>>>> _a:- External (pred:numberic-equals("blabla", 1) )
>>>>>>>>> _b:- External (pred:numberic-not-equals("blabla", 1) )
>>>>>>>>>
>>>>>>>>> entails neither _a nor _b, however
>>>>>>>> Both rules contain errors, and since errors mean arbitrary truth
>>>>>>>> values,
>>>>>>>> you don't know whether _a or _b are entailed, and in practice I
>>>>>>>> suspect
>>>>>>>> applications will terminate with some error message.
>>>>>>> No, that is not what the semantics says... it says that the
>>>>>>> truth-value
>>>>>>> may vary from interpretation to interpretation and that means it
>>>>>>> is not
>>>>>>> true in all interprestations which means it is not entailed.
>>>>>>
>>>>>> No. We leave it up to the user, which means the user can choose to
>>>>>> make
>>>>>> it true in every interpretation.
>>>
>>> This was my understanding. ( I think I proposed it) but I agree the
>>> following could be understood as saying something else:
>>>
>>>>>>
>>>>>
>>>>> I assume that this is your reading of
>>>>>
>>>>> "If the argument value is outside of the intended domain or outside
>>>>> the
>>>>> partial conversions defined in [XPath-Functions], the value of the
>>>>> function is left unspecified and can vary from one semantic
>>>>> structure to
>>>>> another."
>>>>>
>>>>> interesting opinion.
>>>>
>>>> It is what we agreed upon at F2Fx (I believe in Paris).
>>>>
>>>
>>>>> my reading does not imply what you say. Maybe this
>>>>> needs clarification then?
>>>>
>>>> Probably we need to get rid of the text about "varying between
>>>> interpretations". Also, one should add that the truth value of
>>>> predicates whose arguments are outside the domain of the external
>>>> relation is unspecified.
>>>> I think the text should be clear then.
>>>>
>>>
>>> Agreed.
>>>
>>>>
>>>> Best, Jos
>>>>
>>>>>
>>>>> Axel
>>>>>
>>>>>
>>>>>> Best, Jos
>>>>>>
>>>>>>> We do not have errors in RIF, that was decided long ago.
>>>>>>>
>>>>>>>>> _a:- "blabla" = 1
>>>>>>>>> _b:- naf ( "blabla" = 1 )
>>>>>>>>>
>>>>>>>>> would entail _b.
>>>>>>>>>
>>>>>>>>> So, 2 questions:
>>>>>>>>>
>>>>>>>>> 1) Do we want this behavior or do we want the negation as failure
>>>>>>>>> behavior of inequality?
>>>>>>>> We want this behavior, since this is the only reasonable way
>>>>>>>> to define these built-in predicates.
>>>>>>>>
>>>>>>>>> 2) Do we want the redundancy of equals predicates?
>>>>>>>> Yes, for dialects that do not supported equality.
>>>>>>> Same opinion here in both points...
>>>>>>>
>>>>>>>> Best, Jos
>>>>>>>>
>>>>>>>>> I think we need these things clarified, to be able to determine
>>>>>>>>> how
>>>>>>>>> '=' and "!=" shortcuts in an abridged syntax should be defined.
>>>>>>> ... which means that '!=' in an abridged syntax would be defined as:
>>>>>>>
>>>>>>> numeric-not-equal or string-not-equal or text-not-equal or
>>>>>>> date-time-not-equal or date-not-equal or time-not-equal or
>>>>>>> duration-not-equal or XMLLiteral-not-equal
>>>>>>>
>>>>>>> and '=' would be defined as equality in dialects that support it and
>>>>>>>
>>>>>>> numeric-equal or string-equal or text-equal or date-time-equal or
>>>>>>> date-equal or time-equal or duration-equal or XMLLiteral-equal
>>>>>>>
>>>>>>> in others... Would that the agreed reading for = and != in an
>>>>>>> abridged
>>>>>>> syntax?
>>>>>>>
>>>>>>> Axel
>>>>>>>
>>>>>>>>> Axel
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> debruijn@inf.unibz.it
>>>>
>>>> Jos de Bruijn, http://www.debruijn.net/
>>>> ----------------------------------------------
>>>> Many would be cowards if they had courage
>>>> enough.
>>>> - Thomas Fuller
>>
>>
>
>
--
Dr. Axel Polleres
Digital Enterprise Research Institute, National University of Ireland,
Galway
email: axel.polleres@deri.org url: http://www.polleres.net/
Received on Wednesday, 10 December 2008 10:08:55 UTC