Skip to content

Interpretation of "NaN"^^xsd:double and "-0"^^xsd:double #214

@ektrah

Description

@ektrah

Let's say I have a graph that consists of the triple ex:a ex:p "NaN"^^xsd:double . and xsd:double is in D.

Does this graph D-entail the graph ex:a ex:p "NaN"^^xsd:double .?

The answer depends on whether <I(ex:a), I("NaN"^^xsd:double)> is in IEXT(I(ex:p)),
which I assume depends on whether I("NaN"^^xsd:double) = I("NaN"^^xsd:double).

xmlschema11-2 says:

  • Equality is identity, except that 0 = −0 (although they are not identical) and NaN ≠ NaN (although NaN is of course identical to itself).

    0 and −0 are thus equivalent for purposes of enumerations, identity constraints, and minimum and maximum values.

This made me think that I("NaN"^^xsd:double)I("NaN"^^xsd:double).

rdf-semantics says:

Throughout this document, the equality sign = indicates strict identity.

This is a bit bidden in the document, but makes it clear the answer is in fact yes, I("NaN"^^xsd:double) = I("NaN"^^xsd:double).

It would be useful to have a test for that.

Similarly for the question if ex:a ex:p "-0"^^xsd:double . D-entails ex:a ex:p "+0"^^xsd:double . (The answer is no.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions