diff --git a/spec/index.html b/spec/index.html index 9d525b6..34e620c 100644 --- a/spec/index.html +++ b/spec/index.html @@ -418,9 +418,11 @@
string
datatype,
- and introduces the special type rdf:langString
+ and introduces the special type
+ rdf:langString
for language-tagged strings.
- The full semantics for typed literals is given in the next section.
+ The full semantics for typed literals is given in section [[[#datatypes]]].
+
Simple interpretations are required to interpret all names, @@ -751,13 +753,14 @@
RDF literals and datatypes are fully described in
Section 5 of [[!RDF12-CONCEPTS]].
- In summary: with one exception, RDF literals combine a string and an IRI identifing a datatype.
- The exception is language-tagged strings,
- which have two syntactic components, a string and a language tag,
- and are assigned the type rdf:langString
.
- A datatype is understood to define a partial mapping,
- called the
-
+ In summary: with two exceptions, RDF literals combine a string and an IRI identifying a datatype.
+ The exceptions are language-tagged strings, assigned the type rdf:langString
,
+ which have two syntactic components, a string and a language tag; and
+ directional language-tagged strings,
+ assigned the type rdf:dirLangString
,
+ which have three syntactic components, a string, a language tag, and a base direction.
+ A datatype is understood to define a partial mapping, called the
+
lexical-to-value mapping,
from a lexical space (a set of character strings) to values.
The function L2V maps datatypes to their lexical-to-value mapping.
@@ -774,18 +777,38 @@
RDF processors are not required to recognize any datatype IRIs other than
- rdf:langString
- and xsd:string
,
+ xsd:string
,
+ rdf:langString
, and
+ rdf:dirLangString
but when IRIs listed in
Section 5 of [[!RDF12-CONCEPTS]]
- are recognized, they MUST be interpreted as described there, and when the IRI rdf:PlainLiteral
is recognized, it MUST be interpreted to denote the datatype defined in [[!RDF-PLAIN-LITERAL]]. RDF processors MAY recognize other datatype IRIs, but when other datatype IRIs are recognized, the mapping between the datatype IRI and the datatype it denotes MUST be specified unambiguously, and MUST be fixed during all RDF transformations or manipulations. In practice, this can be achieved by the IRI linking to an external specification of the datatype which describes both the components of the datatype itself and the fact that the IRI identifies the datatype, thereby fixing a value of the datatype map of this IRI.
rdf:PlainLiteral
is recognized,
+ it MUST be interpreted to denote the datatype defined in [[!RDF-PLAIN-LITERAL]].
+ RDF processors MAY recognize other datatype IRIs,
+ but when other datatype IRIs are recognized,
+ the mapping between the datatype IRI and the datatype it denotes
+ MUST be specified unambiguously,
+ and MUST be fixed during all RDF transformations or manipulations.
+ In practice, this can be achieved by the IRI linking
+ to an external specification of the datatype
+ which describes both the components of the datatype itself
+ and the fact that the IRI identifies the datatype,
+ thereby fixing a value of the datatype map of this IRI.
Literals with rdf:langString
- as their datatype are an exceptional case which are given a special treatment.
- The IRI rdf:langString
is classified as a datatype IRI,
- and interpreted to denote a datatype, even though no L2V mapping is defined for it.
- The value space of rdf:langString
is the set of all pairs of a string with a language tag.
- The semantics of literals with this as their type are given below.
rdf:dirLangString
+ as their datatype IRI are given special treatment.
+ The IRIs rdf:langString
and rdf:dirLangString
+ are classified as datatype IRIs and interpreted to denote a datatype,
+ even though no L2V mapping is defined for them.
+ The value space of rdf:langString
+ is the set of all pairs of a string with a language tag.
+ The value space of rdf:dirLangString
+ is the set of all
+ 3-tuples of a string, a language tag, and a base direction.
+ The semantics of literals with either of these as their datatype are given below.
+
RDF allows any IRI to be used in a literal, even when it is not recognized as referring to a datatype. @@ -816,7 +839,10 @@
rdf:langString
is in D,
then for every language-tagged string E with lexical form sss and language tag ttt,
IL(E)= < sss, ttt' >, where ttt' is ttt converted to lower case using US-ASCII rulesrdf:dirLangString
is in D,
+ then for every directional language-tagged string E with lexical form sss,
+ language tag ttt, and base direction bbb,
+ IL(E)= < sss, ttt', bbb >, where ttt' is ttt converted to lower case using US-ASCII rulesThe special datatype rdf:langString
- has no ill-typed literals.
- Any syntactically legal literal with this type will denote a value in every
- D-interpretation where D includes rdf:langString
.
+
The special datatypes
+ rdf:langString
and
+ rdf:dirLangString
+ have no ill-typed literals.
+ Any syntactically legal literal with one of these types will denote a value in every
+ D-interpretation where D includes rdf:langString
or rdf:dirLangString
.
The only ill-typed literals of type xsd:string
are those containing a Unicode code point which does not match
the Char production in [[XML11]].
@@ -845,7 +873,6 @@
rdf:type rdf:subject rdf:predicate rdf:object
rdf:first rdf:rest rdf:value rdf:nil
- rdf:List rdf:langString rdf:Property rdf:_1 rdf:_2
+ rdf:List rdf:langString rdf:dirLangString rdf:Property rdf:_1 rdf:_2
...
An RDF interpretation recognizing D is a D-interpretation I
- where D includes rdf:langString
and xsd:string
, and which satisfies:
rdf:langString
, rdf:dirLangString
, and xsd:string
, and which satisfies: