- From: Jos de Bruijn <debruijn@inf.unibz.it>
- Date: Thu, 04 Dec 2008 18:59:15 +0100
- To: Axel Polleres <axel.polleres@deri.org>
- CC: "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>
- Message-ID: <49381A73.9010105@inf.unibz.it>
Axel Polleres wrote: > > Jos de Bruijn wrote: >> >> Axel Polleres wrote: >>> Hi, >>> >>> I introduced, as for the other datatypes (along with an editors note), >>> -equals and -not-equals predicates for the rdf:XMLLiteral datatype. >>> >>> There is an obvious overlap between the -equals predicates and '=', i.e. >>> the '=' built-ins are superfluous, it seems, for dialects that support >>> equality. >>> >>> That is not the case for the not-equals predicates, though: >>> >>> All the -not-equals predicates, i.e. pred:numeric-not-equal, >>> pred:string-not-equal, pred:dateTime-not-equal, pred:date-not-equal, >>> pred:time-not-equal, pred:duration-not-equal, pred:XMLLiteral-not-equal, >>> pred:text-not-equal >>> >>> are defined on the same domains as their positive counterpart with >>> reversed truth-values. >>> >>> That has the consequence though, that they are not possibly emulated by >>> negation as failure, i.e. it is in general not true to say that the >>> >>> -not-equals version is true, whenever the -equals version is NOT true. >>> >>> >>> An example: >>> >>> _a:- External (pred:numberic-equals("blabla", 1) ) >>> _b:- External (pred:numberic-not-equals("blabla", 1) ) >>> >>> entails neither _a nor _b, however >> >> Both rules contain errors, and since errors mean arbitrary truth values, >> you don't know whether _a or _b are entailed, and in practice I suspect >> applications will terminate with some error message. > > No, that is not what the semantics says... it says that the truth-value > may vary from interpretation to interpretation and that means it is not > true in all interprestations which means it is not entailed. No. We leave it up to the user, which means the user can choose to make it true in every interpretation. Best, Jos > We do not have errors in RIF, that was decided long ago. > >>> _a:- "blabla" = 1 >>> _b:- naf ( "blabla" = 1 ) >>> >>> would entail _b. >>> >>> So, 2 questions: >>> >>> 1) Do we want this behavior or do we want the negation as failure >>> behavior of inequality? >> >> We want this behavior, since this is the only reasonable way >> to define these built-in predicates. >> >>> 2) Do we want the redundancy of equals predicates? >> >> Yes, for dialects that do not supported equality. > > Same opinion here in both points... > >> Best, Jos >> >>> I think we need these things clarified, to be able to determine how >>> '=' and "!=" shortcuts in an abridged syntax should be defined. > > ... which means that '!=' in an abridged syntax would be defined as: > > numeric-not-equal or string-not-equal or text-not-equal or > date-time-not-equal or date-not-equal or time-not-equal or > duration-not-equal or XMLLiteral-not-equal > > and '=' would be defined as equality in dialects that support it and > > numeric-equal or string-equal or text-equal or date-time-equal or > date-equal or time-equal or duration-equal or XMLLiteral-equal > > in others... Would that the agreed reading for = and != in an abridged > syntax? > > Axel > >>> Axel >>> >>> >>> >> > > -- Jos de Bruijn debruijn@inf.unibz.it +390471016224 http://www.debruijn.net/ ---------------------------------------------- No one who cannot rejoice in the discovery of his own mistakes deserves to be called a scholar. - Donald Foster
Received on Thursday, 4 December 2008 17:59:18 UTC