Re: [DTB] Most editor's notes addressed

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.

> 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) )

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.



Axel


> However, we could retrict the domain the second argument to be the 
> enumerated list of datatype IRIs supported by RIF (or by the particular 
> RIF implementation it supports private extensions) in which case the 
> return values for ?X in your example would be finite.

> Dave


-- 
Dr. Axel Polleres
Digital Enterprise Research Institute, National University of Ireland, 
Galway
email: axel.polleres@deri.org  url: http://www.polleres.net/

Received on Thursday, 13 November 2008 11:09:53 UTC