Re: ISSUE: Malformed literals and non-lexical literals

Thanks Andy, that was interesting.

On Aug 17, 2006, at 10:20 AM, Seaborne, Andy wrote:

> Output from ARQ (using the standalone expression evaluator because  
> it explains what is going on; ASK queries mask this):
>
> Reformatted for email.
>
> ==== Test 1
>
> arq.qexpr "'-5'^^xsd:positiveInteger < 5" ==> error
>
> 10:06:46 WARN  NodeValue
>     Datatype format exception: "-5"^^xsd:positiveInteger
> Exception: Can't compare "-5"^^<http://www.w3.org/2001/ 
> XMLSchema#positiveInteger> and 5

You say that the warnings do not affect the results. But this is  
wrong behavior, yes?

"""Specifically, FILTERs eliminate any solutions that, when  
substituted into the expression, result in either an effective  
boolean value of false or produce an error. """

So, given data
	:b :p "-5"^^xsd:positiveInteger.
	:b :q "5"^^xsd:positiveInteger.

and query
	SELECT ?x {?x :p ?L1. ?x :q ?L2. FILTER ?L1 < ?L2}

ARQ returns
	?x/:b

instead of no answers?

> ==== Test 2
>
> arq.qexpr "isLiteral('-5'^^xsd:positiveInteger)" ==> true
>
> 10:06:46 WARN  NodeValue
>     Datatype format exception: "-5"^^xsd:positiveInteger
> true

But the isLiteral evaluation is correct.

> The warnings are execution logging warnings and do not affect the  
> results.
> It is trying to consider things as one of the understood types/ 
> values, and falling back to a plain RDF literal (but not it's value).

I don't know exactly what that means for the example above.

Cheers,
Bijan.

Received on Thursday, 17 August 2006 10:06:54 UTC