The intended mechanism for datatype extension is described in SPARQL 1.0, section 11.3.1 "Operator Extensibility" .
An implementation may extend function evaluation and comparison by adding new rows to the dispatch table.
In your example of:
"42"^^unit:Meter > "8"^^unit:Meter
which in base SPARQL is an error (no matching operator for ">" between unit:Meter and unit:Meter), the correct extension is to add ">" for (unit:Meter , unit:Meter).
The SPARQL test suite includes tests on xsd:date (see ) and are marked in the test suite with mf:requires
The group feels that implicit casting of unknown datatypes to numerical types would be a less useful mechanism.
We would be grateful if you would acknowledge that your comment has been answered by sending a reply to this mailing list.
Andy (on behalf of the SPARQL WG)