index.html 50.5 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429
<!DOCTYPE html  PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN'  'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>rdf:PlainLiteral: A Datatype for RDF Plain Literals</title>
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
  <style type="text/css">
   .editsection { display: none; }
</style>
<link href="owl.css" rel="stylesheet" type="text/css" />
<link href="http://www.w3.org/StyleSheets/TR/W3C-REC" rel="stylesheet" type="text/css" />

  <script src="http://www.w3.org/2007/OWL/toggles.js" type="text/javascript"></script>

</head>
<body>

<div class="head">
<a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72" /></a><h1 id="title" style="clear:both"><span id="short-title">rdf:PlainLiteral: A Datatype for RDF Plain Literals</span></h1>

<h2 id="W3C-doctype">W3C Recommendation 27 October 2009</h2>

<!-- no inplace warning -->
<dl>
<dt>This version:</dt>
<dd><a href="http://www.w3.org/TR/2009/REC-rdf-plain-literal-20091027/" id="this-version-url">http://www.w3.org/TR/2009/REC-rdf-plain-literal-20091027/</a></dd>

<dt>Latest version (series 1):</dt>
<dd><a href="http://www.w3.org/TR/rdf-plain-literal-1/">http://www.w3.org/TR/rdf-plain-literal-1/</a></dd>

<dt>Latest Recommendation:</dt>
<dd><a href="http://www.w3.org/TR/rdf-plain-literal/">http://www.w3.org/TR/rdf-plain-literal/</a></dd>

<dt>Previous version:</dt>
<dd><a href="http://www.w3.org/TR/2009/PR-rdf-plain-literal-20090922/">http://www.w3.org/TR/2009/PR-rdf-plain-literal-20090922/</a> (<a href="http://www.w3.org/TR/2009/REC-rdf-plain-literal-20091027/diff-from-20090922">color-coded diff</a>)</dd>
</dl>

<dl><dt>Editors:</dt><dd><a href="http://www.cs.rpi.edu/~baojie/">Jie Bao</a>, Rensselaer Polytechnic Institute</dd>
<dd><a href="http://www.w3.org/People/Sandro/">Sandro Hawke</a>, W3C/MIT</dd>
<dd><a href="http://web.comlab.ox.ac.uk/people/Boris.Motik/">Boris Motik</a>, Oxford University Computing Laboratory</dd>
<dd><a href="http://ect.bell-labs.com/who/pfps/">Peter F. Patel-Schneider</a>, Bell Labs Research, Alcatel-Lucent</dd>
<dd><a href="http://www.polleres.net/">Axel Polleres</a>, DERI Galway at the National University of Ireland</dd>
</dl>

<p>Please refer to the <a href="http://www.w3.org/2007/OWL/errata"><strong>errata</strong></a> for this document, which may include some normative corrections.</p>

<p>This document is also available in these non-normative formats: <a href="http://www.w3.org/2009/pdf/REC-rdf-plain-literal-20091027.pdf">PDF version</a>.</p>

<p>See also <a href="http://www.w3.org/2007/OWL/translation/rdf-plain-literal">translations</a>.</p>

<p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> &copy; 2009 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>&reg;</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.org/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p>

</div>
<hr />
<h2><a id="abstract" name="abstract">Abstract</a></h2>

<div>
<div>This document presents the specification of a primitive datatype for the plain literals of RDF.</div>
</div>

<h2 class="no-toc no-num">
<a id="status" name="status">Status of this Document</a>
</h2>
    
<h4 class="no-toc no-num" id="may-be">May Be Superseded</h4>
    
<p><em>This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/">W3C technical reports index</a> at http://www.w3.org/TR/.</em></p>

    

<!-- no eventStatusExtra -->

<!-- no statusExtra -->

<div>

<h4 class="no-toc no-num" id="sotd-xml-dep">XML Schema Datatypes Dependency</h4>

<p>OWL 2 is defined to use datatypes defined in the <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Definition Language (XSD)</a>.  As of this writing, the latest W3C Recommendation for XSD is version 1.0, with <a href="http://www.w3.org/TR/xmlschema11-1/">version 1.1</a> progressing toward Recommendation.  OWL 2 has been designed to take advantage of the new datatypes and clearer explanations available in XSD 1.1, but for now those advantages are being partially put on hold.  Specifically, until XSD 1.1 becomes a W3C Recommendation, the elements of OWL 2 which are based on it should be considered <em>optional</em>, as detailed in <a href="http://www.w3.org/TR/2009/REC-owl2-conformance-20091027/#XML_Schema_Datatypes">Conformance, section 2.3</a>.  Upon the publication of XSD 1.1 as a W3C Recommendation, those elements cease to be optional and are to be considered required as otherwise specified.</p>

<p>We suggest that for now developers and users follow the <a href="http://www.w3.org/TR/2009/CR-xmlschema11-1-20090430/">XSD 1.1 Candidate Recommendation</a>.  Based on discussions between the Schema and OWL Working Groups, we do not expect any implementation changes will be necessary as XSD 1.1 advances to Recommendation.</p>
</div>



           <h4 class="no-toc no-num" id="status-changes">Summary of Changes</h4>

            <div>There have been no <a href="http://www.w3.org/2005/10/Process-20051014/tr#substantive-change">substantive</a> changes since the <a href="http://www.w3.org/TR/2009/PR-rdf-plain-literal-20090922/">previous version</a>.   For details on the minor changes see the <a href="#changelog">change log</a> and <a href="http://www.w3.org/TR/2009/REC-rdf-plain-literal-20091027/diff-from-20090922">color-coded diff</a>.</div>



<h4 class="no-toc no-num" id="please">Please Send Comments</h4><p>Please send any comments to <a class="mailto" href="mailto:public-owl-comments@w3.org">public-owl-comments@w3.org</a>
    (<a class="http" href="http://lists.w3.org/Archives/Public/public-owl-comments/">public
    archive</a>).  Although work on this document by the <a href="http://www.w3.org/2007/OWL/">OWL Working Group</a> and the <a class="http" href="http://www.w3.org/2005/rules/wg.html">Rule Interchange Format (RIF) Working Group</a>  is complete, comments may be addressed in the <a href="http://www.w3.org/2007/OWL/errata">errata</a> or in future revisions.  Open discussion among developers is welcome at <a class="mailto" href="mailto:public-owl-dev@w3.org">public-owl-dev@w3.org</a> (<a class="http" href="http://lists.w3.org/Archives/Public/public-owl-dev/">public archive</a>).</p>
    
<h4 class="no-toc no-num" id="endorsement">Endorsed By W3C</h4>
    
<p><em>This document has been reviewed by W3C Members, by software developers, and by other W3C groups and interested parties, and is endorsed by the Director as a W3C Recommendation. It is a stable document and may be used as reference material or cited from another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its widespread deployment. This enhances the functionality and interoperability of the Web.</em></p>


<h4 class="no-toc no-num" id="patents">Patents</h4>
    
<p><em>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent Policy</a>. W3C maintains a <a href="http://www.w3.org/2004/01/pp-impl/41712/status" rel="disclosure">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent.</em></p>

<hr title="Separator After Status Section" />


<table class="toc" id="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Table of Contents</h2></div>
<ul>
<li class="toclevel-1"><a href="#Introduction"><span class="tocnumber">1</span> <span class="toctext">Introduction</span></a></li>
<li class="toclevel-1"><a href="#Preliminaries"><span class="tocnumber">2</span> <span class="toctext">Preliminaries</span></a></li>
<li class="toclevel-1"><a href="#Definition_of_the_rdf:PlainLiteral_Datatype"><span class="tocnumber">3</span> <span class="toctext">Definition of the rdf:PlainLiteral Datatype</span></a></li>
<li class="toclevel-1"><a href="#Syntax_for_rdf:PlainLiteral_Literals"><span class="tocnumber">4</span> <span class="toctext">Syntax for rdf:PlainLiteral Literals</span></a></li>
<li class="toclevel-1"><a href="#Functions_on__rdf:PlainLiteral_Data_Values"><span class="tocnumber">5</span> <span class="toctext">Functions on  rdf:PlainLiteral Data Values</span></a>
<ul>
<li class="toclevel-2"><a href="#Functions_for_Assembling_and_Disassembling_rdf:PlainLiteral_Data_Values"><span class="tocnumber">5.1</span> <span class="toctext">Functions for Assembling and Disassembling rdf:PlainLiteral Data Values</span></a>
<ul>
<li class="toclevel-3"><a href="#plfn:PlainLiteral-from-string-lang"><span class="tocnumber">5.1.1</span> <span class="toctext">plfn:PlainLiteral-from-string-lang</span></a></li>
<li class="toclevel-3"><a href="#plfn:string-from-PlainLiteral"><span class="tocnumber">5.1.2</span> <span class="toctext">plfn:string-from-PlainLiteral</span></a></li>
<li class="toclevel-3"><a href="#plfn:lang-from-PlainLiteral"><span class="tocnumber">5.1.3</span> <span class="toctext">plfn:lang-from-PlainLiteral</span></a></li>
</ul>
</li>
<li class="toclevel-2"><a href="#The_Comparison_of_rdf:PlainLiteral_Data_Values"><span class="tocnumber">5.2</span> <span class="toctext">The Comparison of rdf:PlainLiteral Data Values</span></a>
<ul>
<li class="toclevel-3"><a href="#plfn:compare"><span class="tocnumber">5.2.1</span> <span class="toctext">plfn:compare</span></a></li>
</ul>
</li>
<li class="toclevel-2"><a href="#Other_Functions_on_rdf:PlainLiteral_Data_Values"><span class="tocnumber">5.3</span> <span class="toctext">Other Functions on rdf:PlainLiteral Data Values</span></a>
<ul>
<li class="toclevel-3"><a href="#plfn:length"><span class="tocnumber">5.3.1</span> <span class="toctext">plfn:length</span></a></li>
<li class="toclevel-3"><a href="#plfn:matches-language-range"><span class="tocnumber">5.3.2</span> <span class="toctext">plfn:matches-language-range</span></a></li>
</ul>
</li>
</ul>
</li>
<li class="toclevel-1"><a href="#Acknowledgments"><span class="tocnumber">6</span> <span class="toctext">Acknowledgments</span></a></li>
<li class="toclevel-1"><a href="#References"><span class="tocnumber">7</span> <span class="toctext">References</span></a></li>
<li class="toclevel-1"><a href="#Appendix:_Change_Log_.28Informative.29"><span class="tocnumber">8</span> <span class="toctext">Appendix: Change Log (Informative)</span></a>
<ul>
<li class="toclevel-2"><a href="#Changes_Since_Proposed_Recommendation"><span class="tocnumber">8.1</span> <span class="toctext">Changes Since Proposed Recommendation</span></a></li>
<li class="toclevel-2"><a href="#Changes_Since_Candidate_Recommendation"><span class="tocnumber">8.2</span> <span class="toctext">Changes Since Candidate Recommendation</span></a></li>
<li class="toclevel-2"><a href="#Changes_Since_Last_Call"><span class="tocnumber">8.3</span> <span class="toctext">Changes Since Last Call</span></a></li>
</ul>
</li>
</ul>
</td></tr></table><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
<p><br />
</p>
<a name="Introduction"></a><h2> <span class="mw-headline">1  Introduction </span></h2>
<p>The Resource Description Framework [<cite><a href="#ref-rdf-concepts" title="">RDF</a></cite>] is defined to have an extensible system of <a class="external text" href="http://www.w3.org/TR/rdf-concepts/#dfn-typed-literal" title="http://www.w3.org/TR/rdf-concepts/#dfn-typed-literal">typed literals</a>, based on XML Schema datatypes [<cite><a href="#ref-xml-schema-datatypes" title="">XSD</a></cite>], and also to have <a class="external text" href="http://www.w3.org/TR/rdf-concepts/#dfn-plain-literal" title="http://www.w3.org/TR/rdf-concepts/#dfn-plain-literal">plain literals</a>.   In the RDF specification, plain literals differ from typed literals in that plain literals have no datatype and can optionally have a language tag, indicating the natural language of the content.  (See <a class="external text" href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt" title="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">Tags for Identifying Languages</a> [<cite><a href="#ref-bcp-47" title="">BCP 47</a></cite>]).  These options for expressing RDF literals complicate  specifications which interact with RDF, such as RIF and OWL. Furthermore, RDF does not provide a name for the set of all plain literals, which, for example, prevents one from stating in RDFS or OWL that the range of some property must be a plain literal.
</p><p>In response, this specification introduces a datatype called rdf:PlainLiteral.  The datatype is in the "rdf:" namespace because it refers to parts of the conceptual model of RDF.  This extension, however, does not change that conceptual model, and thus does not affect specifications that depend on it, such as SPARQL [<cite><a href="#ref-sparql" title="">SPARQL</a></cite>].  The value space of rdf:PlainLiteral consists of all data values represented by RDF plain literals, which allows RDF applications to explicitly refer to this set (e.g., in rdfs:range assertions).
</p><p>Because RDF plain literals are already a part of RDF and SPARQL syntaxes, rdf:PlainLiteral literals are written as RDF plain literals in RDF and SPARQL syntaxes.
</p><p>As with plain literals, this datatype can associate language tags with Unicode strings, but it does not provide its own facilities for representing natural language utterances.  Unicode <a class="external text" href="http://www.w3.org/International/questions/qa-bidi-controls" title="http://www.w3.org/International/questions/qa-bidi-controls">bidirectional control characters</a> [<cite><a href="#ref-bidi" title="">BIDI</a></cite>] may be used within these literals, like all other Unicode characters.  (Richer, XML-based representations such as <a class="external text" href="http://www.w3.org/TR/xhtml1/" title="http://www.w3.org/TR/xhtml1/">XHTML</a> [<cite><a href="#ref-xhtml" title="">XHTML</a></cite>] and <a class="external text" href="http://www.w3.org/TR/ruby/#what" title="http://www.w3.org/TR/ruby/#what">Ruby annotations</a> [<cite><a href="#ref-ruby" title="">RUBY</a></cite>] can be expressed using the <a class="external text" href="http://www.w3.org/TR/rdf-concepts/#dfn-rdf-XMLLiteral" title="http://www.w3.org/TR/rdf-concepts/#dfn-rdf-XMLLiteral">rdf:XMLLiteral</a> datatype.)
</p>
<a name="Preliminaries"></a><h2> <span class="mw-headline">2  Preliminaries </span></h2>
<p>A <i>character</i> is an atomic unit of text. Each character has a Universal Character Set (UCS) code point [<cite><a href="#ref-iso-iec-10646" title="">ISO/IEC 10646</a></cite>] (or, equivalently, a Unicode code point [<cite><a href="#ref-unicode" title="">UNICODE</a></cite>]) that <em class="RFC2119" title="MUST in RFC 2119 context">MUST</em> match the <a class="external text" href="http://www.w3.org/TR/xml/#NT-Char" title="http://www.w3.org/TR/xml/#NT-Char">Char</a> production from XML [<cite><a href="#ref-xml" title="">XML</a></cite>] thus ensuring compatibility with XML Schema Datatypes [<cite><a href="#ref-xml-schema-datatypes" title="">XML Schema Datatypes</a></cite>]. Code points are sometimes represented in this document as U+ followed by a four-digit hexadecimal value of the code point.
</p><p>A <i>string</i> is a finite sequence of zero or more characters. The <i>length</i> of a string is the number of characters in it. Strings are written in this specification by enclosing them in double quotes. Two strings are identical if and only if they contain exactly the same characters in exactly the same sequence.
</p>
<div class="anexample">
<p>UCS [<cite><a href="#ref-iso-iec-10646" title="">ISO/IEC 10646</a></cite>] and Unicode [<cite><a href="#ref-unicode" title="">UNICODE</a></cite>] provide for 1,114,112 different code points. The <a class="external text" href="http://www.w3.org/TR/xml/#NT-Char" title="http://www.w3.org/TR/xml/#NT-Char">Char</a> production from XML [<cite><a href="#ref-xml" title="">XML</a></cite>], however, excludes the surrogate code points and the code points U+FFFE and U+FFFF. Thus, <tt>rdf:PlainLiteral</tt> provides a total of 1,112,033 different characters. This number is important, as it can affect the satisfiability of an OWL 2 ontology. Consider the following example:
</p>
<table class="fss">
<caption class="fss" style="display: none">Functional-Style Syntax:</caption>
<tr valign="top"><td colspan="2"> ClassAssertion( MinCardinality( <i>n</i> a:property DatatypeRestriction( xs:string xs:length 1 ) ) a:i )
</td></tr>
</table>
<p>This OWL 2 axiom states that the individual <tt>a:i</tt> is connected by the property <tt>a:property</tt> to at least <i>n</i> different strings of length one. The number of such strings is limited to 1,112,033 by the above definitions, so this ontology is satisfiable if and only if <i>n</i> is smaller than or equal to 1,112,033.
</p>
</div>
<p>A <i>language tag</i> is a string matching the <tt>langtag</tt> production from BCP 47 [<cite><a href="#ref-bcp-47" title="">BCP 47</a></cite>]. Furthermore, note that this definition corresponds to the <i>well-formed</i> rather than the <i>valid</i> class of conformance in BCP 47. A language tag <em class="RFC2119" title="MAY in RFC 2119 context">MAY</em> contain subtags that are not registered in the IANA Language Subtag Registry, although an <tt>rdf:PlainLiteral</tt> implementation <em class="RFC2119" title="MAY in RFC 2119 context">MAY</em> also choose to reject such invalid language tags.
</p>
<div class="anexample">
<p>The language tag <tt>"en-fubar"</tt> is not registered with the IANA Language Subtag Registry, so an <tt>rdf:PlainLiteral</tt> implementation is allowed to reject it. This string, however, matches the <tt>langtag</tt> production from BCP 47, so it is a perfectly valid language tag for the purpose of this specification. Consequently, the value space of <tt>rdf:PlainLiteral</tt> (see <a href="#Definition_of_the_rdf:PlainLiteral_Datatype" title="">Section 3</a> for its definition) contains, say, the pair &lt;<tt> "some string" , "en-fubar" </tt>&gt;.
</p>
</div>
<p>This specification uses Uniform Resource Identifiers (URIs), which are defined in RFC 3986 [<cite><a href="#ref-rfc-3986" title="">RFC 3986</a></cite>], for naming datatypes and their components. For readability, URIs prefixes are often abbreviated using a short prefix name according to the convention of RDF [<cite><a href="#ref-rdf-concepts" title="">RDF</a></cite>]. The following prefix names are used throughout this document:
</p>
<ul><li> the prefix name <tt>xs:</tt> stands for <tt>http://www.w3.org/2001/XMLSchema#</tt>
</li><li> the prefix name <tt>rdf:</tt> stands for <tt>http://www.w3.org/1999/02/22-rdf-syntax-ns#</tt>
</li></ul>
<p>The names of the built-in functions defined in Section 5 are QNames, as defined in the XML namespaces specification [<cite><a href="#ref-xml-namespaces" title="">XML Namespaces</a></cite>]. The following namespace abbreviations are used in Section 5:
</p>
<ul><li> <tt>fn</tt> stands for the <tt>http://www.w3.org/2005/xpath-functions</tt> namespace
</li><li> <tt>plfn</tt> stands for the <tt>http://www.w3.org/2009/rdf-PlainLiteral-functions</tt> namespace
</li></ul>
<p>Whether an expression of the form <tt>pr:ln</tt> denotes an abbreviated URI or a QName should be clear from the context: only the names of the built-in functions in Section 5 are QNames; all other such expressions denote abbreviated URIs.
</p><p>Datatypes are defined in this document along the lines of XML Schema Datatypes [<cite><a href="#ref-xml-schema-datatypes" title="">XML Schema Datatypes</a></cite>]. Each datatype is identified by a URI and is described by the following components:
</p>
<ul><li> The <i>value space</i> is a set determining the set of values of the datatype. Elements of the value space are called <i>data values</i>.
</li><li> The <i>lexical space</i> is a set of strings that can be used to refer to data values. Each member of the lexical space is called a <i>lexical form</i>, and it is mapped to a particular data value.
</li><li> The <i>facet space</i> is a set of facet pairs of the form <tt>( F v )</tt>, where <tt>F</tt> is a URI called a <i>constraining facet</i>, and <tt>v</tt> is an arbitrary data value called a <i>constraining value</i>. Each such facet pair is mapped to a subset of the value space of the datatype.
</li></ul>
<p>A <i>plain literal</i> is a string with an optional language tag [<cite><a href="#ref-rdf-concepts" title="">RDF</a></cite>]. A plain literal without a language tag is interpreted in an RDF interpretation [<cite><a href="#ref-rdf-semantics" title="">RDF Semantics</a></cite>] by itself. A plain literal with a language tag can be written as <tt>"<i>abc</i>"@<i>langTag</i></tt>, and is interpreted in an RDF interpretation as a pair &lt;<tt> "<i>abc</i>" , "<i>langTag</i>" </tt>&gt;.
</p><p>A <i>typed literal</i> consists of a string and a datatype URI [<cite><a href="#ref-rdf-concepts" title="">RDF</a></cite>] and can be written as <tt>"abc"^^datatypeURI</tt>.
Given an RDF datatype identified by <tt>datatypeURI</tt>,
an RDF datatyped-interpretation that includes the datatype interprets the typed literal as the data value that the datatype assigns to the lexical form <tt>"abc"</tt>.
</p><p>The italicized keywords <em class="RFC2119" title="MUST in RFC 2119 context">MUST</em>, <em class="RFC2119" title="MUST NOT in RFC 2119 context">MUST NOT</em>, <em class="RFC2119" title="SHOULD in RFC 2119 context">SHOULD</em>, <em class="RFC2119" title="SHOULD NOT in RFC 2119 context">SHOULD NOT</em>, and <em class="RFC2119" title="MAY in RFC 2119 context">MAY</em> specify certain aspects of the normative behavior of tools implementing this specification, and are interpreted as specified in RFC 2119 [<cite><a href="#ref-rfc-2119" title="">RFC 2119</a></cite>].
</p>
<a name="Definition_of_the_rdf:PlainLiteral_Datatype"></a><h2> <span class="mw-headline">3  Definition of the <tt>rdf:PlainLiteral</tt> Datatype </span></h2>
<p>The datatype identified by the URI <tt>http://www.w3.org/1999/02/22-rdf-syntax-ns#PlainLiteral</tt> (abbreviated <tt>rdf:PlainLiteral</tt>) is defined as follows.
</p><p><b>Value Space.</b> The value space of <tt>rdf:PlainLiteral</tt> consists of
</p>
<ul><li> all strings, and
</li><li> all pairs of the form &lt;<tt> "<i>abc</i>" , "<i>lc-langtag</i>" </tt>&gt; where <tt>"<i>abc</i>"</tt> is a string and <tt>"<i>lc-langtag</i>"</tt> is a lowercase language tag.
</li></ul>
<p><b>Lexical Space.</b> An <tt>rdf:PlainLiteral</tt> lexical form is a string of the form <tt>"<i>abc</i>@<i>langTag</i>"</tt> where <tt>"<i>abc</i>"</tt> is an arbitrary (possibly empty) string, and <tt>"<i>langTag</i>"</tt> is either the empty string or a (not necessarily lowercase) language tag. Each such lexical form is mapped to a data value <tt>dv</tt> as follows:
</p>
<ul><li> If <tt>"<i>langTag</i>"</tt> is empty, then <tt>dv</tt> is equal to the string <tt>"<i>abc</i>"</tt> and
</li><li> If <tt>"<i>langTag</i>"</tt> is not empty, then <tt>dv</tt> is equal to the pair &lt;<tt> "<i>abc</i>", "<i>lc-langtag</i>" </tt>&gt; where <tt>"<i>lc-langtag</i>"</tt> is <tt>"<i>langTag</i>"</tt> normalized to lowercase.
</li></ul>
<div class="anexample">
<p>The following table shows several <tt>rdf:PlainLiteral</tt> lexical forms and their corresponding data values.
</p>
<table border="1" cellpadding="10" style="border-collapse: collapse">

<tr>
<th> Lexical form
</th><th> Corresponding data value
</th></tr>
<tr>
<td> <tt>"Family Guy@en"</tt>
</td><td> &lt;<tt> "Family Guy" , "en" </tt>&gt;
</td></tr>
<tr>
<td> <tt>"Family Guy@EN"</tt>
</td><td> &lt;<tt> "Family Guy" , "en" </tt>&gt;
</td></tr>
<tr>
<td> <tt>"Family Guy@FOX@en"</tt>
</td><td> &lt;<tt> "Family Guy@FOX" , "en" </tt>&gt;
</td></tr>
<tr>
<td> <tt>"Family Guy@"</tt>
</td><td> <tt>"Family Guy"</tt>
</td></tr>
<tr>
<td> <tt>"Family Guy@FOX@"</tt>
</td><td> <tt>"Family Guy@FOX"</tt>
</td></tr>
</table>
<p>The following table shows several of strings that are not <tt>rdf:PlainLiteral</tt> lexical forms.
</p>
<table border="1" cellpadding="10" style="border-collapse: collapse">

<tr>
<th> String
</th><th> The reason for not being an <tt>rdf:PlainLiteral</tt> lexical form
</th></tr>
<tr>
<td> <tt>"Family Guy"</tt>
</td><td> does not contain at least one <tt>@</tt> (U+0040) character
</td></tr>
<tr>
<td> <tt>"Family Guy@12"</tt>
</td><td> <tt>"12"</tt> is not a language tag according to BCP 47
</td></tr>
</table>
</div>
<p><b>Facet Space.</b> The facet space of <tt>rdf:PlainLiteral</tt> is defined as shown in Table 1.
</p>
<div class="center">
<table border="1" cellpadding="5" style="text-align: left">
<caption> <span class="caption">Table 1.</span> The Facet Space of <tt>rdf:PlainLiteral</tt>
</caption><tr>
<th> A facet pair <tt>( F v )</tt> is in the facet space of <tt>rdf:PlainLiteral</tt> if...
</th><th> Each such facet pair is mapped to the subset of the value space of <tt>rdf:PlainLiteral</tt> containing...
</th></tr>
<tr>
<td> ...<tt>F</tt> is <tt>xs:length</tt>,<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>xs:minLength</tt>,<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>xs:maxLength</tt>,<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>xs:pattern</tt>,<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>xs:enumeration</tt>, or<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>xs:assertion</tt> and <tt>( F v )</tt> is in the facet space of <tt>xs:string</tt>.
</td><td> ...all strings of the form <tt>"<i>abc</i>"</tt> and all pairs of the form &lt;<tt> "<i>abc</i>" , "<i>lc-langtag</i>" </tt>&gt; such that <tt>"<i>abc</i>"</tt> is contained in the subset of the value space of <tt>xs:string</tt> determined by <tt>( F v )</tt> as specified by XML Schema Datatypes [<cite><a href="#ref-xml-schema-datatypes" title="">XML Schema Datatypes</a></cite>].
</td></tr>
<tr>
<td>  ...<tt>F</tt> is <span id="langRange"><tt>rdf:langRange</tt></span> and<br /> <tt>v</tt> is an <i>extended language range</i> as specified in Section 2.2 of [<cite><a href="#ref-rfc-4647" title="">RFC4647</a></cite>].
</td><td> ...all pairs of the form &lt;<tt> "<i>abc</i>" , "<i>lc-langtag</i>" </tt>&gt; such that <tt>"<i>lc-langtag</i>"</tt> matches <tt>v</tt> under <i>extended filtering</i> as specified in Section 3.3.2 of [<cite><a href="#ref-rfc-4647" title="">RFC4647</a></cite>].
</td></tr>
</table>
</div>
<div class="anexample">
<p>The facet <tt>xs:length</tt> can be used to refer to a subset of strings of a particular length regardless of whether they have a language tag or not. Thus, the subset of the value space of <tt>rdf:PlainLiteral</tt> corresponding to the facet pair <tt>( xs:length 3 )</tt> contains the string <tt>"abc"</tt>, as well as the pairs &lt;<tt> "abc" , "en" </tt>&gt; and &lt;<tt> "abc" , "de" </tt>&gt;.
</p>
</div>
<div class="anexample">
<p>The facet <tt>rdf:langRange</tt> can be used to refer to a subset of strings containing the language tag. Note that the language range need not be in lowercase, and that the matching algorithm is case-insensitive. Thus, the subset of the value space of <tt>rdf:PlainLiteral</tt> corresponding to the facet pair <tt>( rdf:langRange "de-DE" )</tt> contains the pairs &lt;<tt> "abc" , "de-de" </tt>&gt; and &lt;<tt> "abc" , "de-de-1996" </tt>&gt; (because these match the language range <tt>"de-DE"</tt> according to RFC 4647), but not the string <tt>"abc"</tt> (because it is not a pair with a language tag) or the pairs &lt;<tt> "abc" , "de-deva" </tt>&gt; and &lt;<tt> "abc" , "de-latn-de" </tt>&gt; (because these do not match the language range <tt>"de-DE"</tt> according to RFC 4647).
</p>
</div>
<div class="anexample">
<p>The facet pair <tt>( rdf:langRange "*" )</tt> is mapped to the subset of the value space of <tt>rdf:PlainLiteral</tt> containing all pairs of the form &lt;<tt> "<i>abc</i>" , "<i>lc-langtag</i>" </tt>&gt;. In languages such as OWL 2, this can be used to specify that a data value must contain a language tag.
</p>
</div>
<a name="Syntax_for_rdf:PlainLiteral_Literals"></a><h2> <span class="mw-headline">4  Syntax for rdf:PlainLiteral Literals </span></h2>
<p>It follows from the above that in datatyped interpretations that include the rdf:PlainLiteral datatype, the value space of rdf:PlainLiteral contains exactly all data values assigned to plain literals (with or without a language tag).  The rdf:PlainLiteral datatype thus provides an explicit way of referring to this set.
</p><p>To eliminate another source of syntactic redundancy and to retain a large degree of interoperability with applications that do not understand the rdf:PlainLiteral datatype, the form of rdf:PlainLiteral literals in syntaxes for RDF graphs and for SPARQL is the already existing syntax for the corresponding plain literal, not the syntax for a typed literal.  Therefore, typed literals with rdf:PlainLiteral as the datatype are considered by this specification to be not valid in syntaxes for RDF graphs or SPARQL.
</p><p>To implement this design and provide this interoperability, applications that employ this datatype <em class="RFC2119" title="MUST in RFC 2119 context">MUST</em> use plain literals (instead of rdf:PlainLiteral typed literals) whenever a syntax for plain literals is provided, such as in existing syntaxes for RDF graphs and SPARQL results.
</p><p>Additionally, systems may need similar restrictions for non-syntactic public interfaces.  For instance, in <a class="external text" href="http://www.w3.org/TR/rdf-sparql-query/#sparqlBGPExtend" title="http://www.w3.org/TR/rdf-sparql-query/#sparqlBGPExtend">extended SPARQL basic graph matching</a>, the results of matching SPARQL basic graph patterns in an entailment regime that understands rdf:PlainLiteral <em class="RFC2119" title="MUST in RFC 2119 context">MUST</em> provide variable bindings in existing RDF plain literal form.
</p>
<a name="Functions_on__rdf:PlainLiteral_Data_Values"></a><h2> <span class="mw-headline">5  Functions on  <tt>rdf:PlainLiteral</tt> Data Values </span></h2>
<p>This section defines functions that construct and operate on <tt>rdf:PlainLiteral</tt> data values. The terminology used and the way in which these functions are described are in accordance with the XQuery 1.0 and XPath 2.0 Functions and Operators [<cite><a href="#ref-xpath-func" title="">XPathFunc</a></cite>]. Each function is identified by a QName [<cite><a href="#ref-xml-namespaces" title="">XML Namespaces</a></cite>]. The error codes used in this section are given in Appendix G of the XPath 2.0 specification [<cite><a href="#ref-xpath20" title="">XPath20</a></cite>] and Appendix C of XQuery and XPath function specification [<cite><a href="#ref-xpath-func" title="">XPathFunc</a></cite>].
</p>
<a name="Functions_for_Assembling_and_Disassembling_rdf:PlainLiteral_Data_Values"></a><h3> <span class="mw-headline">5.1  Functions for Assembling and Disassembling <tt>rdf:PlainLiteral</tt> Data Values </span></h3>
<a name="plfn:PlainLiteral-from-string-lang"></a><h4> <span class="mw-headline">5.1.1  <tt>plfn:PlainLiteral-from-string-lang</tt> </span></h4>
<pre>plfn:PlainLiteral-from-string-lang( $arg1 as xs:string, $arg2 as xs:string) as rdf:PlainLiteral
</pre>
<p>Summary: returns the data value &lt;<tt> $arg1, lowercase($arg2) </tt>&gt; if <tt>$arg2</tt> is present, and returns the data value <tt>$arg1</tt> otherwise. Both arguments must be of type <tt>xs:string</tt> or one of its subtypes, and <tt>$arg2</tt> &mdash; if present &mdash; must be a (nonempty) language tag; otherwise, this function raises type error <a class="external text" href="http://www.w3.org/TR/xpath-functions/#ERRFORG0006" title="http://www.w3.org/TR/xpath-functions/#ERRFORG0006">err:FORG0006</a>. Note that, since in the value space of <tt>rdf:PlainLiteral</tt> language tags are in lowercase, this function converts <tt>$arg2</tt> to lowercase.
</p>
<a name="plfn:string-from-PlainLiteral"></a><h4> <span class="mw-headline">5.1.2  <tt> plfn:string-from-PlainLiteral</tt> </span></h4>
<pre> plfn:string-from-PlainLiteral( $arg as rdf:PlainLiteral) as xs:string
</pre>
<p>Summary: returns the string part <tt>s</tt> if <tt>$arg</tt> is a <tt>rdf:PlainLiteral</tt> data value of the form &lt;<tt> s, l </tt>&gt; or of the form <tt>s</tt>. If <tt>$arg</tt> is not of type <tt>rdf:PlainLiteral</tt>, this function raises type error <a class="external text" href="http://www.w3.org/TR/xpath-functions/#ERRFORG0006" title="http://www.w3.org/TR/xpath-functions/#ERRFORG0006">err:FORG0006</a>.
</p>
<a name="plfn:lang-from-PlainLiteral"></a><h4> <span class="mw-headline">5.1.3  <tt> plfn:lang-from-PlainLiteral</tt> </span></h4>
<pre> plfn:lang-from-PlainLiteral( $arg as rdf:PlainLiteral ) as xs:language
</pre>
<p>Summary: returns the language tag <tt>l</tt> if <tt>$arg</tt> is an <tt>rdf:PlainLiteral</tt> data value of the form &lt;<tt> s, l </tt>&gt;, and returns the empty string if  <tt>$arg</tt> is an <tt>rdf:PlainLiteral</tt> data value of the form <tt>s</tt>. If <tt>$arg </tt> is not of type <tt>rdf:PlainLiteral</tt>, this function raises type error <a class="external text" href="http://www.w3.org/TR/xpath-functions/#ERRFORG0006" title="http://www.w3.org/TR/xpath-functions/#ERRFORG0006">err:FORG0006</a>.
</p>
<a name="The_Comparison_of_rdf:PlainLiteral_Data_Values"></a><h3> <span class="mw-headline">5.2  The Comparison of <tt>rdf:PlainLiteral</tt> Data Values </span></h3>
<p>The notion of collations used in this section is taken from <a class="external text" href="http://www.w3.org/TR/xpath-functions/#collations" title="http://www.w3.org/TR/xpath-functions/#collations">Section 7.3.1</a> of XPath and XQuery function specification [<cite><a href="#ref-xpath-func" title="">XPathFunc</a></cite>].
</p>
<a name="plfn:compare"></a><h4> <span class="mw-headline">5.2.1  <tt> plfn:compare</tt> </span></h4>
<pre> plfn:compare( $comparand1  as rdf:PlainLiteral?, $comparand2 as rdf:PlainLiteral? ) as xs:integer?
</pre>
<pre> plfn:compare( $comparand1  as rdf:PlainLiteral?, $comparand2 as rdf:PlainLiteral?, $collation as xs:string )  as xs:integer?
</pre>
<p>Summary: if either <tt>$comparand1</tt> or <tt>$comparand2</tt> is not of type <tt>rdf:PlainLiteral</tt>, of if <tt>$collation</tt> is specified but is not of type <tt>xs:string</tt>, this function raises type error <a class="external text" href="http://www.w3.org/TR/xpath-functions/#ERRFORG0006" title="http://www.w3.org/TR/xpath-functions/#ERRFORG0006">err:FORG0006</a>. Otherwise, the function returns the empty sequence if one of the arguments is empty, if one of <tt>$comparand1</tt> and <tt>$comparand2</tt> has a language tag and the other one does not, or if the language parts of <tt>$comparand1</tt> and <tt>$comparand2</tt> are unequal; otherwise, this function returns -1, 0, or 1 depending on whether the value of the string-part of <tt>$comparand1</tt> (or <tt>$comparand1</tt> itself if it has no language tag) is respectively less than, equal to, or greater than the value of the string-part of <tt>$comparand2</tt> (or <tt>$comparand2</tt> itself if it has no language tag). The collation used by the invocation of this function is determined according to the rules in Section 7.3.1 of the XPath and XQuery functions specification [<cite><a href="#ref-xpath-func" title="">XPathFunc</a></cite>]. 
</p><p>The first version of this function enables the comparison of <tt>rdf:PlainLiteral</tt> values using the XQuery operators <tt>"eq"</tt>, <tt>"ne"</tt>, <tt>"gt"</tt>, <tt>"lt"</tt>, <tt>"le"</tt>, and <tt>"ge"</tt>.
</p><p>The two functions may be viewed as declared XQuery functions with the following definitions:
</p>
<pre>declare function  plfn:compare( $comparand1 as rdf:PlainLiteral?, $comparand2 as rdf:PlainLiteral? ) as xs:integer?
 {
  return
    if ( fn:empty($comparand1) ) then $comparand1
    else if ( fn:empty($comparand2) ) then $comparand2
    else if ( fn:compare (  plfn:lang-from-PlainLiteral( $comparand1 ), plfn:lang-from-PlainLiteral( $comparand2 ) ) = 0 ) then
       fn:compare (  plfn:string-from-PlainLiteral( $comparand1 ), plfn:string-from-PlainLiteral( $comparand2 ) )
 }
</pre>
<pre>declare function  plfn:compare( $comparand1  as rdf:PlainLiteral?, $comparand2 as rdf:PlainLiteral? $collation as xs:string ) as xs:integer?
 {
  return
   if ( fn:empty($comparand1) ) then $comparand1
   else if ( fn:empty($comparand2) ) then $comparand2
   else if ( fn:compare ( plfn:lang-from-PlainLiteral( $comparand1 ),   plfn:lang-from-PlainLiteral( $comparand2 ) ) = 0 ) then
       fn:compare (  plfn:string-from-PlainLiteral( $comparand1 ) ,  plfn:string-from-PlainLiteral( $comparand2 ), $collation)
 }
</pre>
<a name="Other_Functions_on_rdf:PlainLiteral_Data_Values"></a><h3> <span class="mw-headline">5.3  Other Functions on <tt>rdf:PlainLiteral</tt> Data Values </span></h3>
<a name="plfn:length"></a><h4> <span class="mw-headline">5.3.1  <tt> plfn:length</tt> </span></h4>
<pre> plfn:length($arg as rdf:PlainLiteral) as xs:integer
</pre>
<p>Summary: returns the number of characters in the string part <tt>s</tt> if <tt>$arg</tt> is an <tt>rdf:PlainLiteral</tt> data value of the form &lt;<tt> s, l </tt>&gt; or a string value <tt>s</tt>, respectively. If <tt>$arg</tt> is not of type <tt>rdf:PlainLiteral</tt>, this function raises type error <a class="external text" href="http://www.w3.org/TR/xpath-functions/#ERRFORG0006" title="http://www.w3.org/TR/xpath-functions/#ERRFORG0006">err:FORG0006</a>.
</p><p>This function may be viewed as a declared XQuery function with the following definition:
</p>
<pre>declare function  plfn:length($arg as rdf:PlainLiteral?) as xs:integer
 {
  return
     fn:string-length (  plfn:string-from-PlainLiteral( $arg ) )
 }
</pre>
<a name="plfn:matches-language-range"></a><h4> <span class="mw-headline">5.3.2  <tt> plfn:matches-language-range</tt> </span></h4>
<pre> plfn:matches-language-range($arg as rdf:PlainLiteral?, $range as xs:string) as xs:boolean
</pre>
<p>Summary: This function is only defined if <tt>$arg</tt> is a sequence of length 0 or 1 of literals of type <tt>rdf:PlainLiteral</tt> and <tt>$range</tt> is of type <tt>xs:string</tt>; if the parameters do not satisfy these typing conditions, the function raises a type error err:FORG0006. If the typing conditions are fulfilled, the function returns <tt>true</tt> in case <tt>$arg</tt> is an <tt>rdf:PlainLiteral</tt> data value of the form &lt;<tt> s, l </tt>&gt; with <tt>l</tt> a language tag that matches the extended language range <tt>$range</tt> as specified by the extended filtering algorithm for "Matching of Language Tags" [<cite><a href="#ref-bcp-47" title="">BCP-47</a></cite>]; otherwise, it returns <tt>false</tt>. This  means that the function returns <tt>false</tt> if the argument <tt>$arg</tt> is a string <tt>rdf:PlainLiteral</tt> data value. An empty input sequence is treated as a <tt>rdf:PlainLiteral</tt> data value consisting of the empty string, and accordingly on such input this function also returns <tt>false</tt>.
</p>
<a name="Acknowledgments"></a><h2> <span class="mw-headline">6  Acknowledgments </span></h2>
<p>The RIF and OWL Working Groups made parallel efforts to support strings with associated language tags, as found in RDF. This specification is the outcome of a collaboration between the two groups, and it is based on the work on the datatypes  <tt>rif:text</tt> and <tt>owl:internationalizedString</tt>.
</p><p>In addition to members and chairs of both Working Groups, the editors would like to thank Addison Phillips, C. Michael Sperberg-McQueen, Eric Prud'hommeaux, Andy Seaborne, and Pat Hayes, along with other participants of the <a class="external text" href="http://lists.w3.org/Archives/Public/public-rdf-text/" title="http://lists.w3.org/Archives/Public/public-rdf-text/">public-rdf-text</a> mailing list, for their assistance in working out the details of this specification.
</p>
<a name="References"></a><h2> <span class="mw-headline">7  References </span></h2>
<dl><dt> <span id="ref-bcp-47">[BCP 47]</span>
</dt><dd> <cite><a class="external text" href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt" title="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">BCP 47 - Tags for Identifying Languages</a></cite>. A. Phillips and M. Davis, eds.  IETF, September 2006. http://www.rfc-editor.org/rfc/bcp/bcp47.txt
</dd><dt> <span id="ref-bidi">[BIDI]</span>
</dt><dd> <cite><a class="external text" href="http://www.w3.org/International/questions/qa-bidi-controls" title="http://www.w3.org/International/questions/qa-bidi-controls">Unicode controls vs. markup for bidi support</a></cite>, Richard Ishida.   Retrieved 11 June 2009 from http://www.w3.org/International/questions/qa-bidi-controls.
</dd><dt><span id="ref-iso-iec-10646">[ISO/IEC 10646]</span>
</dt><dd> <cite>ISO/IEC 10646-1:2000. Information technology - Universal Multiple-Octet Coded Character Set (UCS) - Part 1: Architecture and Basic Multilingual Plane and ISO/IEC 10646-2:2001. Information technology - Universal Multiple-Octet Coded Character Set (UCS) - Part 2: Supplementary Planes, as, from time to time, amended, replaced by a new edition or expanded by the addition of new parts. [Geneva]: International Organization for Standardization.</cite> ISO (International Organization for Standardization).
</dd><dt> <span id="ref-rdf-concepts">[RDF Concepts]</span>
</dt><dd> <cite><a class="external text" href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/" title="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">Resource Description Framework (RDF): Concepts and Abstract Syntax</a></cite>. Graham Klyne and Jeremy J. Carroll, eds. W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/.  Latest version available as http://www.w3.org/TR/rdf-concepts/.
</dd><dt> <span id="ref-rdf-semantics">[RDF Semantics]</span>
</dt><dd> <cite><a class="external text" href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210/" title="http://www.w3.org/TR/2004/REC-rdf-mt-20040210/">RDF Semantics</a></cite>. Patrick Hayes, ed., W3C Recommendation, 10 February 2004, http://www.w3.org/TR/2004/REC-rdf-mt-20040210/.  Latest version available as http://www.w3.org/TR/rdf-mt/.
</dd><dt> <span id="ref-rfc-2119">[RFC 2119]</span>
</dt><dd> <cite><a class="external text" href="http://www.ietf.org/rfc/rfc2119.txt" title="http://www.ietf.org/rfc/rfc2119.txt">RFC 2119: Key words for use in RFCs to Indicate Requirement Levels</a></cite>. Network Working Group, S. Bradner. IETF, March 1997, http://www.ietf.org/rfc/rfc2119.txt
</dd><dt> <span id="ref-rfc-3986">[<a class="external" href="http://tools.ietf.org/html/rfc3986" title="http://tools.ietf.org/html/rfc3986">RFC 3986</a>]</span>
</dt><dd> <cite><a class="external text" href="http://www.ietf.org/rfc/rfc3986.txt" title="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986: Uniform Resource Identifier (URI): Generic Syntax</a></cite>. T. Berners-Lee, R. Fielding, and L. Masinter. IETF, January 2005, http://www.ietf.org/rfc/rfc3986.txt
</dd><dt> <span id="ref-rfc-4647">[RFC 4647]</span>
</dt><dd> <cite><a class="external text" href="http://www.rfc-editor.org/rfc/rfc4647.txt" title="http://www.rfc-editor.org/rfc/rfc4647.txt">RFC 4647 - Matching of Language Tags</a></cite>. A. Phillips and M. Davis, IETF, September 2006.         
</dd><dt> <span id="ref-ruby">[Ruby]</span>
</dt><dd> <cite><a class="external text" href="http://www.w3.org/TR/2001/REC-ruby-20010531" title="http://www.w3.org/TR/2001/REC-ruby-20010531">Ruby Annotation</a></cite>, M. Sawicki, M. Ishikawa, M. J. D&uuml;rst, T. Texin, M. Suignard, Editors, W3C Recommendation, 31 May 2001, http://www.w3.org/TR/2001/REC-ruby-20010531 . <a class="external text" href="http://www.w3.org/TR/ruby/" title="http://www.w3.org/TR/ruby/">Latest version</a> available at http://www.w3.org/TR/ruby/ .
</dd><dt> <span id="ref-sparql">[SPARQL]</span>
</dt><dd> <cite><a class="external text" href="http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115/" title="http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115/">SPARQL Query Language for RDF</a></cite>. Eric Prud'hommeaux and Andy Seaborne, eds. W3C Recommendation, 15 January 2008, http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115/.  Latest version available as http://www.w3.org/TR/rdf-sparql-query/.
</dd><dt> <span id="ref-unicode">[UNICODE]</span>
</dt><dd> <cite><a class="external text" href="http://www.unicode.org/unicode/standard/versions/" title="http://www.unicode.org/unicode/standard/versions/">The Unicode Standard</a></cite>. Unicode The Unicode Consortium, Version  5.1.0, ISBN 0-321-48091-0, as updated from time to time by the publication of new versions. (See <a class="external free" href="http://www.unicode.org/unicode/standard/versions" title="http://www.unicode.org/unicode/standard/versions">http://www.unicode.org/unicode/standard/versions</a> for the latest version and additional information on versions of the standard and of the Unicode Character Database)."   
</dd><dt> <span id="ref-xhtml">[XHTML]</span>
</dt><dd> <cite><a class="external text" href="http://www.w3.org/TR/2002/REC-xhtml1-20020801" title="http://www.w3.org/TR/2002/REC-xhtml1-20020801">XHTML&trade; 1.0 The Extensible HyperText Markup Language (Second Edition)</a></cite>, S. Pemberton, Editor, W3C Recommendation, 1 August 2002, http://www.w3.org/TR/2002/REC-xhtml1-20020801 . <a class="external text" href="http://www.w3.org/TR/xhtml1" title="http://www.w3.org/TR/xhtml1">Latest version</a> available at http://www.w3.org/TR/xhtml1 .
</dd><dt> <span id="ref-xml-namespaces">[XML Namespaces]</span>
</dt><dd> <cite><a class="external text" href="http://www.w3.org/TR/2006/REC-xml-names-20060816/" title="http://www.w3.org/TR/2006/REC-xml-names-20060816/">Namespaces in XML 1.0 (Second Edition)</a></cite>. Tim Bray, Dave Hollander, Andrew Layman, and Richard Tobin, eds. W3C Recommendation, 16 August 2006, http://www.w3.org/TR/2006/REC-xml-names-20060816/. Latest version available as http://www.w3.org/TR/REC-xml-names/.
</dd><dt> <span id="ref-xml-schema-datatypes">[XML Schema Datatypes]</span>
</dt><dd> <cite><a class="external text" href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/" title="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">XML Schema Part 2: Datatypes Second Edition</a></cite>. Paul V. Biron, and Ashok Malhotra, eds. W3C Recommendation 28 October 2004, http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/. Latest version available as http://www.w3.org/TR/xmlschema-2/. This reference is to be considered a reference to <a class="external text" href="http://www.w3.org/TR/xmlschema11-2/" title="http://www.w3.org/TR/xmlschema11-2/">XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes</a> upon its expected publication as a W3C Recommendation (see <a href="http://www.w3.org/TR/2009/REC-owl2-conformance-20091027/#XML_Schema_Datatypes" title="Conformance">Section 2.3</a> in OWL 2 Conformance). The (non-normative) version of the XSD 1.1 document available at publication time is the <a class="external text" href="http://www.w3.org/TR/2009/CR-xmlschema11-2-20090430/" title="http://www.w3.org/TR/2009/CR-xmlschema11-2-20090430/">30 April 2009 Candidate Recommendation</a>.
</dd><dt> <span id="ref-xml">[XML]</span>
</dt><dd> <cite><a class="external text" href="http://www.w3.org/TR/2008/REC-xml-20081126/" title="http://www.w3.org/TR/2008/REC-xml-20081126/">Extensible Markup Language (XML) 1.0 (Fifth Edition)</a></cite>. Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, and Fran&ccedil;ois Yergeau, eds. W3C Recommendation, 26 November 2008, http://www.w3.org/TR/2008/REC-xml-20081126/.  Latest version available as http://www.w3.org/TR/xml/.
</dd><dt> <span id="ref-xpath-func">[XPathFunc]</span>
</dt><dd> <cite><a class="external text" href="http://www.w3.org/TR/xpath-functions/" title="http://www.w3.org/TR/xpath-functions/">XQuery 1.0 and XPath 2.0 Functions and Operators</a></cite>. Ashok Malhotra, Jim Melton, and Norman Walsh, eds. W3C Recommendation 23 January 2007.
</dd><dt> <span id="ref-xpath20">[XPath20]</span>
</dt><dd> <cite><a class="external text" href="http://www.w3.org/TR/xpath20/" title="http://www.w3.org/TR/xpath20/">XML Path Language (XPath) 2.0</a></cite>. Anders Berglund, Scott Boag, Don Chamberlin, Mary F. Fern&aacute;ndez, Michael Kay, Jonathan Robie, and J&eacute;r&ocirc;me Sim&eacute;on, eds. W3C Recommendation 23 January 2007.
</dd></dl>
<div id="changelog">
<a name="Appendix:_Change_Log_.28Informative.29"></a><h2> <span class="mw-headline">8  Appendix: Change Log (Informative) </span></h2>
<a name="Changes_Since_Proposed_Recommendation"></a><h3> <span class="mw-headline">8.1  Changes Since Proposed Recommendation </span></h3>
<p>This section summarizes the changes to this document since the <a class="external text" href="http://www.w3.org/TR/2009/PR-rdf-plain-literal-20090922/" title="http://www.w3.org/TR/2009/PR-rdf-plain-literal-20090922/">Proposed Recommendation</a> of 22 September, 2009.
</p>
<ul><li> Several editorial clarifications and improvements were made.
</li></ul>
<a name="Changes_Since_Candidate_Recommendation"></a><h3> <span class="mw-headline">8.2  Changes Since Candidate Recommendation </span></h3>
<p>This section summarizes the changes to this document since the <a class="external text" href="http://www.w3.org/TR/2009/CR-rdf-plain-literal-20090611/" title="http://www.w3.org/TR/2009/CR-rdf-plain-literal-20090611/">Candidate Recommendation</a> of 11 June, 2009.
</p>
<ul><li> The "At Risk" warnings were removed.    The indicated features remain in the document.
</li><li> An error in the order of parameters in an example was corrected
</li><li> xs:assertions and xs:lang were corrected to xs:assertion and xs:language
</li><li> The references to XML Schema Datatypes were rephrased to account for version 1.1 not yet being a Recommendation
</li></ul>
<a name="Changes_Since_Last_Call"></a><h3> <span class="mw-headline">8.3  Changes Since Last Call </span></h3>
<p>Since the <a class="external text" href="http://www.w3.org/TR/2009/WD-rdf-text-20090421/" title="http://www.w3.org/TR/2009/WD-rdf-text-20090421/">last call draft</a> of 21 April 2009, the following changes have been made:
</p>
<ul><li> The name of the datatype was changed from rdf:text to rdf:PlainLiteral, to clarify the role and purpose of the datatype
</li><li> The names of the builtins and their namespace were changed to match the change in the name of the datatype
</li><li> The introduction and section 4 were rewritten to reframe this datatype as having a special relationship to RDF plain literals.
</li><li> The notion of an entailment relationship between plain literals and rdf:PlainLiteral typed literals was removed, since rdf:PlainLiterals are now more clearly understood to  not occur in RDF graph syntaxes.
</li><li> The characters used to delimit pairs was changed, since problems were reported with &amp;lang; and &amp;rang; in some browsers
</li></ul>
</div>


</body>
</html>