@@ -100,17 +100,17 @@ <h2>Introduction</h2>
100
100
101
101
< p > This document defines an abstract syntax (a data model)
102
102
which serves to link all RDF-based languages and specifications,
103
- including:</ p >
103
+ including the following :</ p >
104
104
105
105
< ul >
106
- < li > the formal model-theoretic semantics for RDF [[RDF12-SEMANTICS]]; </ li >
106
+ < li > the formal model-theoretic semantics for RDF [[RDF12-SEMANTICS]]</ li >
107
107
108
108
< li > serialization syntaxes for storing and exchanging RDF such as [[[RDF12-TURTLE]]] [[RDF12-TURTLE]]
109
- and [[[JSON-LD11]]] [[JSON-LD11]]; </ li >
109
+ and [[[JSON-LD11]]] [[JSON-LD11]]</ li >
110
110
111
- < li > the [[[SPARQL12-QUERY]]] [[SPARQL12-QUERY]]; </ li >
111
+ < li > the [[[SPARQL12-QUERY]]] [[SPARQL12-QUERY]]</ li >
112
112
113
- < li > the [[[RDF12-SCHEMA]]] [[RDF12-SCHEMA]]. </ li >
113
+ < li > the [[[RDF12-SCHEMA]]] [[RDF12-SCHEMA]]</ li >
114
114
</ ul >
115
115
116
116
< section id ="data-model ">
@@ -259,7 +259,7 @@ <h3>The Referent of an IRI</h3>
259
259
< li > By social convention, the
260
260
< a data-cite ="WEBARCH#uri-ownership "> IRI owner</ a >
261
261
[[WEBARCH]] gets to say what the intended (or usual)
262
- referent of an < a > IRI</ a > is. Applications and users need not
262
+ referent of an < a > IRI</ a > is. Applications and users need not
263
263
abide by this intended denotation, but there may be a loss of
264
264
interoperability with other applications and users if they do
265
265
not do so.</ li >
@@ -549,11 +549,11 @@ <h2>RDF Graphs</h2>
549
549
< h3 > Triples</ h3 >
550
550
551
551
< p > An < dfn data-local-lt ="triple "> RDF triple</ dfn > (usually called "triple")
552
- is a 3-tuple (|s|, |p|, |o|) where :</ p >
552
+ is a 3-tuple (|s|, |p|, |o|) with the following characteristics :</ p >
553
553
554
554
< ul >
555
- < li > |s| is an < a > IRI</ a > or a < a > blank node</ a > , </ li >
556
- < li > |p| is an < a > IRI</ a > , and </ li >
555
+ < li > |s| is an < a > IRI</ a > or a < a > blank node</ a > . </ li >
556
+ < li > |p| is an < a > IRI</ a > . </ li >
557
557
< li > |o| is an < a > IRI</ a > , a < a > blank node</ a > , a < a > literal</ a > ,
558
558
or a < a > triple term</ a > .</ li >
559
559
</ ul >
@@ -688,26 +688,27 @@ <h3>IRIs</h3>
688
688
only IRIs that are normalized according to
689
689
< a data-cite ="rfc3987#section-5 "> Section 5</ a >
690
690
of [[!RFC3987]]. Non-normalized forms that are best avoided
691
- include:</ p >
691
+ include the following :</ p >
692
692
693
693
< ul >
694
694
< li > Uppercase characters in scheme names and domain names</ li >
695
695
< li > Percent-encoding of characters where it is not
696
696
required by IRI syntax</ li >
697
- < li > Explicitly stated HTTP default port
697
+ < li > Explicit inclusion of the HTTP default port
698
698
(< code > http://example.com:80/</ code > );
699
699
< code > http://example.com/</ code > is preferable</ li >
700
- < li > Completely empty path in HTTP IRIs
700
+ < li > A completely empty path in an HTTP IRI
701
701
(< code > http://example.com</ code > );
702
702
< code > http://example.com/</ code > is preferable</ li >
703
703
< li > “< code > /./</ code > ” or “< code > /../</ code > ” in the path
704
704
component of an IRI</ li >
705
705
< li > Lowercase hexadecimal letters within percent-encoding
706
- triplets (“< code > %3F</ code > ” is preferable over
706
+ triplets (i.e., “< code > %3F</ code > ” is preferred over
707
707
“< code > %3f</ code > ”)</ li >
708
708
< li > Punycode-encoding of Internationalized Domain Names
709
709
in IRIs [[RFC3492]]</ li >
710
- < li > IRIs that are not in Unicode < a class ="lint-ignore "> Normalization Form C</ a > [[UAX15]]</ li >
710
+ < li > IRIs that are not in Unicode
711
+ < a class ="lint-ignore "> Normalization Form C</ a > [[UAX15]]</ li >
711
712
</ ul >
712
713
</ div >
713
714
</ section >
@@ -718,17 +719,17 @@ <h2>Literals</h2>
718
719
< p > Literals are used for values such as strings, numbers, and dates.</ p >
719
720
720
721
< p > A < dfn data-local-lt ="RDF literal "> literal</ dfn > in an < a > RDF graph</ a > consists of
721
- two, three, or four elements:</ p >
722
+ two, three, or four elements, as follow :</ p >
722
723
723
- < ul >
724
+ < ol >
724
725
< li > a < dfn > lexical form</ dfn > consisting of a sequence of
725
726
< a data-cite ="I18N-GLOSSARY#dfn-code-point " class ="lint-ignore "> Unicode code points</ a > [[!UNICODE]]
726
727
which are < a data-cite ="I18N-GLOSSARY#dfn-scalar-value "> Unicode scalar values</ a > ,
727
728
and therefore do not contain
728
- < a data-cite ="I18N-GLOSSARY#dfn-surrogate " class ="lint-ignore "> Unicode surrogate code points</ a > . </ li >
729
+ < a data-cite ="I18N-GLOSSARY#dfn-surrogate " class ="lint-ignore "> Unicode surrogate code points</ a > </ li >
729
730
< li > a < dfn > datatype IRI</ dfn > , being an < a > IRI</ a >
730
731
identifying a datatype that determines how the lexical form maps
731
- to a < a > literal value</ a > , and </ li >
732
+ to a < a > literal value</ a > </ li >
732
733
< li > if and only if the < a > datatype IRI</ a > is
733
734
< code > http://www.w3.org/1999/02/22-rdf-syntax-ns#langString</ code > , a
734
735
non-empty < dfn > language tag</ dfn > as defined by [[!BCP47]]. The
@@ -742,8 +743,9 @@ <h2>Literals</h2>
742
743
a non-empty < a > language tag</ a >
743
744
that MUST be well-formed according to < a data-cite ="bcp47#section-2.2.9 "> section 2.2.9</ a >
744
745
of [[!BCP47]],
746
+ and MUST be treated consistently, that is, in a case insensitive manner,
745
747
and a < dfn > base direction</ dfn > that MUST be either `ltr` or `rtl`.</ li >
746
- </ ul >
748
+ </ ol >
747
749
748
750
< p > A literal is a < dfn > language-tagged string</ dfn > if the third element
749
751
is present and the fourth element is not present.
@@ -773,7 +775,7 @@ <h2>Literals</h2>
773
775
774
776
< p > The < dfn > literal value</ dfn > associated with a < a > literal</ a > is:</ p >
775
777
776
- < ol >
778
+ < ul >
777
779
< li > If the literal is a < a > language-tagged string</ a > ,
778
780
then the literal value is a pair consisting of its < a > lexical form</ a >
779
781
and its < a > language tag</ a > , in that order.</ li >
@@ -784,7 +786,7 @@ <h2>Literals</h2>
784
786
< li > If the literal's < a > datatype IRI</ a > is in the set of
785
787
< a > recognized datatype IRIs</ a > , let < var > d</ var > be the
786
788
< a > referent</ a > of the datatype IRI.
787
- < ol >
789
+ < ul >
788
790
< li > If the literal's < a > lexical form</ a > is in the < a > lexical space</ a >
789
791
of < var > d</ var > , then the literal value is the result of applying
790
792
the < a > lexical-to-value mapping</ a > of < var > d</ var > to the
@@ -795,12 +797,12 @@ <h2>Literals</h2>
795
797
Implementations MUST accept ill-typed literals and produce RDF
796
798
graphs from them. Implementations MAY produce warnings when
797
799
encountering ill-typed literals.</ li >
798
- </ ol >
800
+ </ ul >
799
801
</ li >
800
802
< li > If the literal's < a > datatype IRI</ a > is < em > not</ em > in the set of
801
803
< a > recognized datatype IRIs</ a > , then the literal value is
802
804
not defined by this specification.</ li >
803
- </ ol >
805
+ </ ul >
804
806
805
807
< p > < dfn data-local-lt ="term-equal "> Literal term equality</ dfn > :
806
808
Two literals are term-equal (the same < a > RDF literal</ a > )
@@ -934,9 +936,9 @@ <h3>Graph Comparison</h3>
934
936
< dfn data-lt ="graph isomorphism|isomorphic " data-lt-noDefault class ="export "> isomorphic</ dfn >
935
937
(that is, they have an identical form)
936
938
if there is a bijection < var > M</ var > between the sets of nodes of the two
937
- graphs, such that:</ p >
939
+ graphs, such that all of the following properties hold :</ p >
938
940
939
- < ol >
941
+ < ul >
940
942
< li > < var > M</ var > maps blank nodes to blank nodes.</ li >
941
943
< li > < var > M(lit)=lit</ var > for all < a > RDF literals</ a > < var > lit</ var > which
942
944
are nodes of < var > G</ var > .</ li >
@@ -947,7 +949,7 @@ <h3>Graph Comparison</h3>
947
949
< li > The triple < var > ( s, p, o )</ var > is in < var > G</ var > if and
948
950
only if the triple < var > ( M(s), p, M(o) )</ var > is in
949
951
< var > G'</ var > </ li >
950
- </ ol >
952
+ </ ul >
951
953
952
954
< p > See also: < a > IRI equality</ a > , < a > literal term equality</ a > .</ p >
953
955
@@ -1011,9 +1013,9 @@ <h3>RDF Dataset Comparison</h3>
1011
1013
< var > DG2</ var > and any named graph < var > NG2</ var > )
1012
1014
are < dfn data-lt ="dataset isomorphism " class ="export "> dataset-isomorphic</ dfn > if and only if
1013
1015
there is a bijection < var > M</ var > between the nodes, triples and graphs in
1014
- < var > D1</ var > and those in < var > D2</ var > such that:</ p >
1016
+ < var > D1</ var > and those in < var > D2</ var > such that all of the following properties hold :</ p >
1015
1017
1016
- < ol >
1018
+ < ul >
1017
1019
< li > < var > M</ var > maps < a > blank nodes</ a > to blank nodes;</ li >
1018
1020
< li > < var > M</ var > is the identity map on < a > literals</ a > and URIs;</ li >
1019
1021
< li > For every triple <s p o>, < var > M</ var > (<s, p, o>)=
@@ -1023,7 +1025,7 @@ <h3>RDF Dataset Comparison</h3>
1023
1025
< li > < var > DG2</ var > = < var > M(DG1)</ var > ; and</ li >
1024
1026
< li > <n, G> is in < var > NG1</ var > if and only if
1025
1027
<< var > M(n)</ var > , < var > M(G)</ var > > is in < var > NG2</ var > .
1026
- </ ol >
1028
+ </ ul >
1027
1029
1028
1030
</ section >
1029
1031
@@ -1273,11 +1275,11 @@ <h3>Datatype IRIs</h3>
1273
1275
1274
1276
< ul >
1275
1277
< li > The IRI < code > http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral</ code >
1276
- refers to the datatype < code > < a > rdf:XMLLiteral</ a > </ code > </ li >
1278
+ refers to the datatype < code > < a > rdf:XMLLiteral</ a > </ code > . </ li >
1277
1279
< li > The IRI < code > http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML</ code >
1278
- refers to the datatype < code > < a > rdf:HTML</ a > </ code > </ li >
1280
+ refers to the datatype < code > < a > rdf:HTML</ a > </ code > . </ li >
1279
1281
< li > The IRI < code > http://www.w3.org/1999/02/22-rdf-syntax-ns#JSON</ code >
1280
- refers to the datatype < code > < a > rdf:JSON</ a > </ code > </ li >
1282
+ refers to the datatype < code > < a > rdf:JSON</ a > </ code > . </ li >
1281
1283
</ ul >
1282
1284
1283
1285
< p > RDF processors are not required to recognize datatype IRIs.
@@ -1443,7 +1445,7 @@ <h3>The <code>rdf:HTML</code> Datatype</h3>
1443
1445
< li > Let < code > domfrag</ code > be a DOM
1444
1446
< a data-cite ="DOM#interface-documentfragment "> < code > DocumentFragment</ code > </ a > [[DOM]]
1445
1447
whose < code > childNodes</ code > attribute is equal to < code > domnodes</ code > </ li >
1446
- < li > Return < code > domfrag.{{Node/normalize()}}</ code > </ li >
1448
+ < li > Return < code > domfrag.{{Node/normalize()}}</ code > . </ li >
1447
1449
</ ul >
1448
1450
</ dd >
1449
1451
</ dl >
@@ -1496,8 +1498,8 @@ <h3>The <code>rdf:XMLLiteral</code> Datatype</h3>
1496
1498
< ul >
1497
1499
< li > Let < code > domfrag</ code > be a DOM
1498
1500
< a data-cite ="DOM#interface-documentfragment "> < code > DocumentFragment</ code > </ a >
1499
- node [[DOM]] corresponding to the input string</ li >
1500
- < li > Return < code > domfrag.{{Node/normalize()}}</ code > </ li >
1501
+ node [[DOM]] corresponding to the input string. </ li >
1502
+ < li > Return < code > domfrag.{{Node/normalize()}}</ code > . </ li >
1501
1503
</ ul >
1502
1504
</ dd >
1503
1505
</ dl >
@@ -1550,17 +1552,17 @@ <h3>The <code>rdf:JSON</code> Datatype</h3>
1550
1552
literal values (< a data-cite ="INFRA#boolean "> `true`, `false`</ a > , and < a data-cite ="INFRA#nulls "> `null`</ a > )
1551
1553
from [[[INFRA]]] [[INFRA]] and [[[XMLSCHEMA11-2]]] [[XMLSCHEMA11-2]].
1552
1554
1553
- < p > Two values (|a| and |b|) are considered equal if:
1555
+ < p > Two values (|a| and |b|) are considered equal if any of the following are true :
1554
1556
< ul >
1555
- < li > they are the same < a > string</ a > ,
1557
+ < li > They are the same < a > string</ a > ,
1556
1558
number (< a data-cite ="XMLSCHEMA11-2#double "> < strong > xsd:double</ strong > </ a > ), or
1557
- literal value; </ li >
1558
- < li > they are both < a data-cite ="INFRA#list "> lists</ a > containing < a data-cite ="INFRA#list-item "> items</ a >
1559
+ literal value. </ li >
1560
+ < li > They are both < a data-cite ="INFRA#list "> lists</ a > containing < a data-cite ="INFRA#list-item "> items</ a >
1559
1561
which are pairwise equal – meaning that each < a data-cite ="INFRA#list-item "> item</ a >
1560
1562
in |a| is equal the < a data-cite ="INFRA#list-item "> item</ a >
1561
1563
at the corresponding index in |b|,
1562
- and both |a| and |b| have the same < a data-cite ="INFRA#list-size "> size</ a > ; or </ li >
1563
- < li > if they are both < a data-cite ="INFRA#ordered-map "> maps</ a > with equal < a data-cite ="INFRA#map-entry "> entries</ a >
1564
+ and both |a| and |b| have the same < a data-cite ="INFRA#list-size "> size</ a > . </ li >
1565
+ < li > They are both < a data-cite ="INFRA#ordered-map "> maps</ a > with equal < a data-cite ="INFRA#map-entry "> entries</ a >
1564
1566
– meaning that both |a| and |b| have the same < a data-cite ="INFRA#map-size "> size</ a > ,
1565
1567
and for each entry < var > e< sub > a</ sub > </ var > in |a|
1566
1568
there is an entry < var > e< sub > b</ sub > </ var > in |b|
0 commit comments