datagov-cz / otevrene-formalni-normy

V tomto repozitáři jsou otevřené formální normy pro otevřená data v ČR a sbíráme zde na ně další požadavky. Tento repozitář je udržován v rámci projektu OPZ č. CZ.03.4.74/0.0/0.0/15_025/0013983.
https://ofn.gov.cz
17 stars 13 forks source link

Problém s desetinným číslem v JSON v základních datových typech #433

Closed jakubklimek closed 1 year ago

jakubklimek commented 1 year ago

V OFN Základní datové typy je jako reprezentace desetinného čísla v JSON-LD použito JSON číslo (např. 4.25). Datový typ má však odpovídat typu xsd:decimal - ten ale v JSON podporován není, a taková JSON čísla jsou interpretována jako xsd:double, tedy čísla s plovoucí desetinnou čárkou. To způsobuje syntaktický problém při interpretaci takového JSON souboru jako JSON-LD, kdy z čísel jako např. 4.25 vznikají nevalidní RDF literály jako "425e-2"^^xsd:decimal.

V technických artefaktech však je všude použit xsd:double, tedy stačí opravit datový typ v textové části OFN a tedy podporovat pouze čísla s plovoucí desetinnou čárkou.

Pokud by bylo v budoucnu potřeba explicitně podporovat desetinná čísla s nekonečnou přesností, řešením by byla reprezentace takového čísla v JSON jako JSON řetězec, např. "4.25".