Re: !=, NOT IN and type errors

Thanks for the response Andy.

On 26/03/2011 02:02, Andy Seaborne wrote:

> For the expression;
>
> "foo"^^xsd:string != "10"^^xsd:integer
>
> then a minimal SPARQL 1.0 query processor is not required to know
> that the value spaces of xsd:string and xsd:integer are disjoint.
> For a processor that does not know this, the result of the comparison
> is "unknown" and an error is raised. If the processor did know they
> are disjoint, then it can return "true" -- such behavior would be
> adding a row to the dispatch table for functions for "xsd:string !=
> xsd:integer".

[snip]

> It's the additional fact of xsd:string and xsd:integer having
> disjoint value spaces that is key here.

Ok, with your explanation in hand I have done another dive into the 
specs. It seems I have misread the definition of RDFterm-equal slightly: 
the fact that it expects one to do a value-based comparison on typed 
literals is rather well hidden (it's mentioned in a footnote, basically).

May I suggest that the section on RDFterm-equal is reworded to make it 
clearer what one should do with datatyped literals? The way it now reads 
makes it rather easy to assume you should always apply the definition of 
Literal Equality in RDF Concepts (section 6.5.1). Clearly (well, not 
quite so clearly IMHO) that's not the case for datatyped literals.

[snip]

> We would be grateful if you would acknowledge that your comment has
> been answered by sending a reply to this mailing list.

I am satisfied with the response.

Also, I appreciate you taking the time in explaining that basically I 
just misread the spec :)


Regards,

Jeen

Received on Saturday, 26 March 2011 03:53:06 UTC