Re: ACTION-419: Sync with Birte on Datatypes for canonicalisation

Matt, others,
I have updated the D-Entailment Regime to require a datatype map with
at least the datatypes suggested by Matt. Literal solutions can only
be canonical representations. I am not quite sure how to interpret XSD
Schema Datatypes though for integers. Normally, the canonicalized
values are always for the primitive type, but that would require that
the canonical representation is inherited from decimal. However,
"10.0"^^xsd:decimal is the canonical representation for 10 as I
understand it, but integers shouldn't have a decimal point. Thus,
"10.0"^^xsd:decimal can hardly be the canonical representation for
"10"^^xsd:integer. Instead I assume that "10"^^xsd:integer is the
canonical form of "10"^^xsd:integer, but also of "010"^^xsd:integer,
"+10"^^xsd:integer, and also "10"^^xsd:short or "10"^^xsd:byte. Anyone
with a better understandingthan me? Am I right in assuing that this is
how I should understand the spec?

Here's the updated D-ent. regime:
http://www.w3.org/2009/sparql/docs/entailment/xmlspec.xml#d-entailment

Regards,
Birte

On 22 March 2011 15:50, Matthew Perry <matthew.perry@oracle.com> wrote:
> Hi,
>
> Oracle's canonicalization is shown below. Please let me know if you have any
> questions.
>
> Thanks,
> Matt
>
> - URI, Blank Node, Plain Literal => no change
> - language-tagged literals => normalize lang tag to lowercase
>
> - xsd:string => Plain Literal
>
> - All the following go to xsd:decimal normalized to remove all leading and
>  trailing zeros. Decimal point is not included if fractional part is zero.
> xsd:decimal
> xsd:integer
> xsd:nonPositiveInteger
> xsd:negativeInteger
> xsd:long
> xsd:int
> xsd:short
> xsd:byte
> xsd:nonNegativeInteger
> xsd:unsignedLong
> xsd:unsignedInt
> xsd:unsignedShort
> xsd:unsignedByte
> xsd:positiveInteger
>
> - normalize to concat("mantissa", "E", "exponent")
>  (e.g. "100.3"^^<http://www.w3.org/2001/XMLSchema#float =>
>       "1.00300003E2"^^<http://www.w3.org/2001/XMLSchema#float>)
> xsd:double => xsd:double
> xsd:float => xsd:float
>
> - Normalize to Z timezone if timezone is given.
>  Time portion allows at most 9 fractional seconds, which are rounded to
>  6 fractional seconds with trailing zeros removed.
> xsd:dateTime => xsd:dateTime
> xsd:time => xsd:time
>
> - xsd:date => xsd:date no change
>
>
> - xsd:boolean => normalize to lowercase "true" or "false"
>
>



-- 
Dr. Birte Glimm, Room 309
Computing Laboratory
Parks Road
Oxford
OX1 3QD
United Kingdom
+44 (0)1865 283520

Received on Sunday, 27 March 2011 21:34:32 UTC