You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Updates rdf:JSON value space.
* Updates value space of rdf:JSON using INFRA and XSD and defines the lexical-to-value mapping for tha various JSON values into that space, as well as how to compare values.
Note the sentence on the relative order of rdf:JSON literals, which may belong somewhere else.
* Update RFC5785 with RFC8615.
* Use I18N-GLOSSARY instead of i18n-glossary.
* * Update rdf:JSON datatype to mandate that numbers be expresed as IEEE 754-2008 double precision numbers, making SHOULD NOT in I-JSON a MUST NOT.
* Reduce the descriptions of number to be just xsd:double, as xsd:integer is not significant in the context of a JSON value.
* Clarify how map entries are compared for equality.
* Remove rdf:JSON canonical mapping.
* Clarify equality of maps and map elements.
* Call out to doubleLexicalMap for converting numbers into xsd:double values.
* Note on numbers that have infinite values.
---------
Co-authored-by: Ted Thibodeau Jr <[email protected]>
(mapping <a>strings</a> to values in the <ahref="#JSON-value-space">value space</a> where the order of <adata-cite="INFRA#entry">map entries</a> is not significant),
1536
+
<adata-cite="INFRA#list">lists</a>
1537
+
(of values in the <ahref="#JSON-value-space">value space</a>), and
1538
+
literal values (<adata-cite="INFRA#boolean">`true`, `false`</a>, and <adata-cite="INFRA#nulls">`null`</a>)
1539
+
from [[[INFRA]]] [[INFRA]] and [[[XMLSCHEMA11-2]]] [[XMLSCHEMA11-2]].
1540
+
1541
+
<p>Two values (|a| and |b|) are considered equal if:
1542
+
<ul>
1543
+
<li>they are the same <a>string</a>,
1544
+
number (<adata-cite="XMLSCHEMA11-2#double"><strong>xsd:double</strong></a>), or
1545
+
literal value;</li>
1546
+
<li>they are both <adata-cite="INFRA#list">lists</a> containing <adata-cite="INFRA#list-item">items</a>
1547
+
which are pairwise equal – meaning that each <adata-cite="INFRA#list-item">item</a>
1548
+
in |a| is equal the <adata-cite="INFRA#list-item">item</a>
1549
+
at the corresponding index in |b|,
1550
+
and both |a| and |b| have the same <adata-cite="INFRA#list-size">size</a>; or</li>
1551
+
<li>if they are both <adata-cite="INFRA#ordered-map">maps</a> with equal <adata-cite="INFRA#entry">entries</a>
1552
+
– meaning that both |a| and |b| have the same <adata-cite="INFRA#map-size">size</a>,
1553
+
and for each entry <var>e<sub>a</sub></var> in |a|
1554
+
there is an entry <var>e<sub>b</sub></var> in |b|
1555
+
such that the <adata-cite="INFRA#map-key">key</a> in <var>e<sub>a</sub></var>
1556
+
equals the <adata-cite="INFRA#map-key">key</a> in <var>e<sub>b</sub></var>,
1557
+
and the <adata-cite="INFRA#map-value">value</a> in <var>e<sub>a</sub></var>
1558
+
equals the <adata-cite="INFRA#map-value">value</a> in <var>e<sub>b</sub></var>.
1559
+
<divclass="note">Two JSON Objects containing maps which are serialized with entries in a different order will be equal under this definition when transformed to the value space.
1560
+
For example, `{ "a": 1, "b": 2 } and { "b": 2, "a": 1 }` are considered equal.
0 commit comments