- From: Axel Polleres <axel.polleres@deri.org>
- Date: Thu, 13 Nov 2008 11:09:04 +0000
- To: Dave Reynolds <der@hplb.hpl.hp.com>
- CC: "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>
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