Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XML schema datatypes double and float do not specify lexical-to-value map #85

Open
pfps opened this issue May 12, 2024 · 6 comments
Open
Labels
spec:bug Bug in the specification

Comments

@pfps
Copy link
Contributor

pfps commented May 12, 2024

In XML Schema datatypes 1.1 double and float the lexical-to-value map can vary. This is a change from 1.0 but breaks the definition of RDF datatypes.

Concepts should be updated to require the mapping defined in XML Schema datatypes 1.1, which was the required mapping in XML Schema datatypes 1.0.

@gkellogg gkellogg added the spec:editorial Minor issue or proposed change in the specification (markup, typo, informative text) label May 13, 2024
@pfps pfps added spec:enhancement Issue or proposed change to enhance the spec without changing the normative content substantively and removed spec:editorial Minor issue or proposed change in the specification (markup, typo, informative text) labels Jun 4, 2024
@pfps pfps added spec:bug Bug in the specification and removed spec:enhancement Issue or proposed change to enhance the spec without changing the normative content substantively labels Jul 18, 2024
@IS4Code
Copy link

IS4Code commented Aug 10, 2024

No. It is not the responsibility of RDF Concepts to affect the interpretation of those datatypes in a way that would be conflicting with XML Schema. If anything the standard might discourage from using ambiguous values, but anything else should be left to the interpretation of RDF terms.

The point of using xsd:float and xsd:double is to rely on their fast native implementations and efficient storage. It would be an implementational disaster to mandate a different way of parsing than what is already used for XML Schema everywhere. It is definitely unfortunate that the actual values could be inconsistently produced, but perhaps that is simply what you get by using xsd:float and xsd:double ‒ you can't make them precise.

@pfps
Copy link
Contributor Author

pfps commented Aug 10, 2024

That is not the point. The point is that the updated version of the XML Spec allows for different lexical-to-value maps. RDF has to pick one and the obvious one to pick is the one that was mandated by the previous version of the XML Spec.

In some systems that may mean that an RDF implementation cannot use the XML datatypes implementation that might normally be used as it has a different lexical-to-value mapping.

@domel
Copy link
Contributor

domel commented Aug 10, 2024

Indeed, the update to the XML Schema specification introduces the possibility of different lexical-to-value maps, which necessitates that RDF choose one of them. As you noted, the most obvious choice would be to maintain consistency with the map mandated by the previous version of the XML specification.

However, a crucial question arises: what happens if an RDF implementation is already using a different map that will not be chosen as the standard in RDF? In such a case, significant compatibility issues may arise. The RDF implementation might not be able to directly use the existing XML datatypes implementation, leading to the potential need for substantial modifications in the systems to ensure compliance with the chosen RDF standard.

@gkellogg
Copy link
Member

gkellogg commented Nov 6, 2024

@pfps can you suggest some specific wording and references to add to the float and double mappings? Or, better yet, create a PR for this.

@pfps
Copy link
Contributor Author

pfps commented Nov 7, 2024

As far as I can tell the mappings just defer to the ones from XML Schema datatypes. So a solution is to just defer to the previous version of XML Schema datatypes and note that this is one of the possible mappings in the current version.

@pfps
Copy link
Contributor Author

pfps commented Nov 13, 2024

The solution for rdf:JSON, slightly generalized, should work here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spec:bug Bug in the specification
Projects
None yet
Development

No branches or pull requests

4 participants