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