--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-concepts/Overview.html Wed Aug 17 16:19:12 2011 +0100
@@ -0,0 +1,1589 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html lang="en" dir="ltr" about="" property="dcterms:language" content="en" prefix="dcterms: http://purl.org/dc/terms/ bibo: http://purl.org/ontology/bibo/ foaf: http://xmlns.com/foaf/0.1/ xsd: http://www.w3.org/2001/XMLSchema#">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>RDF 1.1 Concepts and Abstract Syntax</title>
+ <style>
+.figure { font-weight: bold; text-align: center; }
+ </style>
+
+
+ <style type="text/css">
+/*****************************************************************
+ * ReSpec CSS
+ * Robin Berjon (robin at berjon dot com)
+ * v0.05 - 2009-07-31
+ *****************************************************************/
+
+
+/* --- INLINES --- */
+em.rfc2119 {
+ text-transform: lowercase;
+ font-variant: small-caps;
+ font-style: normal;
+ color: #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+ border: none;
+}
+
+dfn {
+ font-weight: bold;
+}
+
+a.internalDFN {
+ color: inherit;
+ border-bottom: 1px solid #99c;
+ text-decoration: none;
+}
+
+a.externalDFN {
+ color: inherit;
+ border-bottom: 1px dotted #ccc;
+ text-decoration: none;
+}
+
+a.bibref {
+ text-decoration: none;
+}
+
+code {
+ color: #ff4500;
+}
+
+
+/* --- WEB IDL --- */
+pre.idl {
+ border-top: 1px solid #90b8de;
+ border-bottom: 1px solid #90b8de;
+ padding: 1em;
+ line-height: 120%;
+}
+
+pre.idl::before {
+ content: "WebIDL";
+ display: block;
+ width: 150px;
+ background: #90b8de;
+ color: #fff;
+ font-family: initial;
+ padding: 3px;
+ font-weight: bold;
+ margin: -1em 0 1em -1em;
+}
+
+.idlType {
+ color: #ff4500;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+/*.idlModule*/
+/*.idlModuleID*/
+/*.idlInterface*/
+.idlInterfaceID {
+ font-weight: bold;
+ color: #005a9c;
+}
+
+.idlSuperclass {
+ font-style: italic;
+ color: #005a9c;
+}
+
+/*.idlAttribute*/
+.idlAttrType, .idlFieldType {
+ color: #005a9c;
+}
+.idlAttrName, .idlFieldName {
+ color: #ff4500;
+}
+.idlAttrName a, .idlFieldName a {
+ color: #ff4500;
+ border-bottom: 1px dotted #ff4500;
+ text-decoration: none;
+}
+
+/*.idlMethod*/
+.idlMethType {
+ color: #005a9c;
+}
+.idlMethName {
+ color: #ff4500;
+}
+.idlMethName a {
+ color: #ff4500;
+ border-bottom: 1px dotted #ff4500;
+ text-decoration: none;
+}
+
+/*.idlParam*/
+.idlParamType {
+ color: #005a9c;
+}
+.idlParamName {
+ font-style: italic;
+}
+
+.extAttr {
+ color: #666;
+}
+
+/*.idlConst*/
+.idlConstType {
+ color: #005a9c;
+}
+.idlConstName {
+ color: #ff4500;
+}
+.idlConstName a {
+ color: #ff4500;
+ border-bottom: 1px dotted #ff4500;
+ text-decoration: none;
+}
+
+/*.idlException*/
+.idlExceptionID {
+ font-weight: bold;
+ color: #c00;
+}
+
+.idlTypedefID, .idlTypedefType {
+ color: #005a9c;
+}
+
+.idlRaises, .idlRaises a.idlType, .idlRaises a.idlType code, .excName a, .excName a code {
+ color: #c00;
+ font-weight: normal;
+}
+
+.excName a {
+ font-family: monospace;
+}
+
+.idlRaises a.idlType, .excName a.idlType {
+ border-bottom: 1px dotted #c00;
+}
+
+.excGetSetTrue, .excGetSetFalse, .prmNullTrue, .prmNullFalse, .prmOptTrue, .prmOptFalse {
+ width: 45px;
+ text-align: center;
+}
+.excGetSetTrue, .prmNullTrue, .prmOptTrue { color: #0c0; }
+.excGetSetFalse, .prmNullFalse, .prmOptFalse { color: #c00; }
+
+.idlImplements a {
+ font-weight: bold;
+}
+
+dl.attributes, dl.methods, dl.constants, dl.fields {
+ margin-left: 2em;
+}
+
+.attributes dt, .methods dt, .constants dt, .fields dt {
+ font-weight: normal;
+}
+
+.attributes dt code, .methods dt code, .constants dt code, .fields dt code {
+ font-weight: bold;
+ color: #000;
+ font-family: monospace;
+}
+
+.attributes dt code, .fields dt code {
+ background: #ffffd2;
+}
+
+.attributes dt .idlAttrType code, .fields dt .idlFieldType code {
+ color: #005a9c;
+ background: transparent;
+ font-family: inherit;
+ font-weight: normal;
+ font-style: italic;
+}
+
+.methods dt code {
+ background: #d9e6f8;
+}
+
+.constants dt code {
+ background: #ddffd2;
+}
+
+.attributes dd, .methods dd, .constants dd, .fields dd {
+ margin-bottom: 1em;
+}
+
+table.parameters, table.exceptions {
+ border-spacing: 0;
+ border-collapse: collapse;
+ margin: 0.5em 0;
+ width: 100%;
+}
+table.parameters { border-bottom: 1px solid #90b8de; }
+table.exceptions { border-bottom: 1px solid #deb890; }
+
+.parameters th, .exceptions th {
+ color: #fff;
+ padding: 3px 5px;
+ text-align: left;
+ font-family: initial;
+ font-weight: normal;
+ text-shadow: #666 1px 1px 0;
+}
+.parameters th { background: #90b8de; }
+.exceptions th { background: #deb890; }
+
+.parameters td, .exceptions td {
+ padding: 3px 10px;
+ border-top: 1px solid #ddd;
+ vertical-align: top;
+}
+
+.parameters tr:first-child td, .exceptions tr:first-child td {
+ border-top: none;
+}
+
+.parameters td.prmName, .exceptions td.excName, .exceptions td.excCodeName {
+ width: 100px;
+}
+
+.parameters td.prmType {
+ width: 120px;
+}
+
+table.exceptions table {
+ border-spacing: 0;
+ border-collapse: collapse;
+ width: 100%;
+}
+
+/* --- TOC --- */
+.toc a {
+ text-decoration: none;
+}
+
+a .secno {
+ color: #000;
+}
+
+/* --- TABLE --- */
+table.simple {
+ border-spacing: 0;
+ border-collapse: collapse;
+ border-bottom: 3px solid #005a9c;
+}
+
+.simple th {
+ background: #005a9c;
+ color: #fff;
+ padding: 3px 5px;
+ text-align: left;
+}
+
+.simple th[scope="row"] {
+ background: inherit;
+ color: inherit;
+ border-top: 1px solid #ddd;
+}
+
+.simple td {
+ padding: 3px 10px;
+ border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+ background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+ margin-top: 0;
+}
+
+.section dd > p:last-child {
+ margin-bottom: 0;
+}
+
+.section dd {
+ margin-bottom: 1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+ margin-bottom: 0;
+}
+
+/* --- EXAMPLES --- */
+pre.example {
+ border-top: 1px solid #ff4500;
+ border-bottom: 1px solid #ff4500;
+ padding: 1em;
+ margin-top: 1em;
+}
+
+pre.example::before {
+ content: "Example";
+ display: block;
+ width: 150px;
+ background: #ff4500;
+ color: #fff;
+ font-family: initial;
+ padding: 3px;
+ font-weight: bold;
+ margin: -1em 0 1em -1em;
+}
+
+/* --- EDITORIAL NOTES --- */
+.issue {
+ padding: 1em;
+ margin: 1em 0em 0em;
+ border: 1px solid #f00;
+ background: #ffc;
+}
+
+.issue::before {
+ content: "Issue";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #f00;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+.note {
+ margin: 1em 0em 0em;
+ padding: 1em;
+ border: 2px solid #cff6d9;
+ background: #e2fff0;
+}
+
+.note::before {
+ content: "Note";
+ display: block;
+ width: 150px;
+ margin: -1.5em 0 0.5em 0;
+ font-weight: bold;
+ border: 1px solid #cff6d9;
+ background: #fff;
+ padding: 3px 1em;
+}
+
+/* --- Best Practices --- */
+div.practice {
+ border: solid #bebebe 1px;
+ margin: 2em 1em 1em 2em;
+}
+
+span.practicelab {
+ margin: 1.5em 0.5em 1em 1em;
+ font-weight: bold;
+ font-style: italic;
+}
+
+span.practicelab { background: #dfffff; }
+
+span.practicelab {
+ position: relative;
+ padding: 0 0.5em;
+ top: -1.5em;
+}
+
+p.practicedesc {
+ margin: 1.5em 0.5em 1em 1em;
+}
+
+@media screen {
+ p.practicedesc {
+ position: relative;
+ top: -2em;
+ padding: 0;
+ margin: 1.5em 0.5em -1em 1em;
+}
+
+/* --- SYNTAX HIGHLIGHTING --- */
+pre.sh_sourceCode {
+ background-color: white;
+ color: black;
+ font-style: normal;
+ font-weight: normal;
+}
+
+pre.sh_sourceCode .sh_keyword { color: #005a9c; font-weight: bold; } /* language keywords */
+pre.sh_sourceCode .sh_type { color: #666; } /* basic types */
+pre.sh_sourceCode .sh_usertype { color: teal; } /* user defined types */
+pre.sh_sourceCode .sh_string { color: red; font-family: monospace; } /* strings and chars */
+pre.sh_sourceCode .sh_regexp { color: orange; font-family: monospace; } /* regular expressions */
+pre.sh_sourceCode .sh_specialchar { color: #ffc0cb; font-family: monospace; } /* e.g., \n, \t, \\ */
+pre.sh_sourceCode .sh_comment { color: #A52A2A; font-style: italic; } /* comments */
+pre.sh_sourceCode .sh_number { color: purple; } /* literal numbers */
+pre.sh_sourceCode .sh_preproc { color: #00008B; font-weight: bold; } /* e.g., #include, import */
+pre.sh_sourceCode .sh_symbol { color: blue; } /* e.g., *, + */
+pre.sh_sourceCode .sh_function { color: black; font-weight: bold; } /* function calls and declarations */
+pre.sh_sourceCode .sh_cbracket { color: red; } /* block brackets (e.g., {, }) */
+pre.sh_sourceCode .sh_todo { font-weight: bold; background-color: #00FFFF; } /* TODO and FIXME */
+
+/* Predefined variables and functions (for instance glsl) */
+pre.sh_sourceCode .sh_predef_var { color: #00008B; }
+pre.sh_sourceCode .sh_predef_func { color: #00008B; font-weight: bold; }
+
+/* for OOP */
+pre.sh_sourceCode .sh_classname { color: teal; }
+
+/* line numbers (not yet implemented) */
+pre.sh_sourceCode .sh_linenum { display: none; }
+
+/* Internet related */
+pre.sh_sourceCode .sh_url { color: blue; text-decoration: underline; font-family: monospace; }
+
+/* for ChangeLog and Log files */
+pre.sh_sourceCode .sh_date { color: blue; font-weight: bold; }
+pre.sh_sourceCode .sh_time, pre.sh_sourceCode .sh_file { color: #00008B; font-weight: bold; }
+pre.sh_sourceCode .sh_ip, pre.sh_sourceCode .sh_name { color: #006400; }
+
+/* for Prolog, Perl... */
+pre.sh_sourceCode .sh_variable { color: #006400; }
+
+/* for LaTeX */
+pre.sh_sourceCode .sh_italics { color: #006400; font-style: italic; }
+pre.sh_sourceCode .sh_bold { color: #006400; font-weight: bold; }
+pre.sh_sourceCode .sh_underline { color: #006400; text-decoration: underline; }
+pre.sh_sourceCode .sh_fixed { color: green; font-family: monospace; }
+pre.sh_sourceCode .sh_argument { color: #006400; }
+pre.sh_sourceCode .sh_optionalargument { color: purple; }
+pre.sh_sourceCode .sh_math { color: orange; }
+pre.sh_sourceCode .sh_bibtex { color: blue; }
+
+/* for diffs */
+pre.sh_sourceCode .sh_oldfile { color: orange; }
+pre.sh_sourceCode .sh_newfile { color: #006400; }
+pre.sh_sourceCode .sh_difflines { color: blue; }
+
+/* for css */
+pre.sh_sourceCode .sh_selector { color: purple; }
+pre.sh_sourceCode .sh_property { color: blue; }
+pre.sh_sourceCode .sh_value { color: #006400; font-style: italic; }
+
+/* other */
+pre.sh_sourceCode .sh_section { color: black; font-weight: bold; }
+pre.sh_sourceCode .sh_paren { color: red; }
+pre.sh_sourceCode .sh_attribute { color: #006400; }
+
+</style><link href="http://www.w3.org/StyleSheets/TR/W3C-WD" rel="stylesheet" type="text/css" charset="utf-8"></head><body style="display: inherit; "><div class="head"><p><a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a></p><h1 property="dcterms:title" class="title" id="title">RDF 1.1 Concepts and Abstract Syntax</h1><h2 property="dcterms:issued" datatype="xsd:dateTime" content="2011-08-22T23:00:00+0000" id="w3c-working-draft-23-august-2011">W3C Working Draft 23 August 2011</h2><dl><dt>This version:</dt><dd><a href="http://www.w3.org/TR/2011/WD-rdf11-concepts-20110823/">http://www.w3.org/TR/2011/WD-rdf11-concepts-20110823/</a></dd><dt>Latest published version:</dt><dd><a href="http://www.w3.org/TR/rdf11-concepts/">http://www.w3.org/TR/rdf11-concepts/</a></dd><dt>Latest editor's draft:</dt><dd><a href="http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html">http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html</a></dd><dt>Latest recommendation:</dt><dd><a href="http://www.w3.org/TR/rdf-concepts/">http://www.w3.org/TR/rdf-concepts/</a></dd><dt>Editors:</dt><dd rel="bibo:editor"><span typeof="foaf:Person"><a rel="foaf:homepage" property="foaf:name" content="Richard Cyganiak" href="http://richard.cyganiak.de/">Richard Cyganiak</a>, <a rel="foaf:workplaceHomepage" href="http://www.deri.ie/">DERI, NUI Galway</a></span>
+</dd>
+<dd rel="bibo:editor"><span typeof="foaf:Person"><span property="foaf:name">David Wood</span>, <a rel="foaf:workplaceHomepage" href="http://www.talis.com/">Talis</a></span>
+</dd>
+<dt>Previous editors:</dt><dd><span><a content="Graham Klyne" href="http://www.ninebynine.org/">Graham Klyne</a>, Nine by Nine</span>
+</dd>
+<dd><span><span>Jeremy J. Carroll</span>, Hewlett Packard Labs</span>
+</dd>
+<dd><span><span>Brian McBride</span>, Hewlett Packard Labs (RDF 2004 Series Editor)</span>
+</dd>
+</dl><p class="copyright"><a rel="license" href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2004-2011 <span rel="dcterms:publisher"><span typeof="foaf:Organization"><a rel="foaf:homepage" property="foaf:name" content="World Wide Web Consotrium" href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup></span></span> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><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><hr></div>
+
+<div id="abstract" class="introductory section" property="dcterms:abstract" datatype="" typeof="bibo:Chapter" about="#abstract"><h2>Abstract</h2>
+ <p>The Resource Description Framework (RDF) is a framework for
+ representing information in the Web.</p>
+ <p>RDF Concepts and Abstract Syntax defines an abstract syntax
+ on which RDF is based, and which serves to link its concrete
+ syntax to its formal semantics. It also includes discussion of
+ key concepts, datatyping, character normalization
+ and handling of IRIs.</p>
+</div><div id="sotd" class="introductory section" typeof="bibo:Chapter" about="#sotd"><h2>Status of This Document</h2><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>
+ <p>This document is work in progress towards a revision of the
+ <a href="http://www.w3.org/TR/rdf-concepts/"><em>RDF Concepts
+ and Abstract Syntax</em></a> Recommendation,
+ and is intended to eventually replace that document.
+ It is part of a larger effort to revise the
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Introduction">RDF specifications as published in 2004</a>.
+ The most significant changes from the 2004 edition are:
+ modified <a href="#section-Graph-Literal">string literals</a>,
+ a <a href="#section-skolemization">section on skolemization
+ of blank nodes</a>, and many updated
+ <a href="#references">references</a> to other specifications
+ (including a change in terminology from
+ “URI references” to “IRIs”). A fuller list of changes that
+ have been made to date is provided in <a href="#changes">Appendix A</a>.
+ Various areas of work to be tackled in upcoming
+ working drafts are highlighted throughout the document, but
+ should not yet be understood as an exhaustive list.</p>
+<p>This document was published by the <a href="http://www.w3.org/2011/rdf-wg/">RDF Working Group</a> as a First Public Working Draft. This document is intended to become a W3C Recommendation. If you wish to make comments regarding this document, please send them to <a href="mailto:public-rdf-comments@w3.org">public-rdf-comments@w3.org</a> (<a href="mailto:public-rdf-comments-request@w3.org?subject=subscribe">subscribe</a>, <a href="http://lists.w3.org/Archives/Public/public-rdf-comments/">archives</a>). All feedback is welcome.</p><p>Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.</p><p>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/46168/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. An individual who has actual knowledge of a patent which the individual believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the W3C Patent Policy</a>.</p></div><div id="toc" typeof="bibo:Chapter" about="#toc" class="section"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#section-Introduction" class="tocxref"><span class="secno">1. </span>Introduction</a></li><li class="tocline"><a href="#conformance" class="tocxref"><span class="secno">2. </span>Conformance</a></li><li class="tocline"><a href="#section-Concepts" class="tocxref"><span class="secno">3. </span>RDF Concepts</a><ul class="toc"><li class="tocline"><a href="#section-data-model" class="tocxref"><span class="secno">3.1 </span>Graph Data Model</a></li><li class="tocline"><a href="#section-IRI-Vocabulary" class="tocxref"><span class="secno">3.2 </span>IRI-based Vocabulary and Node Identification</a></li><li class="tocline"><a href="#datatypes" class="tocxref"><span class="secno">3.3 </span>Datatypes</a></li><li class="tocline"><a href="#literals" class="tocxref"><span class="secno">3.4 </span>Literals</a></li><li class="tocline"><a href="#section-Entailment" class="tocxref"><span class="secno">3.5 </span>Entailment</a></li></ul></li><li class="tocline"><a href="#section-URIspaces" class="tocxref"><span class="secno">4. </span>RDF Vocabulary IRI and Namespace</a></li><li class="tocline"><a href="#datatypes-1" class="tocxref"><span class="secno">5. </span>Datatypes</a><ul class="toc"><li class="tocline"><a href="#section-XMLLiteral" class="tocxref"><span class="secno">5.1 </span>XML Content within an RDF Graph</a></li></ul></li><li class="tocline"><a href="#section-Graph-syntax" class="tocxref"><span class="secno">6. </span>Abstract Syntax</a><ul class="toc"><li class="tocline"><a href="#section-triples" class="tocxref"><span class="secno">6.1 </span>RDF Triples</a></li><li class="tocline"><a href="#section-rdf-graph" class="tocxref"><span class="secno">6.2 </span>RDF Graph</a></li><li class="tocline"><a href="#section-graph-equality" class="tocxref"><span class="secno">6.3 </span>Graph Equivalence</a></li><li class="tocline"><a href="#section-IRIs" class="tocxref"><span class="secno">6.4 </span>IRIs</a></li><li class="tocline"><a href="#section-Graph-Literal" class="tocxref"><span class="secno">6.5 </span>RDF Literals</a><ul class="toc"><li class="tocline"><a href="#section-Literal-Equality" class="tocxref"><span class="secno">6.5.1 </span>Literal Equality</a></li><li class="tocline"><a href="#section-Literal-Value" class="tocxref"><span class="secno">6.5.2 </span>The Value Corresponding to a Typed Literal</a></li></ul></li><li class="tocline"><a href="#section-blank-nodes" class="tocxref"><span class="secno">6.6 </span>Blank Nodes</a><ul class="toc"><li class="tocline"><a href="#section-skolemization" class="tocxref"><span class="secno">6.6.1 </span>Replacing Blank Nodes with IRIs</a></li></ul></li><li class="tocline"><a href="#section-multigraph" class="tocxref"><span class="secno">6.7 </span>Abstract Syntax for Working with Multiple Graphs</a></li></ul></li><li class="tocline"><a href="#section-fragID" class="tocxref"><span class="secno">7. </span>Fragment Identifiers</a></li><li class="tocline"><a href="#section-Acknowledgments" class="tocxref"><span class="secno">8. </span>Acknowledgments</a></li><li class="tocline"><a href="#changes" class="tocxref"><span class="secno">A. </span>Changes from RDF 2004</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">B. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">B.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">B.2 </span>Informative references</a></li></ul></li></ul></div>
+
+
+
+
+
+<div id="section-Introduction" typeof="bibo:Chapter" about="#section-Introduction" class="section">
+ <!--OddPage--><h2><span class="secno">1. </span>Introduction</h2>
+
+ <p class="issue">This document reflects current progress of the RDF Working
+ Group towards updating the
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">2004
+ version of <em>RDF Concepts and Abstract Syntax</em></a>. The
+ editors expect to work on a number of issues, some of which are
+ listed in boxes like this throughout the document.</p>
+
+ <p>The Resource Description Framework (RDF) is a framework for
+ representing information in the Web.</p>
+
+ <p>This document defines an abstract syntax (a data model)
+ on which RDF is based,
+ and which serves to link concrete syntaxes to its formal
+ semantics. It also includes discussion of
+ key concepts, datatyping, character normalization
+ and handling of IRIs.</p>
+
+ <p>Normative documentation of RDF falls into the following
+ areas:</p>
+
+ <ul>
+ <li>Serialization syntaxes (Turtle [<cite><a class="bibref" rel="biblioentry" href="#bib-TURTLE-TR">TURTLE-TR</a></cite>], RDFa [<cite><a class="bibref" rel="biblioentry" href="#bib-RDFA-PRIMER">RDFA-PRIMER</a></cite>], RDF/XML [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SYNTAX-GRAMMAR">RDF-SYNTAX-GRAMMAR</a></cite>], N-Triples [<cite><a class="bibref" rel="biblioentry" href="#bib-N-TRIPLES">N-TRIPLES</a></cite>]),</li>
+
+ <li>the RDF Vocabulary Description Language ([<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>]),</li>
+
+ <li>a formal model-theoretic semantics [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-MT">RDF-MT</a></cite>], and</li>
+
+ <li>this document.</li>
+ </ul>
+
+ <p>The framework is designed so that vocabularies can be layered.
+ The terms defined in [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>] are the first such vocabulary.
+ Several other vocabularies for RDF are
+ mentioned in the Primer [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-PRIMER">RDF-PRIMER</a></cite>].</p>
+</div>
+
+
+<div id="conformance" typeof="bibo:Chapter" about="#conformance" class="section"><!--OddPage--><h2><span class="secno">2. </span>Conformance</h2><p>As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.</p>
+<p>The key words <em class="rfc2119" title="must">must</em>, <em class="rfc2119" title="must not">must not</em>, <em class="rfc2119" title="required">required</em>, <em class="rfc2119" title="should">should</em>, <em class="rfc2119" title="should not">should not</em>, <em class="rfc2119" title="recommended">recommended</em>, <em class="rfc2119" title="may">may</em>, and <em class="rfc2119" title="optional">optional</em> in this specification are to be interpreted as described in [<cite><a class="bibref" rel="biblioentry" href="#bib-RFC2119">RFC2119</a></cite>].</p>
+</div>
+
+
+<div id="section-Concepts" class="informative section" typeof="bibo:Chapter" about="#section-Concepts">
+ <!--OddPage--><h2><span class="secno">3. </span>RDF Concepts</h2><p><em>This section is non-normative.</em></p>
+
+ <p class="issue">This section is quite redundant with later
+ normative sections and the RDF Primer. Its removal has been
+ proposed. This is
+ <a href="http://www.w3.org/2011/rdf-wg/track/issues/68">ISSUE-68</a>.</p>
+
+ <p>RDF uses the following key concepts:</p>
+
+ <ul>
+ <li>Graph data model</li>
+
+ <li>IRI-based vocabulary</li>
+
+ <li>Datatypes</li>
+
+ <li>Literals</li>
+
+ <li>Entailment</li>
+ </ul>
+
+
+<div id="section-data-model" typeof="bibo:Chapter" about="#section-data-model" class="section">
+ <h3><span class="secno">3.1 </span>Graph Data Model</h3>
+
+ <p>The underlying structure of any expression in RDF is a
+ collection of triples, each consisting of a subject, a
+ predicate and an object. A set of such triples is called an RDF
+ graph (defined more formally in
+<a href="#section-Graph-syntax">section 6</a>). This can be
+ illustrated by a node and directed-arc diagram, in which each
+ triple is represented as a node-arc-node link (hence the term
+ “graph”).</p>
+
+ <div class="figure">
+ <img src="Graph-ex.gif" alt="image of the RDF triple comprising (subject, predicate, object)">
+ </div>
+
+ <p>Each triple represents a statement of a relationship between
+ the things denoted by the nodes that it links. Each triple has
+ three parts:</p>
+ <ol>
+ <li>a <a href="#dfn-subject" class="internalDFN">subject</a>,</li>
+ <li>an <a href="#dfn-object" class="internalDFN">object</a>, and</li>
+ <li>a <a href="#dfn-predicate" class="internalDFN">predicate</a> (also called a
+ <a href="#dfn-property" class="internalDFN">property</a>) that denotes a
+ relationship.</li>
+ </ol>
+ <p>The direction of the arc is significant: it always points
+ toward the object.</p>
+ <p>The <a title="node" href="#dfn-node" class="internalDFN">nodes</a> of an RDF graph
+ are its subjects and objects.</p>
+ <p>The assertion of an RDF triple says that some relationship,
+ indicated by the predicate, holds between the things denoted by
+ subject and object of the triple. The assertion of an RDF graph
+ amounts to asserting all the triples in it, so the meaning of
+ an RDF graph is the conjunction (logical AND) of the statements
+ corresponding to all the triples it contains. A formal account
+ of the meaning of RDF graphs is given in [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-MT">RDF-MT</a></cite>].</p>
+</div>
+
+
+<div id="section-IRI-Vocabulary" typeof="bibo:Chapter" about="#section-IRI-Vocabulary" class="section">
+ <h3><span class="secno">3.2 </span>IRI-based Vocabulary and Node Identification</h3>
+
+ <p>A <a href="#dfn-node" class="internalDFN">node</a> may be an <a href="#dfn-iri" class="internalDFN">IRI</a>, a <a href="#dfn-literal" class="internalDFN">literal</a>,
+ or <a title="blank node" href="#dfn-blank-node" class="internalDFN">blank</a> (having no separate form of identification).
+ Properties are <a title="IRI" href="#dfn-iri" class="internalDFN">IRIs</a>.</p>
+ <p>An <a href="#dfn-iri" class="internalDFN">IRI</a> or <a href="#dfn-literal" class="internalDFN">literal</a> used as a node identifies what
+ that node represents. An IRI used as a predicate
+ identifies a relationship between the things represented by the nodes it connects. A
+ predicate IRI may also be a node in the graph.</p>
+ <p>A <a href="#dfn-blank-node" class="internalDFN">blank node</a> is a node that is
+ not an IRI or a literal. In the RDF abstract syntax, a
+ blank node is just a unique node that can be used in one or
+ more RDF statements.</p>
+ <p>A convention used by some linear representations of an RDF
+ graph to allow several statements to use the same
+ blank node is to use a <dfn id="dfn-blank-node-identifier">blank node
+ identifier</dfn>, which is a local identifier that can be
+ distinguished from all IRIs and literals. When graphs are
+ merged, their blank nodes must be kept distinct if meaning is
+ to be preserved; this may call for re-allocation of blank node
+ identifiers. Note that such blank node identifiers are not part
+ of the RDF abstract syntax, and the representation of triples
+ containing blank nodes is entirely dependent on the particular
+ concrete syntax used.</p>
+</div>
+
+
+<div name="section-Datatypes-intro" id="datatypes" typeof="bibo:Chapter" about="#datatypes" class="section">
+ <h3><span class="secno">3.3 </span>Datatypes</h3>
+
+ <p>Datatypes are used by RDF in the representation of values such
+ as integers, floating point numbers and dates.</p>
+
+ <p>
+A datatype consists of a lexical space, a value space and a lexical-to-value
+mapping, see <a href="#section-Datatypes">section 5</a>.
+</p>
+
+ <p>For example, the lexical-to-value mapping for the XML Schema datatype
+ <var>xsd:boolean</var>, where each member of the value space
+ (represented here as 'T' and 'F') has two lexical representations,
+ is as follows:</p>
+
+ <table border="1" cellpadding="5" summary="A table detailing the xsd:boolean datatype.">
+ <tbody><tr>
+ <th align="left">Value Space</th>
+
+ <td>{T, F}</td>
+ </tr>
+
+ <tr>
+ <th align="left">Lexical Space</th>
+
+ <td>{"0", "1", "true", "false"}</td>
+ </tr>
+
+ <tr>
+ <th align="left">Lexical-to-Value Mapping</th>
+
+ <td>{<"true", T>, <"1", T>, <"0", F>,
+ <"false", F>}</td>
+ </tr>
+ </tbody></table>
+
+ <p>RDF predefines just one datatype <code><a href="#dfn-rdf-xmlliteral" class="internalDFN">rdf:XMLLiteral</a></code>, used for
+ embedding XML in RDF (see <a href="#section-XMLLiteral">section
+ 5.1</a>).</p>
+
+ <p>There is no built-in concept of numbers or dates or other common
+ values. Rather, RDF defers to datatypes that are defined
+ separately, and identified with <a title="IRI" href="#dfn-iri" class="internalDFN">IRIs</a>.
+ The predefined XML Schema
+ datatypes [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>] are expected
+ to be widely used for this purpose.</p>
+
+
+ <p>RDF provides no mechanism for defining new datatypes. XML Schema
+ Datatypes [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>] provides an
+ extensibility framework suitable for defining new datatypes for use
+ in RDF.</p>
+</div>
+
+
+<div name="section-Literals" id="literals" typeof="bibo:Chapter" about="#literals" class="section">
+ <h3><span class="secno">3.4 </span>Literals</h3>
+
+ <p><a title="literal" href="#dfn-literal" class="internalDFN">Literals</a> are used to identify values such as numbers and dates
+ by means of a lexical representation. Anything represented by a
+ literal could also be represented by an <a href="#dfn-iri" class="internalDFN">IRI</a>, but it is often more
+ convenient or intuitive to use literals.</p>
+
+ <p>A literal may be the object of an RDF statement, but not the
+ subject or the predicate.</p>
+
+ <p>Literals may be <cite>typed</cite> or <cite>language-tagged</cite>:</p>
+
+ <ul>
+ <li>A <a href="#dfn-typed-literal" class="internalDFN">typed literal</a> is a string combined with a
+ <a href="#dfn-datatype-iri" class="internalDFN">datatype IRI</a>. It denotes the
+ member of the identified datatype's value space obtained by
+ applying the lexical-to-value mapping to the literal string.</li>
+
+ <li>A <a href="#dfn-language-tagged-literal" class="internalDFN">language-tagged literal</a> is a string combined
+ with a language tag. This may be used for
+ plain text in a natural language. Language-tagged literals
+ are self-denoting.</li>
+ </ul>
+
+ <p>Continuing the example from <a href="#section-Datatypes-intro">section
+ 3.3</a>, the typed literals that can be defined using the XML
+ Schema datatype <var>xsd:boolean</var> are:</p>
+
+ <table border="1" cellpadding="5" summary="This table lists the literals of type xsd:boolean.">
+ <tbody><tr>
+ <th>Typed Literal</th>
+
+ <th>Lexical-to-Value Mapping</th>
+
+ <th>Value</th>
+ </tr>
+
+ <tr>
+ <td align="center"><xsd:boolean, "true"></td>
+
+ <td align="center"><"true", T></td>
+
+ <td align="center">T</td>
+ </tr>
+
+ <tr>
+ <td align="center"><xsd:boolean, "1"></td>
+
+ <td align="center"><"1", T></td>
+
+ <td align="center">T</td>
+ </tr>
+
+ <tr>
+ <td align="center"><xsd:boolean, "false"></td>
+
+ <td align="center"><"false", F></td>
+
+ <td align="center">F</td>
+ </tr>
+
+ <tr>
+ <td align="center"><xsd:boolean, "0"></td>
+
+ <td align="center"><"0", F></td>
+
+ <td align="center">F</td>
+ </tr>
+ </tbody></table>
+
+ <p>For text that may contain
+ markup, use typed literals
+with type <a href="#section-XMLLiteral">rdf:XMLLiteral</a>.
+If language annotation is required,
+it must be explicitly included as markup, usually by means of an
+<code>xml:lang</code> attribute.
+XHTML [<cite><a class="bibref" rel="biblioentry" href="#bib-XHTML10">XHTML10</a></cite>] may be included within RDF
+in this way. Sometimes, in this latter case,
+ an additional <code>span</code> or <code>div</code>
+ element is needed to carry an
+<code>xml:lang</code> or <code>lang</code> attribute.
+ </p>
+
+<p class="issue">Update the XHTML 1.0 reference to something more recent?</p>
+
+<p>
+The string in both plain and typed literals is recommended to
+be in Unicode Normal Form C [<cite><a class="bibref" rel="biblioentry" href="#bib-NFC">NFC</a></cite>]. This is motivated
+by [<cite><a class="bibref" rel="biblioentry" href="#bib-CHARMOD">CHARMOD</a></cite>] particularly
+<a href="http://www.w3.org/TR/2003/WD-charmod-20030822/#sec-Normalization">section 4
+Early Uniform Normalization</a>.
+</p>
+
+</div>
+
+
+<div id="section-Entailment" typeof="bibo:Chapter" about="#section-Entailment" class="section">
+ <h3><span class="secno">3.5 </span>Entailment</h3>
+
+ <p>The ideas on meaning and inference in RDF are underpinned by the
+ formal concept of <a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#entail">
+<cite>entailment</cite></a>, as
+ discussed in the RDF
+ semantics document [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-MT">RDF-MT</a></cite>].
+In brief, an RDF expression A is said to
+<dfn title="entailment" id="dfn-entailment">entail</dfn> another RDF expression B
+if every possible
+arrangement of things in the world that makes A true also makes B
+true. On this basis, if the truth of A is presumed or demonstrated
+then the truth of B can be inferred .
+</p>
+</div>
+
+</div>
+
+
+<div id="section-URIspaces" typeof="bibo:Chapter" about="#section-URIspaces" class="section">
+ <!--OddPage--><h2><span class="secno">4. </span>RDF Vocabulary IRI and Namespace</h2>
+
+ <p>RDF uses <a title="IRI" href="#dfn-iri" class="internalDFN">IRIs</a> to identify resources
+ and properties. Certain
+ IRIs with the following leading substring are defined by the
+ RDF specifications to denote specific concepts:</p>
+
+ <ul>
+ <li><code>http://www.w3.org/1999/02/22-rdf-syntax-ns#</code>
+ (conventionally associated with namespace prefix <code>rdf:</code>)</li>
+ </ul>
+
+ <p>Vocabulary terms in the <code>rdf:</code>
+ namespace are listed and described in detail in the
+ RDF Schema specification [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>].</p>
+
+ <p class="note">The RDF namespace is also used as an
+ XML namespace [<cite><a class="bibref" rel="biblioentry" href="#bib-XML-NAMES">XML-NAMES</a></cite>] to define a number of additional
+ element and attribute names for purely syntactic purposes within
+ the RDF/XML syntax ([<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SYNTAX-GRAMMAR">RDF-SYNTAX-GRAMMAR</a></cite>],
+ <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/#section-Namespace">section 5.1</a>).
+ These terms (e.g., <code>rdf:about</code> and <code>rdf:ID</code>)
+ do not denote concepts.</p>
+</div>
+
+
+<div name="section-Datatypes" id="datatypes-1" typeof="bibo:Chapter" about="#datatypes-1" class="section">
+ <!--OddPage--><h2><span class="secno">5. </span>Datatypes</h2>
+
+ <p class="issue">This section perhaps should discuss
+ <a href="http://www.w3.org/TR/rdf-mt/#dtype_interp">the XSD datatype map</a>
+ and <code><a href="http://www.w3.org/TR/rdf-plain-literal/">rdf:PlainLiteral</a></code>.
+ This is <a href="http://www.w3.org/2011/rdf-wg/track/issues/70">ISSUE-70</a>.</p>
+
+<p>
+The datatype abstraction used in RDF is compatible with
+the abstraction used in
+XML Schema Part 2:
+ Datatypes [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-2">XMLSCHEMA-2</a></cite>].</p>
+<p>
+A datatype consists of a lexical space, a value space and a lexical-to-value
+mapping.
+</p>
+<p>The <dfn id="dfn-lexical-space">lexical space</dfn> of a datatype is a set of Unicode [<cite><a class="bibref" rel="biblioentry" href="#bib-UNICODE">UNICODE</a></cite>] strings.</p>
+<p>
+The <dfn id="dfn-lexical-to-value-mapping">lexical-to-value mapping</dfn> of a datatype is a set of pairs whose
+first element belongs to
+the <a href="#dfn-lexical-space" class="internalDFN">lexical space</a> of the datatype,
+and the second element belongs to the
+ <dfn id="dfn-value-space">value space</dfn> of the datatype:
+</p>
+<ul>
+<li>
+Each member of the lexical space is paired with (maps to) exactly one member
+of the value space.
+</li>
+<li>
+Each member of the value space may be paired with any number (including
+zero) of members of the lexical space (lexical representations for that
+value).
+</li>
+</ul>
+<p>
+A datatype is identified by one or more IRIs.
+</p>
+<p>
+RDF may be used with any datatype definition that conforms to this
+abstraction, even if not defined in terms of XML Schema.
+</p>
+ <p>Certain XML Schema built-in datatypes are not suitable for use
+ within RDF. For example, the
+<a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#QName">QName</a>
+datatype requires a namespace declaration to be in scope during
+ the mapping, and is not recommended for use in RDF.
+ [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-MT">RDF-MT</a></cite>] contains a
+<a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#dtype_interp">more detailed discussion</a>
+ of specific XML Schema built-in datatypes. </p>
+
+<div class="note">
+<p>When the datatype is defined using XML Schema:
+</p>
+<ul>
+<li>
+All values correspond to some lexical form, either using
+the lexical-to-value mapping of the datatype or if it is a union
+datatype with a lexical mapping associated with one of the member
+datatypes.
+</li>
+<li>
+XML Schema facets remain part of the datatype and are used by the XML
+Schema mechanisms that control the lexical space and the value space;
+however, RDF does not define a standard mechanism to access these facets.</li>
+
+<li>In [<cite><a class="bibref" rel="biblioentry" href="#bib-XMLSCHEMA-1">XMLSCHEMA-1</a></cite>],
+<a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#section-White-Space-Normalization-during-Validation">
+white space normalization</a> occurs
+during
+<a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#key-vn">validation</a>
+according to the value of the
+<a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#rf-whiteSpace">whiteSpace
+facet</a>. The lexical-to-value mapping used in RDF datatyping
+occurs after this, so that the whiteSpace facet has no
+effect in RDF datatyping.
+</li>
+</ul>
+
+</div>
+
+
+<div id="section-XMLLiteral" typeof="bibo:Chapter" about="#section-XMLLiteral" class="section">
+ <h3><span class="secno">5.1 </span>XML Content within an RDF Graph</h3>
+
+ <p class="issue">The canonicalization rules required for XML literals
+ are quite complicated. Increasingly, RDF is produced and consumed in
+ environments where no XML parser and canonicalization engine is
+ available. A possible change to relax the requirements for the
+ lexical space, while retaining the value space, is under discussion.
+ This is <a href="http://www.w3.org/2011/rdf-wg/track/issues/13">ISSUE-13</a>.</p>
+
+ <p>RDF provides for XML content as a possible literal value.
+ Such content is indicated in an RDF graph using a typed literal
+ whose datatype is a special built-in datatype
+ <dfn id="dfn-rdf-xmlliteral">rdf:XMLLiteral</dfn>,
+ defined as follows.</p>
+
+
+ <dl>
+ <dt><a name="XMLLiteral-uri" id="XMLLiteral-uri">An IRI for
+identifying this datatype</a></dt>
+
+ <dd>is
+ <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral</code>.</dd>
+
+
+
+
+ <dt><a name="XMLLiteral-lexical-space" id="XMLLiteral-lexical-space">The lexical space</a></dt>
+
+<dd>is the set of all
+strings:
+<ul>
+<li>which are well-balanced, self-contained
+<a href="http://www.w3.org/TR/2000/REC-xml-20001006#NT-content">
+XML content</a>
+[<cite><a class="bibref" rel="biblioentry" href="#bib-XML10">XML10</a></cite>];
+</li>
+<li>for which encoding as UTF-8
+[<cite><a class="bibref" rel="biblioentry" href="#bib-UTF-8">UTF-8</a></cite>] yields
+<a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/#def-exclusive-canonical-XML">
+exclusive
+Canonical XML </a> (with comments, with empty
+<a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/#def-InclusiveNamespaces-PrefixList">
+InclusiveNamespaces PrefixList
+</a>) [<cite><a class="bibref" rel="biblioentry" href="#bib-XML-EXC-C14N">XML-EXC-C14N</a></cite>];
+</li>
+<li>for which embedding between an arbitrary XML start tag and an end tag
+yields a document conforming to <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/">XML
+ Namespaces</a> [<cite><a class="bibref" rel="biblioentry" href="#bib-XML-NAMES">XML-NAMES</a></cite>]</li>
+</ul>
+</dd>
+
+
+ <dt><a name="XMLLiteral-value-space" id="XMLLiteral-value-space">The value space</a></dt>
+
+ <dd>is a set of entities, called XML values, which is:
+<ul>
+<li>disjoint from the lexical space;</li>
+<li>disjoint from the value space of any other datatype that is not explicitly defined as a sub- or supertype of this datatype;</li>
+<li>disjoint from the set of Unicode character strings [<cite><a class="bibref" rel="biblioentry" href="#bib-UNICODE">UNICODE</a></cite>];</li>
+<li>and in 1:1 correspondence with the lexical space.</li>
+</ul>
+</dd>
+
+ <dt><a name="XMLLiteral-mapping" id="XMLLiteral-mapping">The lexical-to-value mapping</a></dt>
+
+ <dd>
+is a one-one mapping from the lexical space onto the value space,
+ i.e. it is both injective and surjective.
+</dd>
+
+
+
+ </dl>
+
+ <p class="note">Not all values of this datatype are compliant
+ with XML 1.1 [<cite><a class="bibref" rel="biblioentry" href="#bib-XML11">XML11</a></cite>]. If compliance
+ with XML 1.1 is desired, then only those values that are
+<a href="http://www.w3.org/TR/2002/CR-xml11-20021015/#sec2.13">fully
+ normalized</a> according to XML 1.1 should be used.</p>
+
+ <p class="note">XML values can be thought of as the
+[<cite><a class="bibref" rel="biblioentry" href="#bib-XML-INFOSET">XML-INFOSET</a></cite>] or the [<cite><a class="bibref" rel="biblioentry" href="#bib-XPATH">XPATH</a></cite>]
+nodeset corresponding to the lexical form, with an appropriate equality
+function.</p>
+
+ <p class="note">RDF applications may use additional equivalence relations, such as
+that which relates an
+<a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#string"><code>xsd:string</code></a>
+
+with an <code>rdf:XMLLiteral</code> corresponding to
+a single text node of the same string.</p>
+
+</div>
+
+</div>
+
+
+<div id="section-Graph-syntax" typeof="bibo:Chapter" about="#section-Graph-syntax" class="section">
+ <!--OddPage--><h2><span class="secno">6. </span>Abstract Syntax</h2>
+
+ <p>This section defines the RDF abstract syntax. The RDF abstract
+ syntax is a set of triples, called the RDF graph.</p>
+
+ <p>This section also defines equivalence between RDF graphs. A
+ definition of equivalence is needed to support the RDF Test Cases
+ [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-TESTCASES">RDF-TESTCASES</a></cite>] specification.</p>
+
+<p class="note">This <em>abstract</em> syntax is the
+syntax over which the formal semantics are defined.
+Implementations are free to represent RDF graphs in
+any other equivalent form. As an example:
+in an RDF graph,
+literals with datatype <tt>rdf:XMLLiteral</tt> can be represented
+in a non-canonical
+format, and canonicalization performed during the comparison between two
+such literals. In this example the comparisons may be
+being performed either between syntactic structures or
+between their denotations in the domain of discourse.
+Implementations that do not require any such comparisons can
+hence be optimized.
+</p>
+
+
+<div id="section-triples" typeof="bibo:Chapter" about="#section-triples" class="section">
+ <h3><span class="secno">6.1 </span>RDF Triples</h3>
+
+ <p>An <dfn id="dfn-rdf-triple">RDF triple</dfn> contains three components:</p>
+
+ <ul>
+ <li>the <dfn id="dfn-subject">subject</dfn>, which is an
+ <a href="#dfn-iri" class="internalDFN">IRI</a> or a <a href="#dfn-blank-node" class="internalDFN">blank node</a></li>
+
+ <li>the <dfn id="dfn-predicate">predicate</dfn>, which is an <a href="#dfn-iri" class="internalDFN">IRI</a></li>
+
+ <li>the <dfn id="dfn-object">object</dfn>, which is an <a href="#dfn-iri" class="internalDFN">IRI</a>,
+ a <a href="#dfn-literal" class="internalDFN">literal</a> or a <a href="#dfn-blank-node" class="internalDFN">blank node</a></li>
+ </ul>
+
+ <p>An RDF triple is conventionally written in the order subject,
+ predicate, object.</p>
+
+ <p>The predicate is also known as the <dfn id="dfn-property">property</dfn> of the triple.</p>
+
+ <p><a title="IRI" href="#dfn-iri" class="internalDFN">IRIs</a>, <a title="blank node" href="#dfn-blank-node" class="internalDFN">blank nodes</a> and
+ <a title="literal" href="#dfn-literal" class="internalDFN">literals</a> are collectively known as
+ <dfn title="RDF term" id="dfn-rdf-term">RDF terms</dfn>.</p>
+</div>
+
+
+<div id="section-rdf-graph" typeof="bibo:Chapter" about="#section-rdf-graph" class="section">
+ <h3><span class="secno">6.2 </span>RDF Graph</h3>
+
+ <p>An <dfn id="dfn-rdf-graph">RDF graph</dfn> is a set of RDF triples.</p>
+
+ <p>The set of <dfn title="node" id="dfn-node">nodes</dfn> of an RDF graph is the set of subjects and objects of
+ triples in the graph.</p>
+</div>
+
+
+<div id="section-graph-equality" typeof="bibo:Chapter" about="#section-graph-equality" class="section">
+ <h3><span class="secno">6.3 </span>Graph Equivalence</h3>
+
+ <p>Two <a title="RDF graph" href="#dfn-rdf-graph" class="internalDFN">RDF graphs</a> <var>G</var> and <var>G'</var> are equivalent if there
+ is a bijection <var>M</var> between the sets of nodes of the two graphs,
+ such that:</p>
+
+ <ol>
+ <li><var>M</var> maps blank nodes to blank nodes.</li>
+ <li><var>M(lit)=lit</var> for all <a title="literal" href="#dfn-literal" class="internalDFN">RDF literals</a> <var>lit</var> which
+ are nodes of <var>G</var>.</li>
+
+ <li><var>M(uri)=uri</var> for all <a title="IRI" href="#dfn-iri" class="internalDFN">IRIs</a> <var>uri</var>
+ which are nodes of <var>G</var>.</li>
+
+ <li>The triple <var>( s, p, o )</var> is in <var>G</var> if and
+ only if the triple <var>( M(s), p, M(o) )</var> is in
+ <var>G'</var></li>
+ </ol>
+ <p>With this definition, <var>M</var> shows how each blank node
+ in <var>G</var> can be replaced with
+ a new blank node to give <var>G'</var>.</p>
+</div>
+
+
+<div id="section-IRIs" typeof="bibo:Chapter" about="#section-IRIs" class="section">
+ <h3><span class="secno">6.4 </span>IRIs</h3>
+
+ <p>An <dfn title="IRI" id="dfn-iri"><acronym title="Internationalized Resource Identifier">IRI</acronym></dfn>
+ (Internationalized Resource Identifier) within an RDF graph
+ is a Unicode string [<cite><a class="bibref" rel="biblioentry" href="#bib-UNICODE">UNICODE</a></cite>] that conforms to the syntax
+ defined in RFC 3987 [<cite><a class="bibref" rel="biblioentry" href="#bib-IRI">IRI</a></cite>]. IRIs are a generalization of
+ <dfn title="URI" id="dfn-uri"><acronym title="Uniform Resource Identifier">URI</acronym>s</dfn>
+ [<cite><a class="bibref" rel="biblioentry" href="#bib-URI">URI</a></cite>]. Every absolute URI and URL is an IRI.</p>
+
+ <p>IRIs in the RDF abstract syntax <em class="rfc2119" title="must">must</em> be absolute, and <em class="rfc2119" title="may">may</em>
+ contain a fragment identifier.</p>
+
+ <p>Two IRIs are equal if and only if they are equivalent
+ under Simple String Comparison according to
+ <a href="http://tools.ietf.org/html/rfc3987#section-5.1">section 5.1</a>
+ of [<cite><a class="bibref" rel="biblioentry" href="#bib-IRI">IRI</a></cite>]. Further normalization <em class="rfc2119" title="must not">must not</em> be performed when
+ comparing IRIs for equality.</p>
+
+ <p class="note">When IRIs are used in operations that are only
+ defined for URIs, they must first be converted according to
+ the mapping defined in
+ <a href="http://tools.ietf.org/html/rfc3987#section-3.1">section 3.1</a>
+ of [<cite><a class="bibref" rel="biblioentry" href="#bib-IRI">IRI</a></cite>]. A notable example is retrieval over the HTTP
+ protocol. The mapping involves UTF-8 encoding of non-ASCII
+ characters, %-encoding of octets not allowed in URIs, and
+ Punycode-encoding of domain names.</p>
+
+ <p class="note">Some concrete syntaxes permit relative IRIs
+ as a shorthand for absolute IRIs, and define how to resolve
+ the relative IRIs against a base IRI.</p>
+
+ <p class="note">Previous versions of RDF used the term
+ “<dfn id="dfn-rdf-uri-reference">RDF URI Reference</dfn>” instead of “IRI” and allowed
+ additional characters:
+ “<code><</code>”, “<code>></code>”,
+ “<code>{</code>”, “<code>}</code>”,
+ “<code>|</code>”, “<code>\</code>”,
+ “<code>^</code>”, “<code>`</code>”,
+ ‘<code>“</code>’ (double quote), and “<code> </code>” (space).
+ In IRIs, these characters must be percent-encoded as
+ described in <a href="http://tools.ietf.org/html/rfc3986#section-2.1">section 2.1</a>
+ of [<cite><a class="bibref" rel="biblioentry" href="#bib-URI">URI</a></cite>].</p>
+
+ <div class="note">
+ <p>Interoperability problems can be avoided by minting
+ only IRIs that are normalized according to
+ <a href="http://tools.ietf.org/html/rfc3987#section-5">Section 5</a>
+ of [<cite><a class="bibref" rel="biblioentry" href="#bib-IRI">IRI</a></cite>]. Non-normalized forms that should be avoided
+ include:</p>
+
+ <ul>
+ <li>Uppercase characters in scheme names and domain names</li>
+ <li>Percent-encoding of characters where it is not
+ required by IRI syntax</li>
+ <li>Explicitly stated HTTP default port
+ (<code>http://example.com:80/</code>);
+ <code>http://example.com/</code> is preferrable</li>
+ <li>Completely empty path in HTTP IRIs
+ (<code>http://example.com</code>);
+ <code>http://example.com/</code> is preferrable</li>
+ <li>“<code>/./</code>” or “<code>/../</code>” in the path
+ component of an IRI</li>
+ <li>Lowercase hexadecimal letters within percent-encoding
+ triplets (“<code>%3F</code>” is preferable over
+ “<code>%3f</code>”)</li>
+ <li>Punycode-encoding of Internationalized Domain Names
+ in IRIs</li>
+ <li>IRIs that are not in Unicode Normalization
+ Form C [<cite><a class="bibref" rel="biblioentry" href="#bib-NFC">NFC</a></cite>]</li>
+ </ul>
+ </div>
+</div>
+
+
+<div id="section-Graph-Literal" typeof="bibo:Chapter" about="#section-Graph-Literal" class="section">
+ <h3><span class="secno">6.5 </span>RDF Literals</h3>
+
+ <p class="issue">This section is a major departure from RDF 2004
+ as <a title="simple literal" href="#dfn-simple-literal" class="internalDFN">simple literals</a> are now treated
+ as syntactic sugar for <code>xsd:string</code>
+ <a title="typed literal" href="#dfn-typed-literal" class="internalDFN">typed literals</a>. Further changes
+ to RDF's literal design are under consideration:
+ <a title="language-tagged literal" href="#dfn-language-tagged-literal" class="internalDFN">Language-tagged literals</a>
+ may receive a datatype, and
+ <a href="http://www.w3.org/TR/rdf-plain-literal/"><code>rdf:PlainLiteral</code>s</a> [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-PLAINLITERAL">RDF-PLAINLITERAL</a></cite>]
+ may be folded into the design somehow. This is
+ <a href="http://www.w3.org/2011/rdf-wg/track/issues/71">ISSUE-71</a>.</p>
+
+ <p>A <dfn id="dfn-literal">literal</dfn> in an <a href="#dfn-rdf-graph" class="internalDFN">RDF graph</a> is either a
+ <a href="#dfn-typed-literal" class="internalDFN">typed literal</a> or a <a href="#dfn-language-tagged-literal" class="internalDFN">language-tagged literal</a>.</p>
+
+ <p>All literals have a <dfn id="dfn-lexical-form">lexical form</dfn> being a Unicode
+ [<cite><a class="bibref" rel="biblioentry" href="#bib-UNICODE">UNICODE</a></cite>] string, which <em class="rfc2119" title="should">should</em> be in Normal Form C [<cite><a class="bibref" rel="biblioentry" href="#bib-NFC">NFC</a></cite>].</p>
+
+ <p><dfn title="language-tagged literal" id="dfn-language-tagged-literal">Language-tagged literals</dfn> have
+ a <a href="#dfn-lexical-form" class="internalDFN">lexical form</a> and a non-empty <dfn id="dfn-language-tag">language tag</dfn> as
+ defined by [<cite><a class="bibref" rel="biblioentry" href="#bib-BCP47">BCP47</a></cite>]. The language tag <em class="rfc2119" title="must">must</em> be well-formed according to
+ <a href="http://tools.ietf.org/html/bcp47#section-2.2.9">section 2.2.9</a>
+ of [<cite><a class="bibref" rel="biblioentry" href="#bib-BCP47">BCP47</a></cite>], and <em class="rfc2119" title="must">must</em> be normalized to lowercase.</p>
+
+ <p><dfn title="typed literal" id="dfn-typed-literal">Typed literals</dfn> have a <a href="#dfn-lexical-form" class="internalDFN">lexical form</a>
+ and a <dfn id="dfn-datatype-iri">datatype IRI</dfn> being an <a href="#dfn-iri" class="internalDFN">IRI</a>.</p>
+
+ <p>Concrete syntaxes <em class="rfc2119" title="may">may</em> support <dfn title="simple literal" id="dfn-simple-literal">simple
+ literals</dfn>, consisting of only a <a href="#dfn-lexical-form" class="internalDFN">lexical form</a>
+ without any language tag or datatype IRI. Simple literals only
+ exist in concrete syntaxes, and are treated as
+ syntactic sugar for abstract syntax
+ <a title="plain literal" href="#dfn-plain-literal" class="internalDFN">typed literals</a> with the datatype IRI
+ <code>http://www.w3.org/2001/XMLSchema#string</code>.
+ Simple literals and <a>language-tagged literals</a> are
+ collectively known as <dfn title="plain literal" id="dfn-plain-literal">plain literals</dfn>.</p>
+
+ <p class="note">Earlier versions of RDF allowed
+ <a title="simple literal" href="#dfn-simple-literal" class="internalDFN">simple literals</a> in the abstract syntax.</p>
+
+ <p class="note">Literals in which the lexical form begins with a
+ composing character (as defined by [<cite><a class="bibref" rel="biblioentry" href="#bib-CHARMOD">CHARMOD</a></cite>]) are allowed however they may cause
+ interoperability problems, particularly with XML version 1.1 [<cite><a class="bibref" rel="biblioentry" href="#bib-XML11">XML11</a></cite>].</p>
+
+ <p class="note">Earlier versions of RDF permitted tags that
+ adhered to the generic tag/subtag syntax of language tags,
+ but were not well-formed according to [<cite><a class="bibref" rel="biblioentry" href="#bib-BCP47">BCP47</a></cite>]. Such
+ language tags do not conform to RDF 1.1.</p>
+
+ <p class="note">When using the language tag, care must be
+ taken not to confuse language with locale. The language
+ tag relates only to human language text. Presentational
+ issues should
+ be addressed in end-user applications.</p>
+
+ <p class="note">The case normalization of
+language tags is part of
+ the description of the abstract syntax, and consequently the abstract
+ behaviour of RDF applications. It does not constrain an
+ RDF implementation to actually normalize the case. Crucially, the result
+ of comparing two language tags should not be sensitive to the case of
+ the original input.</p>
+
+
+<div id="section-Literal-Equality" typeof="bibo:Chapter" about="#section-Literal-Equality" class="section">
+ <h4><span class="secno">6.5.1 </span>Literal Equality</h4>
+
+ <p>Two literals are equal if and only if all of the following
+ hold:</p>
+
+ <ul>
+ <li>The strings of the two lexical forms compare equal, character
+ by character.</li>
+
+ <li>Either both or neither have language tags.</li>
+
+ <li>The language tags, if any, compare
+ equal.</li>
+
+ <li>Either both or neither have datatype IRIs.</li>
+
+ <li>The two datatype IRIs, if any, compare equal, character by
+ character.</li>
+ </ul>
+
+ <p class="note">RDF Literals are distinct and distinguishable
+ from <a title="IRI" href="#dfn-iri" class="internalDFN">IRIs</a>; e.g. <code>http://example.org/</code> as an RDF
+ Literal (untyped, without a language tag) is not equal to
+ <code>http://example.org/</code> as an IRI.</p>
+</div>
+
+
+<div id="section-Literal-Value" typeof="bibo:Chapter" about="#section-Literal-Value" class="section">
+ <h4><span class="secno">6.5.2 </span>The Value Corresponding to a Typed Literal</h4>
+
+ <p>The datatype IRI refers to a <a href="#section-Datatypes">datatype</a>. For XML Schema <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-datatypes">
+ built-in</a> datatypes, IRIs such as
+ <code>http://www.w3.org/2001/XMLSchema#int</code> are used. The IRI
+ of the datatype <a href="#section-XMLLiteral"><tt>rdf:XMLLiteral</tt></a> may be used.
+ There may be other, implementation dependent, mechanisms by which
+ IRIs refer to datatypes.</p>
+
+ <p>The <em>value</em> associated with a typed literal is found by
+ applying the lexical-to-value mapping associated with the datatype IRI to
+ the lexical form.
+ </p>
+
+ <p>
+ If the lexical form is not in
+ the lexical space of the datatype associated with the datatype IRI,
+then no literal value can be associated with the typed literal.
+Such a case, while in error, is not <em>syntactically</em> ill-formed.</p>
+<!--
+ <p>A typed literal for which the datatype does not map the lexical
+ form to a value is not syntactically ill-formed.</p>
+-->
+
+
+ <p class="note">
+In application contexts, comparing the values of typed literals (see
+<a href="#section-Literal-Value">
+section
+6.5.2</a>)
+is usually more helpful than comparing their syntactic forms (see
+<a href="#section-Literal-Equality">
+section
+6.5.1</a>).
+Similarly, for comparing RDF Graphs,
+semantic notions of entailment (see
+[<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-MT">RDF-MT</a></cite>]) are usually
+more helpful than syntactic equality (see
+<a href="#section-graph-equality">
+section
+6.3</a>).</p>
+
+</div>
+
+</div>
+
+
+<div id="section-blank-nodes" typeof="bibo:Chapter" about="#section-blank-nodes" class="section">
+ <h3><span class="secno">6.6 </span>Blank Nodes</h3>
+
+<p>
+The <dfn title="blank node" id="dfn-blank-node">blank nodes</dfn> in an RDF graph
+are drawn from an infinite set.
+This set of blank nodes, the set of all <a title="IRI" href="#dfn-iri" class="internalDFN">IRIs</a>
+and the set of all <a title="literal" href="#dfn-literal" class="internalDFN">literals</a> are pairwise disjoint.
+</p>
+<p>
+Otherwise, this set of blank nodes is arbitrary.
+</p>
+<p>RDF makes no reference to any internal structure of blank nodes.
+Given two blank nodes, it is
+possible to determine whether or not they are the same.</p>
+
+
+<div id="section-skolemization" typeof="bibo:Chapter" about="#section-skolemization" class="section">
+ <h4><span class="secno">6.6.1 </span>Replacing Blank Nodes with IRIs</h4>
+
+ <p>Blank nodes do not have identifiers in the RDF abstract syntax. The
+ <a title="blank node identifier" href="#dfn-blank-node-identifier" class="internalDFN">blank node identifiers</a> introduced
+ by some concrete syntaxes have only
+ local scope and are purely an artifact of the serialization.</p>
+
+ <p>In situations where stronger identification is needed, systems <em class="rfc2119" title="may">may</em>
+ systematically transform some or all of the blank nodes in an RDF graph
+ into IRIs [<cite><a class="bibref" rel="biblioentry" href="#bib-IRI">IRI</a></cite>]. Systems wishing to do this <em class="rfc2119" title="should">should</em> mint a new, globally
+ unique IRI (a <dfn id="dfn-skolem-iri">Skolem IRI</dfn>) for each blank node so transformed.</p>
+
+ <p>This transformation does not change the meaning of an RDF graph,
+ provided that the Skolem IRIs do not occur anywhere else.</p>
+
+ <p>Systems may wish to mint Skolem IRIs in such a way that they can
+ recognize the IRIs as having been introduced solely to replace a blank
+ node, and map back to the source blank node where possible.</p>
+
+ <p>Systems that want Skolem IRIs to be recognizable outside of the system
+ boundaries <em class="rfc2119" title="should">should</em> use a well-known IRI [<cite><a class="bibref" rel="biblioentry" href="#bib-WELL-KNOWN">WELL-KNOWN</a></cite>] with the registered
+ name <code>genid</code>. This is an IRI that uses the HTTP or HTTPS scheme,
+ or another scheme that has been specified to use well-known IRIs; and whose
+ path component starts with <code>/.well-known/genid/</code>.
+
+ </p><p>For example, the authority responsible for the domain
+ <code>example.com</code> could mint the following recognizable Skolem IRI:</p>
+
+ <pre>http://example.com/.well-known/genid/d26a2d0e98334696f4ad70a677abc1f6</pre>
+
+ <p class="issue">IETF registration of the <code>genid</code> name is
+ currently in progress.</p>
+
+ <p class="note">RFC 5785 [<cite><a class="bibref" rel="biblioentry" href="#bib-WELL-KNOWN">WELL-KNOWN</a></cite>] only specifies well-known URIs,
+ not IRIs. For the purpose of this document, a well-known IRI is any
+ IRI that results in a well-known URI after IRI-to-URI mapping [<cite><a class="bibref" rel="biblioentry" href="#bib-IRI">IRI</a></cite>].</p>
+</div>
+
+</div>
+
+
+<div id="section-multigraph" typeof="bibo:Chapter" about="#section-multigraph" class="section">
+ <h3><span class="secno">6.7 </span>Abstract Syntax for Working with Multiple Graphs</h3>
+
+ <div class="issue">
+ <p>The Working Group will standardize a model and semantics for
+ multiple graphs and graphs stores. The
+ <a href="http://www.w3.org/2011/01/rdf-wg-charter">charter</a> notes:</p>
+
+ <blockquote>The RDF Community has used the
+ term “named graphs” for a number of years in various settings,
+ but this term is ambiguous, and often refers to what could rather
+ be referred as quoted graphs, graph literals, IRIs for graphs,
+ knowledge bases, graph stores, etc. The term “Support for Multiple
+ Graphs and Graph Stores” is used as a neutral term in this charter;
+ this term is not and should not be considered as definitive.
+ The Working Group will have to define the right term(s).</blockquote>
+
+ <p>Progress on the design for this feature is tracked under multiple
+ issues:</p>
+
+ <ul>
+ <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/5">ISSUE-5: Should we define Graph Literal datatypes?</a></li>
+ <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/14">ISSUE-14: What is a named graph and what should we call it?</a></li>
+ <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/15">ISSUE-15: What is the relationship between the IRI and the triples in a dataset/quad-syntax/etc</a></li>
+ <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/17">ISSUE-17: How are RDF datasets to be merged?</a></li>
+ <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/22">ISSUE-22: Does multigraph syntax need to support empty graphs?</a></li>
+ <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/28">ISSUE-28: Do we need syntactic nesting of graphs (g-texts) as in N3?</a></li>
+ <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/29">ISSUE-29: Do we support SPARQL's notion of "default graph"?</a></li>
+ <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/30">ISSUE-30: How does SPARQL's notion of RDF dataset relate our notion of multiple graphs?</a></li>
+ <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/32">ISSUE-32: Can we identify both g-boxes and g-snaps?</a></li>
+ <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/33">ISSUE-33: Do we provide a way to refer to sub-graphs and/or individual triples?</a></li>
+ </ul>
+ </div>
+</div>
+
+</div>
+
+
+<div id="section-fragID" class="informative section" typeof="bibo:Chapter" about="#section-fragID">
+ <!--OddPage--><h2><span class="secno">7. </span>Fragment Identifiers</h2><p><em>This section is non-normative.</em></p>
+
+ <p class="issue">This section does not address the case where RDF is
+ embedded in other document formats, such as in RDFa or when an RDF/XML
+ fragment is embedded in SVG. It has been suggested that this may be
+ a general issue for the TAG about the treatment of
+ fragment identifiers when one language is embedded in another. This is
+ <a href="http://www.w3.org/2011/rdf-wg/track/issues/37">ISSUE-37</a>.</p>
+
+ <p class="issue">This section treats the RDF/XML media type as
+ canonical for establishing the referent of IRIs that include
+ fragment identifier. Today we have many different media types
+ that can carry RDF graphs, and HTTP content negotiation is more
+ common. Also, the problem addressed in the section
+ (context-dependence of fragment identifiers) has to some extent
+ gone away when RFC 2396 was replaced by RFC 3986. The latter
+ states that the same fragment should be used for the same thing
+ in resources that have multiple representations
+ (Section 3.5 [<cite><a class="bibref" rel="biblioentry" href="#bib-URI">URI</a></cite>]). This is
+ <a href="http://www.w3.org/2011/rdf-wg/track/issues/69">ISSUE-69</a>.</p>
+
+ <p>RDF uses <a title="IRI" href="#dfn-iri" class="internalDFN">IRIs</a>,
+ which may include fragment identifiers, as
+ context free identifiers for resources. RFC 2396 states
+ that the meaning of a fragment
+ identifier depends on the MIME content-type of a document, i.e.
+ is context dependent.</p>
+ <p>These apparently conflicting views are reconciled by
+ considering that an <a href="#dfn-iri" class="internalDFN">IRI</a> in an RDF graph is treated
+ with respect to the MIME type <code>application/rdf+xml</code>
+ [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-MIME-TYPE">RDF-MIME-TYPE</a></cite>]. Given an IRI that includes a fragment identifier,
+ the fragment identifer identifies the same thing
+ that it does in an <code>application/rdf+xml</code> representation of the
+ resource identified by the IRI excluding the fragment identifier. Thus:</p>
+ <ul>
+ <li>we assume that the IRI excluding fragment
+ identifier identifies a resource, which is presumed to have
+ an RDF representation. So when <code>eg:someurl#frag</code> is used in an RDF
+ document, <code>eg:someurl</code> is taken to
+ designate some RDF document (even when no such document can
+ be retrieved).</li>
+ <li><code>eg:someurl#frag</code> means the thing
+ that is indicated, according to the rules of the
+ <code>application/rdf+xml</code> MIME content-type as
+ a “fragment” or “view” of the RDF document at
+ <code>eg:someurl</code>. If the document does not
+ exist, or cannot be retrieved, or is available only in
+ formats other than <code>application/rdf+xml</code>, then exactly what
+ that view may be is somewhat undetermined, but that does not
+ prevent use of RDF to say things about it.</li>
+ <li>the RDF treatment of a fragment identifier allows it to
+ indicate a thing that is entirely external to the document,
+ or even to the “shared information space” known as the Web.
+ That is, it can be a more general idea, like some particular
+ car or a mythical Unicorn.</li>
+ <li>in this way, an <code>application/rdf+xml</code> document acts as an
+ intermediary between some Web retrievable documents (itself,
+ at least, also any other Web retrievable IRIs that it may
+ use, possibly including schema IRIs and references to other
+ RDF documents), and some set of possibly abstract or non-Web
+ entities that the RDF may describe.</li>
+ </ul>
+ <p>This provides a handling of IRIs and their
+ denotation that is consistent with the RDF model theory and
+ usage, and also with conventional Web behavior. Note that
+ nothing here requires that an RDF application be able to
+ retrieve any representation of resources identified by the IRIs
+ in an RDF graph.</p>
+</div>
+
+
+<div id="section-Acknowledgments" class="informative section" typeof="bibo:Chapter" about="#section-Acknowledgments">
+ <!--OddPage--><h2><span class="secno">8. </span>Acknowledgments</h2><p><em>This section is non-normative.</em></p>
+
+ <p class="issue">This section does not yet list those who made
+ contributions to the RDF 1.1 version, nor does it list the
+ current RDF WG members.</p>
+
+ <p>The RDF 2004 editors acknowledge valuable contributions from
+ Frank Manola, Pat Hayes, Dan Brickley, Jos de Roo,
+ Dave Beckett, Patrick Stickler, Peter F. Patel-Schneider, Jerome Euzenat,
+ Massimo Marchiori, Tim Berners-Lee, Dave Reynolds and Dan Connolly.</p>
+
+ <p>This specification contains a significant contribution from the
+ designers of the RDF typed literal mechanism, Pat
+ Hayes, Sergey Melnik and Patrick Stickler. The document draws upon an earlier
+ RDF Model and Syntax document edited by Ora Lassilla and Ralph Swick,
+ and RDF Schema edited by Dan Brickley and R. V. Guha.</p>
+
+ <p>This specification is a product of extended deliberations by the
+ <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Acknowledgments">members
+ of the RDFcore Working Group and the RDF and RDF Schema Working Group</a>.</p>
+</div>
+
+
+<div class="appendix informative section" id="changes" typeof="bibo:Chapter" about="#changes">
+ <!--OddPage--><h2><span class="secno">A. </span>Changes from RDF 2004</h2><p><em>This section is non-normative.</em></p>
+
+ <ul>
+ <li>2011-08-13: Updated Turtle reference to Turtle FPWD</li>
+ <li>2011-07-21: Condensed the 2004 acknowledgements</li>
+ <li>2011-07-21: Updated the two sections on literals to reflect the <a href="">ISSUE-12 resolution</a> that simple literals are no longer part of the abstract syntax. Formally introduced the terms “language-tagged literal”, “simple literal”.</li>
+ <li>2011-07-21: Updated the introduction, and removed many mentions of RDF/XML. Changed the normative reference for the terms in the RDF namespace from the RDF/XML spec to the RDF Schema spec. Removed any mention of the 1999 version of RDF.</li>
+ <li>2011-07-21: Replaced RFC 2279 reference (UTF-8) with RFC 3629</li>
+ <li>2011-07-20: Removed informative sections “Motivations and Goals” (see <a href="http://www.w3.org/TR/rdf-concepts/#section-Overview">RDF 2004 version</a>) and “RDF Expression of Simple Facts” (see <a href="http://www.w3.org/TR/rdf-concepts/#section-SimpleFacts">RDF 2004 version</a>)</li>
+ <li>2011-06-01: Replaced the URI References section with <a href="#section-IRIs">new section on IRIs</a>, and changed “RDF URI Reference” to “IRI” throughout the document.</li>
+ <li>2011-06-01: Changed language tag definition to require well-formedness according to BCP47; added a note that this invalidates some RDF</li>
+ <li>2011-05-25: Added boxes for known WG issues throught the document</li>
+ <li>2011-05-25: Deleted “Structure of this Document” section, it added no value beyond the TOC</li>
+ <li>2011-05-25: Implemented resolution of <a href="http://www.w3.org/2011/rdf-wg/track/issues/40">ISSUE-40: Skolemization advice in the RDF dcocument</a> by adding a section on <a href="#section-skolemization">Replacing Blank Nodes with IRIs</a></li>
+ <li>2011-05-25: rdf:XMLLiteral is disjoint from any datatype not explicitly related to it, per erratum <a href="http://www.w3.org/2001/sw/RDFCore/errata#concept-xmlliteral">[concept-xmlliteral]</a></li>
+ <li>2011-05-25: Added Conformance section with RFC2119 reference</li>
+ <li>2011-05-25: Updated all W3C references to latest editions, and Unicode from v3 to v4</li>
+ <li>2011-05-24: Converted to ReSpec, changed metadata to reflect RDF 1.1</li>
+ </ul>
+</div>
+
+
+
+
+
+
+
+<div id="references" class="appendix section" typeof="bibo:Chapter" about="#references"><!--OddPage--><h2><span class="secno">B. </span>References</h2><div id="normative-references" typeof="bibo:Chapter" about="#normative-references" class="section"><h3><span class="secno">B.1 </span>Normative references</h3><dl class="bibliography" about=""><dt id="bib-BCP47">[BCP47]</dt><dd rel="dcterms:requires">A. Phillips; M. Davis. <a href="http://tools.ietf.org/html/bcp47"><cite>Tags for Identifying Languages</cite></a> September 2009. IETF Best Current Practice. URL: <a href="http://tools.ietf.org/html/bcp47">http://tools.ietf.org/html/bcp47</a>
+</dd><dt id="bib-IRI">[IRI]</dt><dd rel="dcterms:requires">M. Duerst, M. Suignard. <a href="http://www.ietf.org/rfc/rfc3987.txt"><cite>Internationalized Resource Identifiers (IRI).</cite></a> January 2005. Internet RFC 3987. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3987.txt</a>
+</dd><dt id="bib-NFC">[NFC]</dt><dd rel="dcterms:requires">M. Davis, Ken Whistler. <a href="http://www.unicode.org/reports/tr15/"><cite>TR15, Unicode Normalization Forms.</cite></a>. 17 September 2010, URL: <a href="http://www.unicode.org/reports/tr15/">http://www.unicode.org/reports/tr15/</a>
+</dd><dt id="bib-RDF-MT">[RDF-MT]</dt><dd rel="dcterms:requires">Patrick Hayes. <a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210"><cite>RDF Semantics.</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210">http://www.w3.org/TR/2004/REC-rdf-mt-20040210</a>
+</dd><dt id="bib-RDF-SCHEMA">[RDF-SCHEMA]</dt><dd rel="dcterms:requires">Dan Brickley; Ramanathan V. Guha. <a href="http://www.w3.org/TR/2004/REC-rdf-schema-20040210"><cite>RDF Vocabulary Description Language 1.0: RDF Schema.</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-schema-20040210">http://www.w3.org/TR/2004/REC-rdf-schema-20040210</a>
+</dd><dt id="bib-RFC2119">[RFC2119]</dt><dd rel="dcterms:requires">S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key words for use in RFCs to Indicate Requirement Levels.</cite></a> March 1997. Internet RFC 2119. URL: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>
+</dd><dt id="bib-UNICODE">[UNICODE]</dt><dd rel="dcterms:requires">The Unicode Consortium. <a href="http://www.unicode.org/unicode/standard/versions/enumeratedversions.html"><cite>The Unicode Standard.</cite></a> 2003. Defined by: The Unicode Standard, Version 4.0 (Boston, MA, Addison-Wesley, ISBN 0-321-18578-1), as updated from time to time by the publication of new versions URL: <a href="http://www.unicode.org/unicode/standard/versions/enumeratedversions.html">http://www.unicode.org/unicode/standard/versions/enumeratedversions.html</a>
+</dd><dt id="bib-UTF-8">[UTF-8]</dt><dd rel="dcterms:requires">F. Yergeau. <a href="http://www.ietf.org/rfc/rfc3629.txt"><cite>UTF-8, a transformation format of ISO 10646</cite></a>. IETF RFC 3629. November 2003. URL: <a href="http://www.ietf.org/rfc/rfc3629.txt">http://www.ietf.org/rfc/rfc3629.txt</a>
+</dd><dt id="bib-XML-EXC-C14N">[XML-EXC-C14N]</dt><dd rel="dcterms:requires">Donald E. Eastlake 3rd; Joseph Reagle; John Boyer. <a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/"><cite>Exclusive XML Canonicalization Version 1.0.</cite></a> 18 July 2002. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/">http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/</a>
+</dd><dt id="bib-XML-NAMES">[XML-NAMES]</dt><dd rel="dcterms:requires">Richard Tobin; et al. <a href="http://www.w3.org/TR/2009/REC-xml-names-20091208/"><cite>Namespaces in XML 1.0 (Third Edition).</cite></a> 8 December 2009. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2009/REC-xml-names-20091208/">http://www.w3.org/TR/2009/REC-xml-names-20091208/</a>
+</dd><dt id="bib-XML10">[XML10]</dt><dd rel="dcterms:requires">C. M. Sperberg-McQueen; et al. <a href="http://www.w3.org/TR/2008/REC-xml-20081126/"><cite>Extensible Markup Language (XML) 1.0 (Fifth Edition).</cite></a> 26 November 2008. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2008/REC-xml-20081126/">http://www.w3.org/TR/2008/REC-xml-20081126/</a>
+</dd><dt id="bib-XMLSCHEMA-2">[XMLSCHEMA-2]</dt><dd rel="dcterms:requires">Paul V. Biron; Ashok Malhotra. <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/"><cite>XML Schema Part 2: Datatypes Second Edition.</cite></a> 28 October 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/</a>
+</dd></dl></div><div id="informative-references" typeof="bibo:Chapter" about="#informative-references" class="section"><h3><span class="secno">B.2 </span>Informative references</h3><dl class="bibliography" about=""><dt id="bib-CHARMOD">[CHARMOD]</dt><dd rel="dcterms:references">Martin J. Dürst; et al. <a href="http://www.w3.org/TR/2005/REC-charmod-20050215"><cite>Character Model for the World Wide Web 1.0: Fundamentals.</cite></a> 15 February 2005. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2005/REC-charmod-20050215">http://www.w3.org/TR/2005/REC-charmod-20050215</a>
+</dd><dt id="bib-N-TRIPLES">[N-TRIPLES]</dt><dd rel="dcterms:references">Jan Grant; Dave Beckett. <a href="http://www.w3.org/TR/rdf-testcases/#ntriples"><cite>N-Triples</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/rdf-testcases/#ntriples">http://www.w3.org/TR/rdf-testcases/#ntriples</a>
+</dd><dt id="bib-RDF-MIME-TYPE">[RDF-MIME-TYPE]</dt><dd rel="dcterms:references"><a href="http://www.iana.org/assignments/media-types/"><cite>MIME Media Types</cite></a>, The Internet Assigned Numbers Authority (IANA). This document is http://www.iana.org/assignments/media-types/ . The <a href="http://www.w3.org/2001/sw/RDFCore/mediatype-registration">registration for <code>application/rdf+xml</code></a> is archived at http://www.w3.org/2001/sw/RDFCore/mediatype-registration .
+</dd><dt id="bib-RDF-PLAINLITERAL">[RDF-PLAINLITERAL]</dt><dd rel="dcterms:references">Jie Bao; Sandro Hawke; Boris Motik; Peter F. Patel-Schneider; Axel Polleres. <a href="http://www.w3.org/TR/2009/REC-rdf-plain-literal-20091027/"><cite>rdf:PlainLiteral: A Datatype for RDF Plain Literals.</cite></a> 27 October 2009. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2009/REC-rdf-plain-literal-20091027/">http://www.w3.org/TR/2009/REC-rdf-plain-literal-20091027/</a>
+</dd><dt id="bib-RDF-PRIMER">[RDF-PRIMER]</dt><dd rel="dcterms:references">Frank Manola; Eric Miller. <a href="http://www.w3.org/TR/2004/REC-rdf-primer-20040210/"><cite>RDF Primer.</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-primer-20040210/">http://www.w3.org/TR/2004/REC-rdf-primer-20040210/</a>
+</dd><dt id="bib-RDF-SYNTAX-GRAMMAR">[RDF-SYNTAX-GRAMMAR]</dt><dd rel="dcterms:references">Dave Beckett. <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210"><cite>RDF/XML Syntax Specification (Revised).</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210">http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210</a>
+</dd><dt id="bib-RDF-TESTCASES">[RDF-TESTCASES]</dt><dd rel="dcterms:references">Jan Grant; Dave Beckett. <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210"><cite>RDF Test Cases.</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210">http://www.w3.org/TR/2004/REC-rdf-testcases-20040210</a>
+</dd><dt id="bib-RDFA-PRIMER">[RDFA-PRIMER]</dt><dd rel="dcterms:references">Mark Birbeck; Ben Adida. <a href="http://www.w3.org/TR/2008/NOTE-xhtml-rdfa-primer-20081014"><cite>RDFa Primer.</cite></a> 14 October 2008. W3C Note. URL: <a href="http://www.w3.org/TR/2008/NOTE-xhtml-rdfa-primer-20081014">http://www.w3.org/TR/2008/NOTE-xhtml-rdfa-primer-20081014</a>
+</dd><dt id="bib-TURTLE-TR">[TURTLE-TR]</dt><dd rel="dcterms:references">Eric Prud'hommeaux, Gavin Carothers. <a href="http://www.w3.org/TR/2011/WD-turtle-20110809/"><cite>Turtle: Terse RDF Triple Language.</cite></a> 09 August 2011. W3C Working Draft. URL: <a href="http://www.w3.org/TR/2011/WD-turtle-20110809/">http://www.w3.org/TR/2011/WD-turtle-20110809/</a>
+</dd><dt id="bib-URI">[URI]</dt><dd rel="dcterms:references">T. Berners-Lee; R. Fielding; L. Masinter. <a href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource Identifiers (URI): generic syntax.</cite></a> January 2005. Internet RFC 3986. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a>
+</dd><dt id="bib-WELL-KNOWN">[WELL-KNOWN]</dt><dd rel="dcterms:references">M. Nottingham; E. Hammer-Lahav. <a href="http://tools.ietf.org/html/rfc5785"><cite>Defining Well-Known Uniform Resource Identifiers (URIs).</cite></a> April 2010. Internet RFC 5785. URL: <a href="http://tools.ietf.org/html/rfc5785">http://tools.ietf.org/html/rfc5785</a>
+</dd><dt id="bib-XHTML10">[XHTML10]</dt><dd rel="dcterms:references">Steven Pemberton. <a href="http://www.w3.org/TR/2002/REC-xhtml1-20020801/"><cite>XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition).</cite></a> 1 August 2002. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2002/REC-xhtml1-20020801/">http://www.w3.org/TR/2002/REC-xhtml1-20020801/</a>
+</dd><dt id="bib-XML-INFOSET">[XML-INFOSET]</dt><dd rel="dcterms:references">John Cowan; Richard Tobin. <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/"><cite>XML Information Set (Second Edition).</cite></a> 4 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/">http://www.w3.org/TR/2004/REC-xml-infoset-20040204/</a>
+</dd><dt id="bib-XML11">[XML11]</dt><dd rel="dcterms:references">Eve Maler; et al. <a href="http://www.w3.org/TR/2006/REC-xml11-20060816"><cite>Extensible Markup Language (XML) 1.1 (Second Edition).</cite></a> 16 August 2006. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2006/REC-xml11-20060816">http://www.w3.org/TR/2006/REC-xml11-20060816</a>
+</dd><dt id="bib-XMLSCHEMA-1">[XMLSCHEMA-1]</dt><dd rel="dcterms:references">Henry S. Thompson; et al. <a href="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/"><cite>XML Schema Part 1: Structures Second Edition.</cite></a> 28 October 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/">http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/</a>
+</dd><dt id="bib-XPATH">[XPATH]</dt><dd rel="dcterms:references">James Clark; Steven DeRose. <a href="http://www.w3.org/TR/1999/REC-xpath-19991116/"><cite>XML Path Language (XPath) Version 1.0.</cite></a> 16 November 1999. W3C Recommendation. URL: <a href="http://www.w3.org/TR/1999/REC-xpath-19991116/">http://www.w3.org/TR/1999/REC-xpath-19991116/</a>
+</dd></dl></div></div></body></html>
--- a/rdf-concepts/index.html Wed Aug 17 16:15:17 2011 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1201 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>RDF 1.1 Concepts and Abstract Syntax</title>
- <style>
-.figure { font-weight: bold; text-align: center; }
- </style>
- <script src='../ReSpec.js/js/respec.js' class='remove'></script>
- <script class='remove'>
- var respecConfig = {
- // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
- specStatus: "FPWD",
-
- // the specification's short name, as in http://www.w3.org/TR/short-name/
- shortName: "rdf11-concepts",
-
- // if your specification has a subtitle that goes below the main
- // formal title, define it here
- // subtitle : "an excellent document",
-
- // if you wish the publication date to be other than today, set this
- publishDate: "2011-08-23",
-
- // if the specification's copyright date is a range of years, specify
- // the start date here:
- copyrightStart: "2004",
-
- // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
- // and its maturity status
-// previousPublishDate: "2004-02-10",
-// previousMaturity: "REC",
-
- // if there a publicly available Editor's Draft, this is the link
-//@@@
- edDraftURI: "http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html",
-
- // if this is a LCWD, uncomment and set the end of its review period
- // lcEnd: "2009-08-05",
-
- // if there is an earler version of this specification at the Recommendation level,
- // set this to the shortname of that version. This is optional and not usually
- // necessary.
- prevRecShortname: "rdf-concepts",
-
- // if you want to have extra CSS, append them to this list
- // it is recommended that the respec.css stylesheet be kept
- extraCSS: ["http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css"],
-
- // editors, add as many as you like
- // only "name" is required
- editors: [
- { name: "Richard Cyganiak", url: "http://richard.cyganiak.de/",
- company: "DERI, NUI Galway", companyURL: "http://www.deri.ie/",
- },
-// @@@ Details for David?
- { name: "David Wood", // url: "http://example.org/",
- company: "Talis", companyURL: "http://www.talis.com/",
- },
- ],
- otherContributors: {
- "Previous editor": [
-// @@@ Graham's affiliation has changed
- { name: "Graham Klyne",
- url: "http://www.ninebynine.org/",
- company: "Nine by Nine",
- //companyURL: "http://example.com/"
- //mailto: "GK@NineByNine.org",
- },
-// @@@ Jeremy's affiliation has changed
- { name: "Jeremy J. Carroll",
- //url: "http://www-uk.hpl.hp.com/people/jjc/",
- company: "Hewlett Packard Labs",
- //companyURL: "http://example.com/"
- //mailto: "jjc@hpl.hp.com",
- },
-// @@@ Brian's affiliation has changed
- { name: "Brian McBride",
- //url: "http://www-uk.hpl.hp.com/people/bwm/",
- company: "Hewlett Packard Labs",
- //companyURL: "http://example.com/"
- //mailto: "bwm@hplb.hpl.hp.com",
- note: "RDF 2004 Series Editor",
- },
- ],
- },
-
- // authors, add as many as you like.
- // This is optional, uncomment if you have authors as well as editors.
- // only "name" is required. Same format as editors.
-
- //authors: [
- // { name: "Your Name", url: "http://example.org/",
- // company: "Your Company", companyURL: "http://example.com/" },
- //],
-
- // name of the WG
- wg: "RDF Working Group",
-
- // URI of the public WG page
- wgURI: "http://www.w3.org/2011/rdf-wg/",
-
- // name (with the @w3c.org) of the public mailing to which comments are due
- wgPublicList: "public-rdf-comments",
-
- // URI of the patent status for this WG, for Rec-track documents
- // !!!! IMPORTANT !!!!
- // This is important for Rec-track documents, do not copy a patent URI from a random
- // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
- // Team Contact.
- wgPatentURI: "http://www.w3.org/2004/01/pp-impl/46168/status",
-
- // if this parameter is set to true, ReSpec.js will embed various RDFa attributes
- // throughout the generated specification. The triples generated use vocabulary items
- // from the dcterms, foaf, and bibo. The parameter defaults to false.
- doRDFa: true,
- };
-
-// @@@ A number of references have been patched into the local berjon.biblio and need to be added to the global biblio in CVS:
- </script>
- </head>
-
- <body>
-
-<section id="abstract">
- <p>The Resource Description Framework (RDF) is a framework for
- representing information in the Web.</p>
- <p>RDF Concepts and Abstract Syntax defines an abstract syntax
- on which RDF is based, and which serves to link its concrete
- syntax to its formal semantics. It also includes discussion of
- key concepts, datatyping, character normalization
- and handling of IRIs.</p>
-</section>
-
-
-<section id="sotd">
- <p>This document is work in progress towards a revision of the
- <a href="http://www.w3.org/TR/rdf-concepts/"><em>RDF Concepts
- and Abstract Syntax</em></a> Recommendation,
- and is intended to eventually replace that document.
- It is part of a larger effort to revise the
- <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Introduction">RDF specifications as published in 2004</a>.
- The most significant changes from the 2004 edition are:
- modified <a href="#section-Graph-Literal">string literals</a>,
- a <a href="#section-skolemization">section on skolemization
- of blank nodes</a>, and many updated
- <a href="#references">references</a> to other specifications
- (including a change in terminology from
- “URI references” to “IRIs”). A fuller list of changes that
- have been made to date is provided in <a href="#changes">Appendix A</a>.
- Various areas of work to be tackled in upcoming
- working drafts are highlighted throughout the document, but
- should not yet be understood as an exhaustive list.</p>
-</section>
-
-
-<section id="section-Introduction">
- <h2>Introduction</h2>
-
- <p class="issue">This document reflects current progress of the RDF Working
- Group towards updating the
- <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">2004
- version of <em>RDF Concepts and Abstract Syntax</em></a>. The
- editors expect to work on a number of issues, some of which are
- listed in boxes like this throughout the document.</p>
-
- <p>The Resource Description Framework (RDF) is a framework for
- representing information in the Web.</p>
-
- <p>This document defines an abstract syntax (a data model)
- on which RDF is based,
- and which serves to link concrete syntaxes to its formal
- semantics. It also includes discussion of
- key concepts, datatyping, character normalization
- and handling of IRIs.</p>
-
- <p>Normative documentation of RDF falls into the following
- areas:</p>
-
- <ul>
- <li>Serialization syntaxes (Turtle [[TURTLE-TR]], RDFa [[RDFA-PRIMER]], RDF/XML [[RDF-SYNTAX-GRAMMAR]], N-Triples [[N-TRIPLES]]),</li>
-
- <li>the RDF Vocabulary Description Language ([[RDF-SCHEMA]]),</li>
-
- <li>a formal model-theoretic semantics [[!RDF-MT]], and</li>
-
- <li>this document.</li>
- </ul>
-
- <p>The framework is designed so that vocabularies can be layered.
- The terms defined in [[RDF-SCHEMA]] are the first such vocabulary.
- Several other vocabularies for RDF are
- mentioned in the Primer [[RDF-PRIMER]].</p>
-</section>
-
-
-<section id="conformance"></section>
-
-
-<section id="section-Concepts" class="informative">
- <h2>RDF Concepts</h2>
-
- <p class="issue">This section is quite redundant with later
- normative sections and the RDF Primer. Its removal has been
- proposed. This is
- <a href="http://www.w3.org/2011/rdf-wg/track/issues/68">ISSUE-68</a>.</p>
-
- <p>RDF uses the following key concepts:</p>
-
- <ul>
- <li>Graph data model</li>
-
- <li>IRI-based vocabulary</li>
-
- <li>Datatypes</li>
-
- <li>Literals</li>
-
- <li>Entailment</li>
- </ul>
-
-
-<section id="section-data-model">
- <h3>Graph Data Model</h3>
-
- <p>The underlying structure of any expression in RDF is a
- collection of triples, each consisting of a subject, a
- predicate and an object. A set of such triples is called an RDF
- graph (defined more formally in
-<a href="#section-Graph-syntax">section 6</a>). This can be
- illustrated by a node and directed-arc diagram, in which each
- triple is represented as a node-arc-node link (hence the term
- “graph”).</p>
-
- <div class="figure">
- <img src="Graph-ex.gif" alt="image of the RDF triple comprising (subject, predicate, object)" />
- </div>
-
- <p>Each triple represents a statement of a relationship between
- the things denoted by the nodes that it links. Each triple has
- three parts:</p>
- <ol>
- <li>a <a>subject</a>,</li>
- <li>an <a>object</a>, and</li>
- <li>a <a>predicate</a> (also called a
- <a>property</a>) that denotes a
- relationship.</li>
- </ol>
- <p>The direction of the arc is significant: it always points
- toward the object.</p>
- <p>The <a title="node">nodes</a> of an RDF graph
- are its subjects and objects.</p>
- <p>The assertion of an RDF triple says that some relationship,
- indicated by the predicate, holds between the things denoted by
- subject and object of the triple. The assertion of an RDF graph
- amounts to asserting all the triples in it, so the meaning of
- an RDF graph is the conjunction (logical AND) of the statements
- corresponding to all the triples it contains. A formal account
- of the meaning of RDF graphs is given in [[!RDF-MT]].</p>
-</section>
-
-
-<section id="section-IRI-Vocabulary">
- <h3>IRI-based Vocabulary and Node Identification</h3>
-
- <p>A <a>node</a> may be an <a>IRI</a>, a <a>literal</a>,
- or <a title="blank node">blank</a> (having no separate form of identification).
- Properties are <a title="IRI">IRIs</a>.</p>
- <p>An <a>IRI</a> or <a>literal</a> used as a node identifies what
- that node represents. An IRI used as a predicate
- identifies a relationship between the things represented by the nodes it connects. A
- predicate IRI may also be a node in the graph.</p>
- <p>A <a>blank node</a> is a node that is
- not an IRI or a literal. In the RDF abstract syntax, a
- blank node is just a unique node that can be used in one or
- more RDF statements.</p>
- <p>A convention used by some linear representations of an RDF
- graph to allow several statements to use the same
- blank node is to use a <dfn>blank node
- identifier</dfn>, which is a local identifier that can be
- distinguished from all IRIs and literals. When graphs are
- merged, their blank nodes must be kept distinct if meaning is
- to be preserved; this may call for re-allocation of blank node
- identifiers. Note that such blank node identifiers are not part
- of the RDF abstract syntax, and the representation of triples
- containing blank nodes is entirely dependent on the particular
- concrete syntax used.</p>
-</section>
-
-
-<section name="section-Datatypes-intro">
- <h3>Datatypes</h3>
-
- <p>Datatypes are used by RDF in the representation of values such
- as integers, floating point numbers and dates.</p>
-
- <p>
-A datatype consists of a lexical space, a value space and a lexical-to-value
-mapping, see <a href="#section-Datatypes">section 5</a>.
-</p>
-
- <p>For example, the lexical-to-value mapping for the XML Schema datatype
- <var>xsd:boolean</var>, where each member of the value space
- (represented here as 'T' and 'F') has two lexical representations,
- is as follows:</p>
-
- <table border="1" cellpadding="5" summary=
- "A table detailing the xsd:boolean datatype.">
- <tr>
- <th align="left">Value Space</th>
-
- <td>{T, F}</td>
- </tr>
-
- <tr>
- <th align="left">Lexical Space</th>
-
- <td>{"0", "1", "true", "false"}</td>
- </tr>
-
- <tr>
- <th align="left">Lexical-to-Value Mapping</th>
-
- <td>{<"true", T>, <"1", T>, <"0", F>,
- <"false", F>}</td>
- </tr>
- </table>
-
- <p>RDF predefines just one datatype <code><a>rdf:XMLLiteral</a></code>, used for
- embedding XML in RDF (see <a href="#section-XMLLiteral">section
- 5.1</a>).</p>
-
- <p>There is no built-in concept of numbers or dates or other common
- values. Rather, RDF defers to datatypes that are defined
- separately, and identified with <a title="IRI">IRIs</a>.
- The predefined XML Schema
- datatypes [[!XMLSCHEMA-2]] are expected
- to be widely used for this purpose.</p>
-
-
- <p>RDF provides no mechanism for defining new datatypes. XML Schema
- Datatypes [[!XMLSCHEMA-2]] provides an
- extensibility framework suitable for defining new datatypes for use
- in RDF.</p>
-</section>
-
-
-<section name="section-Literals">
- <h3>Literals</h3>
-
- <p><a title="literal">Literals</a> are used to identify values such as numbers and dates
- by means of a lexical representation. Anything represented by a
- literal could also be represented by an <a>IRI</a>, but it is often more
- convenient or intuitive to use literals.</p>
-
- <p>A literal may be the object of an RDF statement, but not the
- subject or the predicate.</p>
-
- <p>Literals may be <cite>typed</cite> or <cite>language-tagged</cite>:</p>
-
- <ul>
- <li>A <a>typed literal</a> is a string combined with a
- <a>datatype IRI</a>. It denotes the
- member of the identified datatype's value space obtained by
- applying the lexical-to-value mapping to the literal string.</li>
-
- <li>A <a>language-tagged literal</a> is a string combined
- with a language tag. This may be used for
- plain text in a natural language. Language-tagged literals
- are self-denoting.</li>
- </ul>
-
- <p>Continuing the example from <a href="#section-Datatypes-intro">section
- 3.3</a>, the typed literals that can be defined using the XML
- Schema datatype <var>xsd:boolean</var> are:</p>
-
- <table border="1" cellpadding="5" summary=
- "This table lists the literals of type xsd:boolean.">
- <tr>
- <th>Typed Literal</th>
-
- <th>Lexical-to-Value Mapping</th>
-
- <th>Value</th>
- </tr>
-
- <tr>
- <td align="center"><xsd:boolean, "true"></td>
-
- <td align="center"><"true", T></td>
-
- <td align="center">T</td>
- </tr>
-
- <tr>
- <td align="center"><xsd:boolean, "1"></td>
-
- <td align="center"><"1", T></td>
-
- <td align="center">T</td>
- </tr>
-
- <tr>
- <td align="center"><xsd:boolean, "false"></td>
-
- <td align="center"><"false", F></td>
-
- <td align="center">F</td>
- </tr>
-
- <tr>
- <td align="center"><xsd:boolean, "0"></td>
-
- <td align="center"><"0", F></td>
-
- <td align="center">F</td>
- </tr>
- </table>
-
- <p>For text that may contain
- markup, use typed literals
-with type <a href="#section-XMLLiteral">rdf:XMLLiteral</a>.
-If language annotation is required,
-it must be explicitly included as markup, usually by means of an
-<code>xml:lang</code> attribute.
-XHTML [[XHTML10]] may be included within RDF
-in this way. Sometimes, in this latter case,
- an additional <code>span</code> or <code>div</code>
- element is needed to carry an
-<code>xml:lang</code> or <code>lang</code> attribute.
- </p>
-
-<p class="issue">Update the XHTML 1.0 reference to something more recent?</p>
-
-<p>
-The string in both plain and typed literals is recommended to
-be in Unicode Normal Form C [[!NFC]]. This is motivated
-by [[CHARMOD]] particularly
-<a href="http://www.w3.org/TR/2003/WD-charmod-20030822/#sec-Normalization">section 4
-Early Uniform Normalization</a>.
-</p>
-
-</section>
-
-
-<section id="section-Entailment">
- <h3>Entailment</h3>
-
- <p>The ideas on meaning and inference in RDF are underpinned by the
- formal concept of <a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#entail">
-<cite>entailment</cite></a>, as
- discussed in the RDF
- semantics document [[!RDF-MT]].
-In brief, an RDF expression A is said to
-<dfn title="entailment">entail</dfn> another RDF expression B
-if every possible
-arrangement of things in the world that makes A true also makes B
-true. On this basis, if the truth of A is presumed or demonstrated
-then the truth of B can be inferred .
-</p>
-</section>
-
-</section>
-
-
-<section id="section-URIspaces">
- <h2>RDF Vocabulary IRI and Namespace</h2>
-
- <p>RDF uses <a title="IRI">IRIs</a> to identify resources
- and properties. Certain
- IRIs with the following leading substring are defined by the
- RDF specifications to denote specific concepts:</p>
-
- <ul>
- <li><code>http://www.w3.org/1999/02/22-rdf-syntax-ns#</code>
- (conventionally associated with namespace prefix <code>rdf:</code>)</li>
- </ul>
-
- <p>Vocabulary terms in the <code>rdf:</code>
- namespace are listed and described in detail in the
- RDF Schema specification [[!RDF-SCHEMA]].</p>
-
- <p class="note">The RDF namespace is also used as an
- XML namespace [[XML-NAMES]] to define a number of additional
- element and attribute names for purely syntactic purposes within
- the RDF/XML syntax ([[RDF-SYNTAX-GRAMMAR]],
- <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/#section-Namespace">section 5.1</a>).
- These terms (e.g., <code>rdf:about</code> and <code>rdf:ID</code>)
- do not denote concepts.</p>
-</section>
-
-
-<section name="section-Datatypes">
- <h2>Datatypes</h2>
-
- <p class="issue">This section perhaps should discuss
- <a href="http://www.w3.org/TR/rdf-mt/#dtype_interp">the XSD datatype map</a>
- and <code><a href="http://www.w3.org/TR/rdf-plain-literal/">rdf:PlainLiteral</a></code>.
- This is <a href="http://www.w3.org/2011/rdf-wg/track/issues/70">ISSUE-70</a>.</p>
-
-<p>
-The datatype abstraction used in RDF is compatible with
-the abstraction used in
-XML Schema Part 2:
- Datatypes [[!XMLSCHEMA-2]].</p>
-<p>
-A datatype consists of a lexical space, a value space and a lexical-to-value
-mapping.
-</p>
-<p>The <dfn>lexical space</dfn> of a datatype is a set of Unicode [[!UNICODE]] strings.</p>
-<p>
-The <dfn>lexical-to-value mapping</dfn> of a datatype is a set of pairs whose
-first element belongs to
-the <a>lexical space</a> of the datatype,
-and the second element belongs to the
- <dfn>value space</dfn> of the datatype:
-</p>
-<ul>
-<li>
-Each member of the lexical space is paired with (maps to) exactly one member
-of the value space.
-</li>
-<li>
-Each member of the value space may be paired with any number (including
-zero) of members of the lexical space (lexical representations for that
-value).
-</li>
-</ul>
-<p>
-A datatype is identified by one or more IRIs.
-</p>
-<p>
-RDF may be used with any datatype definition that conforms to this
-abstraction, even if not defined in terms of XML Schema.
-</p>
- <p>Certain XML Schema built-in datatypes are not suitable for use
- within RDF. For example, the
-<a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#QName">QName</a>
-datatype requires a namespace declaration to be in scope during
- the mapping, and is not recommended for use in RDF.
- [[!RDF-MT]] contains a
-<a href="http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#dtype_interp">more detailed discussion</a>
- of specific XML Schema built-in datatypes. </p>
-
-<div class="note">
-<p>When the datatype is defined using XML Schema:
-</p>
-<ul>
-<li>
-All values correspond to some lexical form, either using
-the lexical-to-value mapping of the datatype or if it is a union
-datatype with a lexical mapping associated with one of the member
-datatypes.
-</li>
-<li>
-XML Schema facets remain part of the datatype and are used by the XML
-Schema mechanisms that control the lexical space and the value space;
-however, RDF does not define a standard mechanism to access these facets.</li>
-
-<li>In [[XMLSCHEMA-1]],
-<a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#section-White-Space-Normalization-during-Validation">
-white space normalization</a> occurs
-during
-<a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#key-vn">validation</a>
-according to the value of the
-<a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#rf-whiteSpace">whiteSpace
-facet</a>. The lexical-to-value mapping used in RDF datatyping
-occurs after this, so that the whiteSpace facet has no
-effect in RDF datatyping.
-</li>
-</ul>
-
-</div>
-
-
-<section id="section-XMLLiteral">
- <h3>XML Content within an RDF Graph</h3>
-
- <p class="issue">The canonicalization rules required for XML literals
- are quite complicated. Increasingly, RDF is produced and consumed in
- environments where no XML parser and canonicalization engine is
- available. A possible change to relax the requirements for the
- lexical space, while retaining the value space, is under discussion.
- This is <a href="http://www.w3.org/2011/rdf-wg/track/issues/13">ISSUE-13</a>.</p>
-
- <p>RDF provides for XML content as a possible literal value.
- Such content is indicated in an RDF graph using a typed literal
- whose datatype is a special built-in datatype
- <dfn>rdf:XMLLiteral</dfn>,
- defined as follows.</p>
-
-
- <dl>
- <dt><a name="XMLLiteral-uri" id="XMLLiteral-uri">An IRI for
-identifying this datatype</a></dt>
-
- <dd>is
- <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral</code>.</dd>
-
-
-
-
- <dt><a name="XMLLiteral-lexical-space" id="XMLLiteral-lexical-space">The lexical space</a></dt>
-
-<dd>is the set of all
-strings:
-<ul>
-<li>which are well-balanced, self-contained
-<a href="http://www.w3.org/TR/2000/REC-xml-20001006#NT-content">
-XML content</a>
-[[!XML10]];
-</li>
-<li>for which encoding as UTF-8
-[[!UTF-8]] yields
-<a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/#def-exclusive-canonical-XML">
-exclusive
-Canonical XML </a> (with comments, with empty
-<a href="http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/#def-InclusiveNamespaces-PrefixList">
-InclusiveNamespaces PrefixList
-</a>) [[!XML-EXC-C14N]];
-</li>
-<li>for which embedding between an arbitrary XML start tag and an end tag
-yields a document conforming to <a href=
- "http://www.w3.org/TR/1999/REC-xml-names-19990114/">XML
- Namespaces</a> [[!XML-NAMES]]</li>
-</ul>
-</dd>
-
-
- <dt><a name="XMLLiteral-value-space" id="XMLLiteral-value-space">The value space</a></dt>
-
- <dd>is a set of entities, called XML values, which is:
-<ul>
-<li>disjoint from the lexical space;</li>
-<li>disjoint from the value space of any other datatype that is not explicitly defined as a sub- or supertype of this datatype;</li>
-<li>disjoint from the set of Unicode character strings [[!UNICODE]];</li>
-<li>and in 1:1 correspondence with the lexical space.</li>
-</ul>
-</dd>
-
- <dt><a name="XMLLiteral-mapping" id="XMLLiteral-mapping">The lexical-to-value mapping</a></dt>
-
- <dd>
-is a one-one mapping from the lexical space onto the value space,
- i.e. it is both injective and surjective.
-</dd>
-
-
-
- </dl>
-
- <p class="note">Not all values of this datatype are compliant
- with XML 1.1 [[XML11]]. If compliance
- with XML 1.1 is desired, then only those values that are
-<a href="http://www.w3.org/TR/2002/CR-xml11-20021015/#sec2.13">fully
- normalized</a> according to XML 1.1 should be used.</p>
-
- <p class="note">XML values can be thought of as the
-[[XML-INFOSET]] or the [[XPATH]]
-nodeset corresponding to the lexical form, with an appropriate equality
-function.</p>
-
- <p class="note">RDF applications may use additional equivalence relations, such as
-that which relates an
-<a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#string"><code>xsd:string</code></a>
-
-with an <code>rdf:XMLLiteral</code> corresponding to
-a single text node of the same string.</p>
-
-</section>
-
-</section>
-
-
-<section id="section-Graph-syntax">
- <h2>Abstract Syntax</h2>
-
- <p>This section defines the RDF abstract syntax. The RDF abstract
- syntax is a set of triples, called the RDF graph.</p>
-
- <p>This section also defines equivalence between RDF graphs. A
- definition of equivalence is needed to support the RDF Test Cases
- [[RDF-TESTCASES]] specification.</p>
-
-<p class="note">This <em>abstract</em> syntax is the
-syntax over which the formal semantics are defined.
-Implementations are free to represent RDF graphs in
-any other equivalent form. As an example:
-in an RDF graph,
-literals with datatype <tt>rdf:XMLLiteral</tt> can be represented
-in a non-canonical
-format, and canonicalization performed during the comparison between two
-such literals. In this example the comparisons may be
-being performed either between syntactic structures or
-between their denotations in the domain of discourse.
-Implementations that do not require any such comparisons can
-hence be optimized.
-</p>
-
-
-<section id="section-triples">
- <h3>RDF Triples</h3>
-
- <p>An <dfn>RDF triple</dfn> contains three components:</p>
-
- <ul>
- <li>the <dfn>subject</dfn>, which is an
- <a>IRI</a> or a <a>blank node</a></li>
-
- <li>the <dfn>predicate</dfn>, which is an <a>IRI</a></li>
-
- <li>the <dfn>object</dfn>, which is an <a>IRI</a>,
- a <a>literal</a> or a <a>blank node</a></li>
- </ul>
-
- <p>An RDF triple is conventionally written in the order subject,
- predicate, object.</p>
-
- <p>The predicate is also known as the <dfn>property</dfn> of the triple.</p>
-
- <p><a title="IRI">IRIs</a>, <a title="blank node">blank nodes</a> and
- <a title="literal">literals</a> are collectively known as
- <dfn title="RDF term">RDF terms</dfn>.</p>
-</section>
-
-
-<section id="section-rdf-graph">
- <h3>RDF Graph</h3>
-
- <p>An <dfn>RDF graph</dfn> is a set of RDF triples.</p>
-
- <p>The set of <dfn title="node">nodes</dfn> of an RDF graph is the set of subjects and objects of
- triples in the graph.</p>
-</section>
-
-
-<section id="section-graph-equality">
- <h3>Graph Equivalence</h3>
-
- <p>Two <a title="RDF graph">RDF graphs</a> <var>G</var> and <var>G'</var> are equivalent if there
- is a bijection <var>M</var> between the sets of nodes of the two graphs,
- such that:</p>
-
- <ol>
- <li><var>M</var> maps blank nodes to blank nodes.</li>
- <li><var>M(lit)=lit</var> for all <a title="literal">RDF literals</a> <var>lit</var> which
- are nodes of <var>G</var>.</li>
-
- <li><var>M(uri)=uri</var> for all <a title="IRI">IRIs</a> <var>uri</var>
- which are nodes of <var>G</var>.</li>
-
- <li>The triple <var>( s, p, o )</var> is in <var>G</var> if and
- only if the triple <var>( M(s), p, M(o) )</var> is in
- <var>G'</var></li>
- </ol>
- <p>With this definition, <var>M</var> shows how each blank node
- in <var>G</var> can be replaced with
- a new blank node to give <var>G'</var>.</p>
-</section>
-
-
-<section id="section-IRIs">
- <h3>IRIs</h3>
-
- <p>An <dfn title="IRI"><acronym title="Internationalized Resource Identifier">IRI</acronym></dfn>
- (Internationalized Resource Identifier) within an RDF graph
- is a Unicode string [[!UNICODE]] that conforms to the syntax
- defined in RFC 3987 [[!IRI]]. IRIs are a generalization of
- <dfn title="URI"><acronym title="Uniform Resource Identifier">URI</acronym>s</dfn>
- [[URI]]. Every absolute URI and URL is an IRI.</p>
-
- <p>IRIs in the RDF abstract syntax MUST be absolute, and MAY
- contain a fragment identifier.</p>
-
- <p>Two IRIs are equal if and only if they are equivalent
- under Simple String Comparison according to
- <a href="http://tools.ietf.org/html/rfc3987#section-5.1">section 5.1</a>
- of [[!IRI]]. Further normalization MUST NOT be performed when
- comparing IRIs for equality.</p>
-
- <p class="note">When IRIs are used in operations that are only
- defined for URIs, they must first be converted according to
- the mapping defined in
- <a href="http://tools.ietf.org/html/rfc3987#section-3.1">section 3.1</a>
- of [[!IRI]]. A notable example is retrieval over the HTTP
- protocol. The mapping involves UTF-8 encoding of non-ASCII
- characters, %-encoding of octets not allowed in URIs, and
- Punycode-encoding of domain names.</p>
-
- <p class="note">Some concrete syntaxes permit relative IRIs
- as a shorthand for absolute IRIs, and define how to resolve
- the relative IRIs against a base IRI.</p>
-
- <p class="note">Previous versions of RDF used the term
- “<dfn>RDF URI Reference</dfn>” instead of “IRI” and allowed
- additional characters:
- “<code><</code>”, “<code>></code>”,
- “<code>{</code>”, “<code>}</code>”,
- “<code>|</code>”, “<code>\</code>”,
- “<code>^</code>”, “<code>`</code>”,
- ‘<code>“</code>’ (double quote), and “<code> </code>” (space).
- In IRIs, these characters must be percent-encoded as
- described in <a href="http://tools.ietf.org/html/rfc3986#section-2.1">section 2.1</a>
- of [[URI]].</p>
-
- <div class="note">
- <p>Interoperability problems can be avoided by minting
- only IRIs that are normalized according to
- <a href="http://tools.ietf.org/html/rfc3987#section-5">Section 5</a>
- of [[!IRI]]. Non-normalized forms that should be avoided
- include:</p>
-
- <ul>
- <li>Uppercase characters in scheme names and domain names</li>
- <li>Percent-encoding of characters where it is not
- required by IRI syntax</li>
- <li>Explicitly stated HTTP default port
- (<code>http://example.com:80/</code>);
- <code>http://example.com/</code> is preferrable</li>
- <li>Completely empty path in HTTP IRIs
- (<code>http://example.com</code>);
- <code>http://example.com/</code> is preferrable</li>
- <li>“<code>/./</code>” or “<code>/../</code>” in the path
- component of an IRI</li>
- <li>Lowercase hexadecimal letters within percent-encoding
- triplets (“<code>%3F</code>” is preferable over
- “<code>%3f</code>”)</li>
- <li>Punycode-encoding of Internationalized Domain Names
- in IRIs</li>
- <li>IRIs that are not in Unicode Normalization
- Form C [[!NFC]]</li>
- </ul>
- </div>
-</section>
-
-
-<section id="section-Graph-Literal">
- <h3>RDF Literals</h3>
-
- <p class="issue">This section is a major departure from RDF 2004
- as <a title="simple literal">simple literals</a> are now treated
- as syntactic sugar for <code>xsd:string</code>
- <a title="typed literal">typed literals</a>. Further changes
- to RDF's literal design are under consideration:
- <a title="language-tagged literal">Language-tagged literals</a>
- may receive a datatype, and
- <a href="http://www.w3.org/TR/rdf-plain-literal/"><code>rdf:PlainLiteral</code>s</a> [[RDF-PLAINLITERAL]]
- may be folded into the design somehow. This is
- <a href="http://www.w3.org/2011/rdf-wg/track/issues/71">ISSUE-71</a>.</p>
-
- <p>A <dfn>literal</dfn> in an <a>RDF graph</a> is either a
- <a>typed literal</a> or a <a>language-tagged literal</a>.</p>
-
- <p>All literals have a <dfn>lexical form</dfn> being a Unicode
- [[!UNICODE]] string, which SHOULD be in Normal Form C [[!NFC]].</p>
-
- <p><dfn title="language-tagged literal">Language-tagged literals</dfn> have
- a <a>lexical form</a> and a non-empty <dfn>language tag</dfn> as
- defined by [[!BCP47]]. The language tag MUST be well-formed according to
- <a href="http://tools.ietf.org/html/bcp47#section-2.2.9">section 2.2.9</a>
- of [[!BCP47]], and MUST be normalized to lowercase.</p>
-
- <p><dfn title="typed literal">Typed literals</dfn> have a <a>lexical form</a>
- and a <dfn>datatype IRI</dfn> being an <a>IRI</a>.</p>
-
- <p>Concrete syntaxes MAY support <dfn title="simple literal">simple
- literals</dfn>, consisting of only a <a>lexical form</a>
- without any language tag or datatype IRI. Simple literals only
- exist in concrete syntaxes, and are treated as
- syntactic sugar for abstract syntax
- <a title="plain literal">typed literals</a> with the datatype IRI
- <code>http://www.w3.org/2001/XMLSchema#string</code>.
- Simple literals and <a>language-tagged literals</a> are
- collectively known as <dfn title="plain literal">plain literals</dfn>.</p>
-
- <p class="note">Earlier versions of RDF allowed
- <a title="simple literal">simple literals</a> in the abstract syntax.</p>
-
- <p class="note">Literals in which the lexical form begins with a
- composing character (as defined by [[CHARMOD]]) are allowed however they may cause
- interoperability problems, particularly with XML version 1.1 [[XML11]].</p>
-
- <p class="note">Earlier versions of RDF permitted tags that
- adhered to the generic tag/subtag syntax of language tags,
- but were not well-formed according to [[!BCP47]]. Such
- language tags do not conform to RDF 1.1.</p>
-
- <p class="note">When using the language tag, care must be
- taken not to confuse language with locale. The language
- tag relates only to human language text. Presentational
- issues should
- be addressed in end-user applications.</p>
-
- <p class="note">The case normalization of
-language tags is part of
- the description of the abstract syntax, and consequently the abstract
- behaviour of RDF applications. It does not constrain an
- RDF implementation to actually normalize the case. Crucially, the result
- of comparing two language tags should not be sensitive to the case of
- the original input.</p>
-
-
-<section id="section-Literal-Equality">
- <h4>Literal Equality</h4>
-
- <p>Two literals are equal if and only if all of the following
- hold:</p>
-
- <ul>
- <li>The strings of the two lexical forms compare equal, character
- by character.</li>
-
- <li>Either both or neither have language tags.</li>
-
- <li>The language tags, if any, compare
- equal.</li>
-
- <li>Either both or neither have datatype IRIs.</li>
-
- <li>The two datatype IRIs, if any, compare equal, character by
- character.</li>
- </ul>
-
- <p class="note">RDF Literals are distinct and distinguishable
- from <a title="IRI">IRIs</a>; e.g. <code>http://example.org/</code> as an RDF
- Literal (untyped, without a language tag) is not equal to
- <code>http://example.org/</code> as an IRI.</p>
-</section>
-
-
-<section id="section-Literal-Value">
- <h4>The Value Corresponding to a Typed Literal</h4>
-
- <p>The datatype IRI refers to a <a href=
- "#section-Datatypes">datatype</a>. For XML Schema <a href=
- "http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#built-in-datatypes">
- built-in</a> datatypes, IRIs such as
- <code>http://www.w3.org/2001/XMLSchema#int</code> are used. The IRI
- of the datatype <a href="#section-XMLLiteral"><tt>rdf:XMLLiteral</tt></a> may be used.
- There may be other, implementation dependent, mechanisms by which
- IRIs refer to datatypes.</p>
-
- <p>The <em>value</em> associated with a typed literal is found by
- applying the lexical-to-value mapping associated with the datatype IRI to
- the lexical form.
- </p>
-
- <p>
- If the lexical form is not in
- the lexical space of the datatype associated with the datatype IRI,
-then no literal value can be associated with the typed literal.
-Such a case, while in error, is not <em>syntactically</em> ill-formed.</p>
-<!--
- <p>A typed literal for which the datatype does not map the lexical
- form to a value is not syntactically ill-formed.</p>
--->
-
-
- <p class="note">
-In application contexts, comparing the values of typed literals (see
-<a href="#section-Literal-Value">
-section
-6.5.2</a>)
-is usually more helpful than comparing their syntactic forms (see
-<a href="#section-Literal-Equality">
-section
-6.5.1</a>).
-Similarly, for comparing RDF Graphs,
-semantic notions of entailment (see
-[[!RDF-MT]]) are usually
-more helpful than syntactic equality (see
-<a href="#section-graph-equality">
-section
-6.3</a>).</p>
-
-</section>
-
-</section>
-
-
-<section id="section-blank-nodes">
- <h3>Blank Nodes</h3>
-
-<p>
-The <dfn title="blank node">blank nodes</dfn> in an RDF graph
-are drawn from an infinite set.
-This set of blank nodes, the set of all <a title="IRI">IRIs</a>
-and the set of all <a title="literal">literals</a> are pairwise disjoint.
-</p>
-<p>
-Otherwise, this set of blank nodes is arbitrary.
-</p>
-<p>RDF makes no reference to any internal structure of blank nodes.
-Given two blank nodes, it is
-possible to determine whether or not they are the same.</p>
-
-
-<section id="section-skolemization">
- <h4>Replacing Blank Nodes with IRIs</h4>
-
- <p>Blank nodes do not have identifiers in the RDF abstract syntax. The
- <a title="blank node identifier">blank node identifiers</a> introduced
- by some concrete syntaxes have only
- local scope and are purely an artifact of the serialization.</p>
-
- <p>In situations where stronger identification is needed, systems MAY
- systematically transform some or all of the blank nodes in an RDF graph
- into IRIs [[!IRI]]. Systems wishing to do this SHOULD mint a new, globally
- unique IRI (a <dfn>Skolem IRI</dfn>) for each blank node so transformed.</p>
-
- <p>This transformation does not change the meaning of an RDF graph,
- provided that the Skolem IRIs do not occur anywhere else.</p>
-
- <p>Systems may wish to mint Skolem IRIs in such a way that they can
- recognize the IRIs as having been introduced solely to replace a blank
- node, and map back to the source blank node where possible.</p>
-
- <p>Systems that want Skolem IRIs to be recognizable outside of the system
- boundaries SHOULD use a well-known IRI [[WELL-KNOWN]] with the registered
- name <code>genid</code>. This is an IRI that uses the HTTP or HTTPS scheme,
- or another scheme that has been specified to use well-known IRIs; and whose
- path component starts with <code>/.well-known/genid/</code>.
-
- <p>For example, the authority responsible for the domain
- <code>example.com</code> could mint the following recognizable Skolem IRI:</p>
-
- <pre>http://example.com/.well-known/genid/d26a2d0e98334696f4ad70a677abc1f6</pre>
-
- <p class="issue">IETF registration of the <code>genid</code> name is
- currently in progress.</p>
-
- <p class="note">RFC 5785 [[WELL-KNOWN]] only specifies well-known URIs,
- not IRIs. For the purpose of this document, a well-known IRI is any
- IRI that results in a well-known URI after IRI-to-URI mapping [[!IRI]].</p>
-</section>
-
-</section>
-
-
-<section id="section-multigraph">
- <h2>Abstract Syntax for Working with Multiple Graphs</h2>
-
- <div class="issue">
- <p>The Working Group will standardize a model and semantics for
- multiple graphs and graphs stores. The
- <a href="http://www.w3.org/2011/01/rdf-wg-charter">charter</a> notes:</p>
-
- <blockquote>The RDF Community has used the
- term “named graphs” for a number of years in various settings,
- but this term is ambiguous, and often refers to what could rather
- be referred as quoted graphs, graph literals, IRIs for graphs,
- knowledge bases, graph stores, etc. The term “Support for Multiple
- Graphs and Graph Stores” is used as a neutral term in this charter;
- this term is not and should not be considered as definitive.
- The Working Group will have to define the right term(s).</blockquote>
-
- <p>Progress on the design for this feature is tracked under multiple
- issues:</p>
-
- <ul>
- <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/5">ISSUE-5: Should we define Graph Literal datatypes?</a></li>
- <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/14">ISSUE-14: What is a named graph and what should we call it?</a></li>
- <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/15">ISSUE-15: What is the relationship between the IRI and the triples in a dataset/quad-syntax/etc</a></li>
- <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/17">ISSUE-17: How are RDF datasets to be merged?</a></li>
- <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/22">ISSUE-22: Does multigraph syntax need to support empty graphs?</a></li>
- <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/28">ISSUE-28: Do we need syntactic nesting of graphs (g-texts) as in N3?</a></li>
- <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/29">ISSUE-29: Do we support SPARQL's notion of "default graph"?</a></li>
- <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/30">ISSUE-30: How does SPARQL's notion of RDF dataset relate our notion of multiple graphs?</a></li>
- <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/32">ISSUE-32: Can we identify both g-boxes and g-snaps?</a></li>
- <li><a href="http://www.w3.org/2011/rdf-wg/track/issues/33">ISSUE-33: Do we provide a way to refer to sub-graphs and/or individual triples?</a></li>
- </ul>
- </div>
-</section>
-
-</section>
-
-
-<section id="section-fragID" class="informative">
- <h2>Fragment Identifiers</h2>
-
- <p class="issue">This section does not address the case where RDF is
- embedded in other document formats, such as in RDFa or when an RDF/XML
- fragment is embedded in SVG. It has been suggested that this may be
- a general issue for the TAG about the treatment of
- fragment identifiers when one language is embedded in another. This is
- <a href="http://www.w3.org/2011/rdf-wg/track/issues/37">ISSUE-37</a>.</p>
-
- <p class="issue">This section treats the RDF/XML media type as
- canonical for establishing the referent of IRIs that include
- fragment identifier. Today we have many different media types
- that can carry RDF graphs, and HTTP content negotiation is more
- common. Also, the problem addressed in the section
- (context-dependence of fragment identifiers) has to some extent
- gone away when RFC 2396 was replaced by RFC 3986. The latter
- states that the same fragment should be used for the same thing
- in resources that have multiple representations
- (Section 3.5 [[URI]]). This is
- <a href="http://www.w3.org/2011/rdf-wg/track/issues/69">ISSUE-69</a>.</p>
-
- <p>RDF uses <a title="IRI">IRIs</a>,
- which may include fragment identifiers, as
- context free identifiers for resources. RFC 2396 states
- that the meaning of a fragment
- identifier depends on the MIME content-type of a document, i.e.
- is context dependent.</p>
- <p>These apparently conflicting views are reconciled by
- considering that an <a>IRI</a> in an RDF graph is treated
- with respect to the MIME type <code>application/rdf+xml</code>
- [[RDF-MIME-TYPE]]. Given an IRI that includes a fragment identifier,
- the fragment identifer identifies the same thing
- that it does in an <code>application/rdf+xml</code> representation of the
- resource identified by the IRI excluding the fragment identifier. Thus:</p>
- <ul>
- <li>we assume that the IRI excluding fragment
- identifier identifies a resource, which is presumed to have
- an RDF representation. So when <code>eg:someurl#frag</code> is used in an RDF
- document, <code>eg:someurl</code> is taken to
- designate some RDF document (even when no such document can
- be retrieved).</li>
- <li><code>eg:someurl#frag</code> means the thing
- that is indicated, according to the rules of the
- <code>application/rdf+xml</code> MIME content-type as
- a “fragment” or “view” of the RDF document at
- <code>eg:someurl</code>. If the document does not
- exist, or cannot be retrieved, or is available only in
- formats other than <code>application/rdf+xml</code>, then exactly what
- that view may be is somewhat undetermined, but that does not
- prevent use of RDF to say things about it.</li>
- <li>the RDF treatment of a fragment identifier allows it to
- indicate a thing that is entirely external to the document,
- or even to the “shared information space” known as the Web.
- That is, it can be a more general idea, like some particular
- car or a mythical Unicorn.</li>
- <li>in this way, an <code>application/rdf+xml</code> document acts as an
- intermediary between some Web retrievable documents (itself,
- at least, also any other Web retrievable IRIs that it may
- use, possibly including schema IRIs and references to other
- RDF documents), and some set of possibly abstract or non-Web
- entities that the RDF may describe.</li>
- </ul>
- <p>This provides a handling of IRIs and their
- denotation that is consistent with the RDF model theory and
- usage, and also with conventional Web behavior. Note that
- nothing here requires that an RDF application be able to
- retrieve any representation of resources identified by the IRIs
- in an RDF graph.</p>
-</section>
-
-
-<section id="section-Acknowledgments" class="informative">
- <h2>Acknowledgments</h2>
-
- <p class="issue">This section does not yet list those who made
- contributions to the RDF 1.1 version, nor does it list the
- current RDF WG members.</p>
-
- <p>The RDF 2004 editors acknowledge valuable contributions from
- Frank Manola, Pat Hayes, Dan Brickley, Jos de Roo,
- Dave Beckett, Patrick Stickler, Peter F. Patel-Schneider, Jerome Euzenat,
- Massimo Marchiori, Tim Berners-Lee, Dave Reynolds and Dan Connolly.</p>
-
- <p>This specification contains a significant contribution from the
- designers of the RDF typed literal mechanism, Pat
- Hayes, Sergey Melnik and Patrick Stickler. The document draws upon an earlier
- RDF Model and Syntax document edited by Ora Lassilla and Ralph Swick,
- and RDF Schema edited by Dan Brickley and R. V. Guha.</p>
-
- <p>This specification is a product of extended deliberations by the
- <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Acknowledgments">members
- of the RDFcore Working Group and the RDF and RDF Schema Working Group</a>.</p>
-</section>
-
-
-<section class="appendix informative" id="changes">
- <h2>Changes from RDF 2004</h2>
-
- <ul>
- <li>2011-08-13: Updated Turtle reference to Turtle FPWD</li>
- <li>2011-07-21: Condensed the 2004 acknowledgements</li>
- <li>2011-07-21: Updated the two sections on literals to reflect the <a href="">ISSUE-12 resolution</a> that simple literals are no longer part of the abstract syntax. Formally introduced the terms “language-tagged literal”, “simple literal”.</li>
- <li>2011-07-21: Updated the introduction, and removed many mentions of RDF/XML. Changed the normative reference for the terms in the RDF namespace from the RDF/XML spec to the RDF Schema spec. Removed any mention of the 1999 version of RDF.</li>
- <li>2011-07-21: Replaced RFC 2279 reference (UTF-8) with RFC 3629</li>
- <li>2011-07-20: Removed informative sections “Motivations and Goals” (see <a href="http://www.w3.org/TR/rdf-concepts/#section-Overview">RDF 2004 version</a>) and “RDF Expression of Simple Facts” (see <a href="http://www.w3.org/TR/rdf-concepts/#section-SimpleFacts">RDF 2004 version</a>)</li>
- <li>2011-06-01: Replaced the URI References section with <a href="#section-IRIs">new section on IRIs</a>, and changed “RDF URI Reference” to “IRI” throughout the document.</li>
- <li>2011-06-01: Changed language tag definition to require well-formedness according to BCP47; added a note that this invalidates some RDF</li>
- <li>2011-05-25: Added boxes for known WG issues throught the document</li>
- <li>2011-05-25: Deleted “Structure of this Document” section, it added no value beyond the TOC</li>
- <li>2011-05-25: Implemented resolution of <a href="http://www.w3.org/2011/rdf-wg/track/issues/40">ISSUE-40: Skolemization advice in the RDF dcocument</a> by adding a section on <a href="#section-skolemization">Replacing Blank Nodes with IRIs</a></li>
- <li>2011-05-25: rdf:XMLLiteral is disjoint from any datatype not explicitly related to it, per erratum <a href="http://www.w3.org/2001/sw/RDFCore/errata#concept-xmlliteral">[concept-xmlliteral]</a></li>
- <li>2011-05-25: Added Conformance section with RFC2119 reference</li>
- <li>2011-05-25: Updated all W3C references to latest editions, and Unicode from v3 to v4</li>
- <li>2011-05-24: Converted to ReSpec, changed metadata to reflect RDF 1.1</li>
- </ul>
-</section>
-
-
-<section id="references"></section>
-
- </body>
-</html>
-