Re: [DTB] Most editor's notes addressed

Axel Polleres wrote:
> Dave Reynolds wrote:
>> Axel Polleres wrote:
>>>
>>> Dave Reynolds wrote:
>>>> Hi Axel,
>>>>
>>>>> 4)
>>>>> Section
>>>>> "== Cast Functions and Conversion Predicates for Datatypes and 
>>>>> <tt>rif:iri</tt> =="
>>>>>
>>>>> renamed to:
>>>>>
>>>>> "== Datatype Conversion and Datatype Checking =="
>>>>>
>>>>> in order to resolve:
>>>>> "Editor's Note: It was noted in discussions of the working group, 
>>>>> that except guard predicates, also an analogous built-in function 
>>>>> or predicate to SPARQL's datatype function is needed. This however 
>>>>> has some technical implications, see 
>>>>> http://lists.w3.org/Archives/Public/public-rif-wg/2008Jul/0096.html."
>>>>>
>>>>> I added a new pred:hasDatatype predicate here, please check, 
>>>>> especially Dave (since I didn't find your mail on that, I am not 
>>>>> sure whether this was how you intedned it, but this is how it makes 
>>>>> sense to me)!
>>>>
>>>> That seems fine as far as it goes though it only addresses one of 
>>>> the four requested predicates.
>>>>
>>>> The original email was [1] section 3.
>>>>
>>>> Basically your pred:hasDatatype equates to my pred:isType (and I'm 
>>>> fine with your name).  I'd also like a negative version (isNotType, 
>>>> not sure hasNotDatatype reads so well but I don't care what you call 
>>>> it).
>>>>
>>>> But it would also be very helpful to have the overloaded versions of 
>>>> the literal equality and inequality predicates.
>>>
>>> hmmm, I am a bit worried about, what
>>>
>>> hasNotDatatye(const,?X)
>>>
>>> should return.... somehow that looks suspicious to me.
>>
>> Interesting question. It's intended use is when ?X is bound but of 
>> course we don't have binding patterns in DTB.
> 
> yeah, is see.
> 
>> Since the domain of ?X is rif:iri then it would return the same as:
>>
>>    hasDatatype(?X, rdf:iri)
> 
> Note: rif:iri is NOT a datatype, but only a symbol space, so that one is 
>   awkward.

True, sorry, my error.

>> less the actual datatype IRI fo const.
>>
>> So I'm not sure that adding hasNotDatatype is making things any worse.
> 
> maybe, maybe not... as you suggest below, we could parametrize its 
> semantics just by the supported datatypes... E.g.
> 
> hasNotDatatype(?X, ?Y) =
>    Or ( pred:isNotString(?X)
>    pred:isNotTime(?X)
>    pred:isNotDate(?X)
>    pred:isNotDateTime(?X)
>    pred:isNotDayTimeDuration(?X)
>    pred:isNotYearMonthDuration(?X)
>    pred:isNotXMLLiteral(?X)
>    pred:isNotText(?X) )

Yes.

> anyway, this is very related to Issue 79
> http://www.w3.org/2005/rules/wg/track/issues/79
> ... sneaks in negation.
> I think we should resolve this cleanly, with a dialect that introduces 
> negation and get rid of all those -not- builtins.

In abstract that might be cleaner but it would mean RIF core and RIF BLD 
could not implement OWL 2 RL even though such an implementation would be 
easy for both simple production rule languages and simple LP languages 
using rule sets which would look very similar. I would regard that a 
significant problem.

Dave
-- 
Hewlett-Packard Limited
Registered Office: Cain Road, Bracknell, Berks RG12 1HN
Registered No: 690597 England

Received on Friday, 14 November 2008 08:53:03 UTC