RE: "2"^^xsd:integer = "II"^^roman:numeral

A simple way would be to restrict all the syntax operators (= < > <= >=)

to the XSD datatypes as per 6.1 of F&O (subtypes of decimal.,integer,
float (maybe?) and double, string, dateTime,boolean).

A numeric is then one of the XSD types only - no user defined types.  To
get more general testing would need an extension function.

	Andy

-------- Original Message --------
> From: Eric Prud'hommeaux <>
> Date: 19 December 2005 14:50
> 
> We seem to be stopped on the issue that
>   "2"^^xsd:integer != "II"^^roman:numeral
> will test true in a SPARQL implementation and false in an extended
> SPARQL implementation. This comes from the overloaded = operator:
>   numeric = numeric
>   RDF term = RDF term
> If the right side of the test is not recognized to be a numeric, the
> test is whether they are the same RDF term (clearly not). Adding
> roman:numeral support allows the right side to be numeric, and the
> value is the same left side.
> 
> PROPOSE: change
>   RDF term = RDF term
> to
>   sameTermAs(RDF term, RDF term)
> strike
>   RDF term != RDF term
> and strike
> [[
> When selecting the operator definition for a given set of parameters,
> the definition with the most specific parameters applies. For
> instance, when evaluating xsd:integer = xsd:signedInt, the definition
> for = with two numeric parameters applies, rather than the one with
> two RDF terms. The table is arranged so that upper-most viable
> candiate is the most specific.
> ]]

Received on Tuesday, 20 December 2005 14:34:06 UTC