- 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