--- a/drafts/rdf11-mt/Overview.html Wed Jul 03 10:20:25 2013 -0700
+++ b/drafts/rdf11-mt/Overview.html Wed Jul 03 11:03:42 2013 -0700
@@ -1,97 +1,12 @@
-
<!DOCTYPE html>
-<html>
- <head>
- <meta http-equiv='Content-Type' content='text/html;charset=utf-8'/>
+<html lang="en" dir="ltr">
+<head>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>RDF 1.1 Semantics</title>
- <script src='https://www.w3.org/Tools/respec/respec-w3c-common' class='remove'></script>
-<script src='https://dvcs.w3.org/hg/rdf/raw-file/default/ReSpec.js/bibref/biblio.js' class='remove'></script>
- <script class='remove'>
- var respecConfig = {
-//THis line is chacking on mercurial push. Ignore it. 20130530.1
- // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
- specStatus: "ED",
-
-localBiblio:{
-"HORST04":"Herman J. ter Horst. <cite>Extending the RDFS Entailment Lemma</cite>, in S.A. McIlraith et al. (Eds.), The Semantic Web - ISWC2004, Proceedings of the Third International Semantic Web Conference, Hiroshima, Japan, November 2004, Springer, LNCS 3298, pp. 77-91.",
-
-"HORST05":"Herman J. ter Horst. <cite>Completeness, Decidability and Complexity of Entailment for RDF Schema and a Semantic Extension Involving the OWL Vocabulary</cite>, Journal of Web Semantics 3 (2005) 79-115.",
-
-"RDF11-CONCEPTS": "Richard Cyganiak, David Wood. <cite><a href=\"http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/\">RDF 1.1 Concepts and Abstract Syntax.</a></cite> 15 January 2013. W3C Working Draft (work in progress). URL: <a href=\"http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/\">http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/</a>. The latest edition is available at <a href=\"http://www.w3.org/TR/rdf11-concepts/\">http://www.w3.org/TR/rdf11-concepts/</a>",
-
-"RDF-PLAIN-LITERAL":"Jie Bao, Sandro Hawke, Boris Motik, Peter F. Patel-Schneider, Alex Polleres. <cite><a href=\"http://www.w3.org/TR/rdf-plain-literal/\">rdf:PlainLiteral: A Datatype for RDF Plain Literals (Second Edition)</a></cite> 11 December 2012. W3C Recommendation. URL: <a href=\"http://www.w3.org/TR/rdf-plain-literal/\">http://www.w3.org/TR/rdf-plain-literal/</a>",
-
-"TURTLE-TR":"David Beckett, Tim Berners-Lee, Eric Prud'hommeaux, Gavin Carothers. <cite><a href=\"http://www.w3.org/TR/turtle/\">Turtle; Terse RDF Triple Language</a></cite> 19 February 2013. W3C Candidate Recommendation. URL: <a href=\"http://www.w3.org/TR/turtle/\">http://www.w3.org/TR/turtle/</a>" ,
-
-"ISO24707":"<cite>Information technology — Common Logic (CL): a framework for a family of logic-based languages</cite> 1 October 2007. International Standard ISO/IEC 24707:2007(E). URL: <a href=\"http://standards.iso.org/ittf/PubliclyAvailableStandards/c039175_ISO_IEC_24707_2007%28E%29.zip\"> http://standards.iso.org/ittf/PubliclyAvailableStandards/c039175_ISO_IEC_24707_2007%28E%29.zip</a>" },
-
- // the specification's short name, as in http://www.w3.org/TR/short-name/
- shortName: "rdf11-mt",
-
- // 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: "2013-04-09",
-
- // 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: "2013-04-09",
- previousMaturity: "WD",
-
- // if there a publicly available Editor's Draft, this is the link
- edDraftURI: "https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-mt/index.html",
+
- // if this is a LCWD, uncomment and set the end of its review period
- // lcEnd: "2009-08-05",
- prevRecShortname: "rdf-mt/",
-
- // 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: "Patrick J. Hayes", url: "http://www.ihmc.us/groups/phayes/",
- company: "Florida IHMC", companyURL: "http://www.ihmc.us/index.php" },
- { name: "Peter F. Patel-Schneider",
- company: "Nuance Communications", companyURL: "http://www.nuance.com/" },
-
- ],
-
- // 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 (without 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",
- };
- </script>
+
<style type="text/css">
.semantictable {background-color: #FFFFAA; padding:0.5em;}
.ruletable {background-color: #DDDDFF; padding:0.5em;}
@@ -147,99 +62,330 @@
border: 1px solid black
}
</style>
- </head>
- <body>
- <section id='abstract'>
- <p> This document describes a precise semantics for the Resource Description
- Framework 1.1 [[RDF11-CONCEPTS]] and RDF Schema [[RDF-SCHEMA]]. It defines a number of distinct entailment regimes and corresponding patterns of entailment. It is part of a suite of documents which comprise the full specification of RDF 1.1.</p>
- </section>
+ <style>/*****************************************************************
+ * ReSpec 3 CSS
+ * Robin Berjon - http://berjon.com/
+ *****************************************************************/
-<section id='sotd'>
-<p>This is a revision of the 2004 Semantics specification for RDF
- [[RDF-MT]] and supersedes that document.</p>
-</section>
+/* --- INLINES --- */
+em.rfc2119 {
+ text-transform: lowercase;
+ font-variant: small-caps;
+ font-style: normal;
+ color: #900;
+}
- <section class='introductory'><h2 id="notes">Notes</h2>
-<p class='changenote'>Notes in this style indicate changes from the 2004 RDF 1.0 semantics.</p>
-<p class='technote'>Notes in this style are technical asides on obscure or recondite matters.</p></section>
- <section>
- <h2 id="introduction">Introduction</h2>
+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;
+}
+
+cite .bibref {
+ font-style: normal;
+}
+
+code {
+ color: #ff4500;
+}
+
+/* --- TOC --- */
+.toc a, .tof a {
+ text-decoration: none;
+}
+
+a .secno, a .figno {
+ color: #000;
+}
+
+ul.tof, ol.tof {
+ list-style: none outside none;
+}
+
+.caption {
+ margin-top: 0.5em;
+ font-style: italic;
+}
+
+/* --- 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;
+}
+</style><link href="https://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet"><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head>
+ <body class="h-entry"><div class="head">
+ <p>
+
+ <a href="http://www.w3.org/"><img src="https://www.w3.org/Icons/w3c_home" alt="W3C" height="48" width="72"></a>
+
+ </p>
+ <h1 class="title p-name" id="title">RDF 1.1 Semantics</h1>
+
+ <h2 id="w3c-editor-s-draft-03-july-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Editor's Draft <time class="dt-published" datetime="2013-07-03">03 July 2013</time></h2>
+ <dl>
+
+ <dt>This version:</dt>
+ <dd><a class="u-url" href="https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-mt/index.html">https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-mt/index.html</a></dd>
+ <dt>Latest published version:</dt>
+ <dd><a href="http://www.w3.org/TR/rdf11-mt/">http://www.w3.org/TR/rdf11-mt/</a></dd>
+
+
+ <dt>Latest editor's draft:</dt>
+ <dd><a href="https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-mt/index.html">https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-mt/index.html</a></dd>
+
+
+
+
+
+
+
+
+ <dt>Latest recommendation:</dt>
+ <dd><a href="http://www.w3.org/TR/rdf-mt/">http://www.w3.org/TR/rdf-mt/</a></dd>
+
+ <dt>Editors:</dt>
+ <dd class="p-author h-card vcard"><a class="u-url url p-name fn" href="http://www.ihmc.us/groups/phayes/">Patrick J. Hayes</a>, <a class="p-org org h-org h-card" href="http://www.ihmc.us/index.php">Florida IHMC</a></dd>
+<dd class="p-author h-card vcard"><span class="p-name fn">Peter F. Patel-Schneider</span>, <a class="p-org org h-org h-card" href="http://www.nuance.com/">Nuance Communications</a></dd>
+
+
+
+ </dl>
+
+
+
+
+
+ <p class="copyright">
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
+ 2004-2013
+
+ <a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
+ (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
+ <a href="http://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
+ <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved.
+ <abbr title="World Wide Web Consortium">W3C</abbr> <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>
+ <section class="introductory" id="abstract"><h2>Abstract</h2>
+ <p> This document describes a precise semantics for the Resource Description
+ Framework 1.1 [<cite><a href="#bib-RDF11-CONCEPTS" class="bibref">RDF11-CONCEPTS</a></cite>] and RDF Schema [<cite><a href="#bib-RDF-SCHEMA" class="bibref">RDF-SCHEMA</a></cite>]. It defines a number of distinct entailment regimes and corresponding patterns of entailment. It is part of a suite of documents which comprise the full specification of RDF 1.1.</p>
+ </section><section id="sotd" class="introductory"><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 <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision
+ of this technical report can be found in the <a href="http://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports
+ index</a> at http://www.w3.org/TR/.</em>
+ </p>
+
+<p>This is a revision of the 2004 Semantics specification for RDF
+ [<cite><a href="#bib-RDF-MT" class="bibref">RDF-MT</a></cite>] and supersedes that document.</p>
+
+ <p>
+ This document was published by the <a href="http://www.w3.org/2011/rdf-wg/">RDF Working Group</a> as an Editor's Draft.
+
+
+ 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 comments are welcome.</p>
+
+
+ <p>
+ Publication as an Editor's Draft does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> 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 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+
+
+
+ <abbr title="World Wide Web Consortium">W3C</abbr> 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 <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>.
+
+
+ </p>
+
+
+
+
+</section><section id="toc"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a class="tocxref" href="#introduction-1"><span class="secno">1. </span>Introduction</a></li><li class="tocline"><a class="tocxref" href="#conformance"><span class="secno">2. </span>Conformance</a></li><li class="tocline"><a class="tocxref" href="#semantic-extensions-and-entailment-regimes"><span class="secno">3. </span>Semantic Extensions and Entailment Regimes</a></li><li class="tocline"><a class="tocxref" href="#notation-and-terminology"><span class="secno">4. </span>Notation and Terminology</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#shared-blank-nodes-unions-and-merges"><span class="secno">4.1 </span>Shared blank nodes, unions and merges</a></li></ul></li><li class="tocline"><a class="tocxref" href="#simple-interpretations"><span class="secno">5. </span> Simple Interpretations</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#blank-nodes"><span class="secno">5.1 </span>Blank nodes</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#shared-blank-nodes-informative"><span class="secno">5.1.1 </span>Shared blank nodes (Informative)</a></li></ul></li><li class="tocline"><a class="tocxref" href="#intuitive-summary-informative"><span class="secno">5.2 </span>Intuitive summary (Informative)</a></li><li class="tocline"><a class="tocxref" href="#simpleentailment"><span class="secno">5.3 </span>Simple Entailment</a></li><li class="tocline"><a class="tocxref" href="#properties-of-simple-entailment-informative"><span class="secno">5.4 </span>Properties of simple entailment (Informative) </a></li></ul></li><li class="tocline"><a class="tocxref" href="#skolemization-informative"><span class="secno">6. </span>Skolemization (Informative)</a></li><li class="tocline"><a class="tocxref" href="#literals-and-datatypes"><span class="secno">7. </span>Literals and datatypes</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#D_interpretations"><span class="secno">7.1 </span>D-interpretations</a></li><li class="tocline"><a class="tocxref" href="#datatype-entailment"><span class="secno">7.2 </span>Datatype entailment</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#patterns-of-datatype-entailment-informative"><span class="secno">7.2.1 </span>Patterns of datatype entailment (Informative)</a></li></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#rdf-interpretations"><span class="secno">8. </span>RDF Interpretations</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#rdf-entailment"><span class="secno">8.1 </span><span class="formerLink" id="rdf_entail"></span>RDF entailment</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#patterns-of-rdf-entailment-informative"><span class="secno">8.1.1 </span>Patterns of RDF entailment (Informative)</a></li></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#rdfs-interpretations"><span class="secno">9. </span>RDFS Interpretations</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#a-note-on-rdfs-literal-informative"><span class="secno">9.1 </span>A note on rdfs:Literal (Informative)</a></li><li class="tocline"><a class="tocxref" href="#rdfs-entailment"><span class="secno">9.2 </span>RDFS entailment</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#patterns-of-rdfs-entailment-informative"><span class="secno">9.2.1 </span>Patterns of RDFS entailment (Informative)</a></li></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#rdf-datasets"><span class="secno">10. </span>RDF Datasets</a></li><li class="tocline"><a class="tocxref" href="#entailment-rules-informative"><span class="secno">A. </span>Entailment rules (Informative)</a></li><li class="tocline"><a class="tocxref" href="#finite-interpretations-informative"><span class="secno">B. </span>Finite interpretations (Informative)</a></li><li class="tocline"><a class="tocxref" href="#proofs-of-some-results-informative"><span class="secno">C. </span>Proofs of some results (Informative)</a></li><li class="tocline"><a class="tocxref" href="#whatnot"><span class="secno">D. </span>RDF reification, containers and collections (Informative)</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#reification"><span class="secno">D.1 </span><span class="formerLink" id="Reif">Reification</span></a></li><li class="tocline"><a class="tocxref" href="#rdf-containers"><span class="secno">D.2 </span>RDF containers</a></li><li class="tocline"><a class="tocxref" href="#rdf-collections"><span class="secno">D.3 </span>RDF collections</a></li></ul></li><li class="tocline"><a class="tocxref" href="#acknowledgements-1"><span class="secno">E. </span>Acknowledgements</a></li><li class="tocline"><a class="tocxref" href="#references"><span class="secno">F. </span>References</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#normative-references"><span class="secno">F.1 </span>Normative references</a></li><li class="tocline"><a class="tocxref" href="#informative-references"><span class="secno">F.2 </span>Informative references</a></li></ul></li></ul></section>
+
+
+
+ <section class="introductory"><h2 id="notes">Notes</h2>
+<p class="changenote">Notes in this style indicate changes from the 2004 RDF 1.0 semantics.</p>
+<p class="technote">Notes in this style are technical asides on obscure or recondite matters.</p></section>
+ <section id="introduction-1">
+ <!--OddPage--><h2 id="introduction"><span class="secno">1. </span>Introduction</h2>
<p>
This document defines a model-theoretic semantics for RDF graphs and the RDF and RDFS vocabularies, providing an exact formal specification of when truth is preserved by transformations of RDF or operations which derive RDF content from other RDF. </p>
</section>
-<section id="conformance"><p>This specification, <em>RDF 1.1 Semantics</em>, is normative for RDF semantics and the validity of RDF inference processes. It is not normative for many aspects of RDF meaning which are not described or specified by this semantics, including social issues of how IRIs are assigned meanings in use and how the referents of IRIs are related to Web content expressed in other media such as natural language texts. </p></section>
+<section id="conformance"><!--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 title="MUST" class="rfc2119">MUST</em>, <em title="MUST NOT" class="rfc2119">MUST NOT</em>, <em title="REQUIRED" class="rfc2119">REQUIRED</em>, <em title="SHOULD" class="rfc2119">SHOULD</em>, <em title="SHOULD NOT" class="rfc2119">SHOULD NOT</em>, <em title="RECOMMENDED" class="rfc2119">RECOMMENDED</em>, <em title="MAY" class="rfc2119">MAY</em>,
+ and <em title="OPTIONAL" class="rfc2119">OPTIONAL</em> in this specification are to be interpreted as described in [<cite><a href="#bib-RFC2119" class="bibref">RFC2119</a></cite>].
+</p>
+<p>This specification, <em>RDF 1.1 Semantics</em>, is normative for RDF semantics and the validity of RDF inference processes. It is not normative for many aspects of RDF meaning which are not described or specified by this semantics, including social issues of how IRIs are assigned meanings in use and how the referents of IRIs are related to Web content expressed in other media such as natural language texts. </p></section>
- <section>
- <h2 id="extensions">Semantic Extensions and Entailment Regimes</h2>
- <p>RDF is intended for use as a base notation for a variety of extended notations such as OWL [[OWL2-OVERVIEW]] and RIF [[RIF-OVERVIEW]], whose expressions can be encoded as RDF graphs which use a particular vocabulary with a specially defined meaning. Also, particular IRI vocabularies may be given meanings by other specifications or conventions. When such extra meanings are assumed, a given RDF graph may support more extensive entailments than are sanctioned by the basic RDF semantics. In general, the more assumptions that are made about the meanings of IRIs in an RDF graph, the more entailments follow from those assumptions. </p>
+ <section id="semantic-extensions-and-entailment-regimes">
+ <!--OddPage--><h2 id="extensions"><span class="secno">3. </span>Semantic Extensions and Entailment Regimes</h2>
+ <p>RDF is intended for use as a base notation for a variety of extended notations such as OWL [<cite><a href="#bib-OWL2-OVERVIEW" class="bibref">OWL2-OVERVIEW</a></cite>] and RIF [<cite><a href="#bib-RIF-OVERVIEW" class="bibref">RIF-OVERVIEW</a></cite>], whose expressions can be encoded as RDF graphs which use a particular vocabulary with a specially defined meaning. Also, particular IRI vocabularies may be given meanings by other specifications or conventions. When such extra meanings are assumed, a given RDF graph may support more extensive entailments than are sanctioned by the basic RDF semantics. In general, the more assumptions that are made about the meanings of IRIs in an RDF graph, the more entailments follow from those assumptions. </p>
-<p>A particular such set of semantic assumptions is called a <dfn>semantic extension</dfn>. Each <a>semantic extension</a> defines an <dfn>entailment regime</dfn> of entailments which are valid under that extension. RDFS, described later in this document, is one such <a>semantic extension</a>. We will refer to an entailment regime by names such as <em> RDFS entailment</em>, <em>D-entailment</em>, etc. </p>
+<p>A particular such set of semantic assumptions is called a <dfn id="dfn-semantic-extension">semantic extension</dfn>. Each <a class="internalDFN" href="#dfn-semantic-extension">semantic extension</a> defines an <dfn id="dfn-entailment-regime">entailment regime</dfn> of entailments which are valid under that extension. RDFS, described later in this document, is one such <a class="internalDFN" href="#dfn-semantic-extension">semantic extension</a>. We will refer to an entailment regime by names such as <em> RDFS entailment</em>, <em>D-entailment</em>, etc. </p>
-<p><a>Semantic extension</a>s MAY impose special syntactic conditions or restrictions upon RDF graphs, such as requiring certain triples to be present, or prohibiting particular combinations of IRIs in triples, and MAY consider RDF graphs which do not conform to these conditions to be errors. For example, RDF statements of the form <br/><br/> <code>ex:a rdfs:subClassOf "Thing"^^xsd:string .</code><br/><br/> are prohibited in the OWL <a>semantic extension</a> based on description logics [[!OWL2-SYNTAX]]. In such cases, basic RDF operations such as taking a subset of triples, or combining RDF graphs, may cause syntax errors in parsers which recognize the extension conditions. None of the <a>semantic extension</a>s normatively defined in this document impose such syntactic restrictions on RDF graphs.</p>
+<p><a class="internalDFN" href="#dfn-semantic-extension">Semantic extension</a>s <em title="MAY" class="rfc2119">MAY</em> impose special syntactic conditions or restrictions upon RDF graphs, such as requiring certain triples to be present, or prohibiting particular combinations of IRIs in triples, and <em title="MAY" class="rfc2119">MAY</em> consider RDF graphs which do not conform to these conditions to be errors. For example, RDF statements of the form <br><br> <code>ex:a rdfs:subClassOf "Thing"^^xsd:string .</code><br><br> are prohibited in the OWL <a class="internalDFN" href="#dfn-semantic-extension">semantic extension</a> based on description logics [<cite><a href="#bib-OWL2-SYNTAX" class="bibref">OWL2-SYNTAX</a></cite>]. In such cases, basic RDF operations such as taking a subset of triples, or combining RDF graphs, may cause syntax errors in parsers which recognize the extension conditions. None of the <a class="internalDFN" href="#dfn-semantic-extension">semantic extension</a>s normatively defined in this document impose such syntactic restrictions on RDF graphs.</p>
-<p>All entailment regimes MUST be <a>monotonic</a> extensions of the simple entailment regime described in the document, in the sense that if A <a>simply entails</a> B then A also entails B under any extended notion of entailment, provided that any syntactic conditions of the extension are also satisfied. Put another way, a <a>semantic extension</a> cannot "cancel" an entailment made by a weaker entailment regime, although it can treat the result as a syntax error.</p>
+<p>All entailment regimes <em title="MUST" class="rfc2119">MUST</em> be <a>monotonic</a> extensions of the simple entailment regime described in the document, in the sense that if A <a class="internalDFN" href="#dfn-simply-entails">simply entails</a> B then A also entails B under any extended notion of entailment, provided that any syntactic conditions of the extension are also satisfied. Put another way, a <a class="internalDFN" href="#dfn-semantic-extension">semantic extension</a> cannot "cancel" an entailment made by a weaker entailment regime, although it can treat the result as a syntax error.</p>
</section>
- <section>
- <h2 id="notation">Notation and Terminology</h2>
+ <section id="notation-and-terminology">
+ <!--OddPage--><h2 id="notation"><span class="secno">4. </span>Notation and Terminology</h2>
- <p>This document uses the following terminology for describing RDF graph syntax, all as defined in the companion RDF Concepts specification [[!RDF11-CONCEPTS]]: <em><a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-iri">IRI</a></em>, <em><a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-triples">RDF triple</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-rdf-graph">RDF graph</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-triples">subject</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-triples">predicate</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-triples">object</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-source">RDF source</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-node">node</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-blank-node">blank node</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">literal</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#graph-isomorphism">isomorphic</a>, and <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-dataset">RDF datasets</a>.</em> All the definitions in this document apply unchanged to <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-generalized-rdf">generalized RDF triples, graphs, and datasets</a>. </p>
+ <p>This document uses the following terminology for describing RDF graph syntax, all as defined in the companion RDF Concepts specification [<cite><a href="#bib-RDF11-CONCEPTS" class="bibref">RDF11-CONCEPTS</a></cite>]: <em><a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-iri">IRI</a></em>, <em><a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-triples">RDF triple</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-rdf-graph">RDF graph</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-triples">subject</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-triples">predicate</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-triples">object</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-source">RDF source</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-node">node</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-blank-node">blank node</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-literal">literal</a>, <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#graph-isomorphism">isomorphic</a>, and <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-dataset">RDF datasets</a>.</em> All the definitions in this document apply unchanged to <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-generalized-rdf">generalized RDF triples, graphs, and datasets</a>. </p>
-<p>The words <dfn>denotes</dfn> and <dfn>refers to</dfn> are used interchangeably as synonyms for the relationship between an IRI or literal and what it refers to in a given interpretation, itself called the <dfn>referent</dfn> or <dfn>denotation</dfn>. IRI meanings may also be determined by other constraints external to the RDF semantics; when we wish to refer to such an externally defined naming relationship, we will use the word <dfn>identify</dfn> and its cognates. For example, the fact that the IRI <code>http://www.w3.org/2001/XMLSchema#decimal</code> is widely used as the name of a datatype described in the XML Schema document [[XMLSCHEMA11-2]] might be described by saying that the IRI <em>identifies</em> that datatype. If an IRI identifies something it may or may not refer to it in a given interpretation, depending on how the semantics is specified. For example, an IRI used as a graph name <a>identify</a>ing a named graph in an <a href="http://www.w3.org/TR/rdf11-concepts/#section-dataset" class="external">RDF dataset</a> may refer to something different from the graph it identifies. </p>
+<p>The words <dfn id="dfn-denotes">denotes</dfn> and <dfn id="dfn-refers-to">refers to</dfn> are used interchangeably as synonyms for the relationship between an IRI or literal and what it refers to in a given interpretation, itself called the <dfn id="dfn-referent">referent</dfn> or <dfn id="dfn-denotation">denotation</dfn>. IRI meanings may also be determined by other constraints external to the RDF semantics; when we wish to refer to such an externally defined naming relationship, we will use the word <dfn id="dfn-identify">identify</dfn> and its cognates. For example, the fact that the IRI <code>http://www.w3.org/2001/XMLSchema#decimal</code> is widely used as the name of a datatype described in the XML Schema document [<cite><a href="#bib-XMLSCHEMA11-2" class="bibref">XMLSCHEMA11-2</a></cite>] might be described by saying that the IRI <em>identifies</em> that datatype. If an IRI identifies something it may or may not refer to it in a given interpretation, depending on how the semantics is specified. For example, an IRI used as a graph name <a class="internalDFN" href="#dfn-identify">identify</a>ing a named graph in an <a href="http://www.w3.org/TR/rdf11-concepts/#section-dataset" class="external">RDF dataset</a> may refer to something different from the graph it identifies. </p>
<p>Throughout this document, the equality sign = indicates strict identity. The statement "A = B" means that there is one entity to which both expressions "A" and "B" refer. Angle brackets < x, y > are used to indicate an ordered pair
of x and y.</p>
-<p>Throughout this document, RDF graphs and other fragments of RDF abstract syntax are written using the notational conventions of the Turtle syntax [[!TURTLE-TR]]. The namespace prefixes <code>rdf:</code> <code>rdfs:</code> and <code>xsd:</code> are used as in [[!RDF11-CONCEPTS]], <a href="http://www.w3.org/TR/rdf11-concepts/#vocabularies">section 1.4</a>. When the exact IRI does not matter, the prefix <code>ex:</code> is used. When stating general rules or conditions we use three-character variables such as aaa, xxx, sss to indicate arbitrary IRIs, literals, or other components of RDF syntax. Some cases are illustrated by node-arc diagrams showing the graph structure directly.</p>
+<p>Throughout this document, RDF graphs and other fragments of RDF abstract syntax are written using the notational conventions of the Turtle syntax [<cite><a href="#bib-TURTLE-TR" class="bibref">TURTLE-TR</a></cite>]. The namespace prefixes <code>rdf:</code> <code>rdfs:</code> and <code>xsd:</code> are used as in [<cite><a href="#bib-RDF11-CONCEPTS" class="bibref">RDF11-CONCEPTS</a></cite>], <a href="http://www.w3.org/TR/rdf11-concepts/#vocabularies">section 1.4</a>. When the exact IRI does not matter, the prefix <code>ex:</code> is used. When stating general rules or conditions we use three-character variables such as aaa, xxx, sss to indicate arbitrary IRIs, literals, or other components of RDF syntax. Some cases are illustrated by node-arc diagrams showing the graph structure directly.</p>
-<p>A <dfn>name</dfn> is any IRI or literal. A typed literal contains
- two <a>name</a>s: itself and its internal type
- IRI. A <dfn>vocabulary</dfn> is a set of <a>name</a>s.
+<p>A <dfn id="dfn-name">name</dfn> is any IRI or literal. A typed literal contains
+ two <a class="internalDFN" href="#dfn-name">name</a>s: itself and its internal type
+ IRI. A <dfn id="dfn-vocabulary">vocabulary</dfn> is a set of <a class="internalDFN" href="#dfn-name">name</a>s.
</p>
-<p>The <dfn>empty graph</dfn> is the empty set of triples. </p>
-<p>A <dfn>subgraph</dfn> of an RDF graph is a subset
+<p>The <dfn id="dfn-empty-graph">empty graph</dfn> is the empty set of triples. </p>
+<p>A <dfn id="dfn-subgraph">subgraph</dfn> of an RDF graph is a subset
of the triples in the graph. A triple is identified with the singleton set
containing it, so that each triple in a graph is considered to be a subgraph.
- A <dfn>proper subgraph</dfn> is a proper subset of the triples in the graph. </p>
+ A <dfn id="dfn-proper-subgraph">proper subgraph</dfn> is a proper subset of the triples in the graph. </p>
-<p>A <dfn>ground</dfn> RDF graph is one which contains no blank
+<p>A <dfn id="dfn-ground">ground</dfn> RDF graph is one which contains no blank
nodes.</p>
<p>Suppose that M is a functional mapping from a set of blank
nodes to some set of literals, blank nodes and IRIs. Any graph obtained
from a graph G by replacing some or all of the blank nodes N in G by M(N) is
- an <dfn>instance</dfn> of G. Any graph is an instance of itself,
+ an <dfn id="dfn-instance">instance</dfn> of G. Any graph is an instance of itself,
an instance of an instance of G is an instance of G,
and if H is an instance of G then every triple in H is an instance of at least one triple
in G.</p>
-<p>An <dfn>instance with respect to</dfn> a vocabulary
- V is an <a>instance</a> in which all the
- <a>name</a>s in the instance that were substituted
- for blank nodes in the original are <a>name</a>s
+<p>An <dfn id="dfn-instance-with-respect-to">instance with respect to</dfn> a vocabulary
+ V is an <a class="internalDFN" href="#dfn-instance">instance</a> in which all the
+ <a class="internalDFN" href="#dfn-name">name</a>s in the instance that were substituted
+ for blank nodes in the original are <a class="internalDFN" href="#dfn-name">name</a>s
from V.</p>
-<p>A <dfn>proper instance</dfn> of a graph
- is an <a>instance</a> in which a blank node has been replaced by a <a>name</a>, or two blank
+<p>A <dfn id="dfn-proper-instance">proper instance</dfn> of a graph
+ is an <a class="internalDFN" href="#dfn-instance">instance</a> in which a blank node has been replaced by a <a class="internalDFN" href="#dfn-name">name</a>, or two blank
nodes in the graph have been mapped into the same node in the instance. </p>
<p>Two graphs are <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#graph-isomorphism">isomorphic</a> when each maps into the other by a 1:1 mapping on blank nodes. Isomorphic graphs are mutual instances with an invertible instance
mapping. As blank nodes have no particular identity beyond their location in a graph, we will often treat isomorphic graphs as identical.</p>
-<p >An RDF graph is <dfn>lean</dfn> if it has no instance which is
+<p>An RDF graph is <dfn id="dfn-lean">lean</dfn> if it has no instance which is
a proper subgraph of itself. Non-lean graphs have internal redundancy
and express the same content as their lean subgraphs. For example, the graph</p>
-<p ><code>ex:a ex:p _:x .<br/>
+<p><code>ex:a ex:p _:x .<br>
_:y ex:p _:x .</code></p>
-<p >is not lean, but</p>
-<p ><code>ex:a ex:p _:x .<br/>
+<p>is not lean, but</p>
+<p><code>ex:a ex:p _:x .<br>
_:x ex:p _:x .</code></p>
-<p >is lean. <a>Ground</a> graphs are lean. </p>
+<p>is lean. <a class="internalDFN" href="#dfn-ground">Ground</a> graphs are lean. </p>
-<section> <h3 id="unions_merges">Shared blank nodes, unions and merges</h3>
+<section id="shared-blank-nodes-unions-and-merges"> <h3 id="unions_merges"><span class="secno">4.1 </span>Shared blank nodes, unions and merges</h3>
<p>
Graphs share blank nodes only if they are derived from graphs
described by documents or other structures (such as an RDF dataset) that explicitly provide for the sharing of blank nodes between different RDF graphs. Simply downloading a
@@ -248,11 +394,11 @@
the same document or from the same <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-source">RDF source</a>.</p>
<p> RDF applications which manipulate concrete syntaxes for RDF which use blank node identifiers should take care to keep track of the identity of the blank nodes they identify. Blank node identifiers often have a local scope, so when RDF from different sources is combined, identifiers may have to be changed in order to avoid accidental conflation of distinct blank nodes.</p>
-<p> For example, two documents may both use the blank node identifier "<code>_:x</code>" to identify a blank node, but unless these documents are in a shared identifier scope or are derived from a common source, the occurrences of "<code>_:x</code>" in one document will identify a different blank node than the one in the graph described by the other document. When graphs are formed by combining RDF from multiple sources, it may be necessary to <dfn>standardize</dfn> apart the blank node identifiers by replacing them by others which do not occur in the other document(s). For example, the two graphs represented by the following texts: </p>
-<p><code>ex:a ex:p _:x . </code><br/><br/>
-<img src="RDF11SemanticsDiagrams/example1.jpg" alt="Graph 1" /></p>
-<p><code>ex:b ex:q _:x . </code><br/><br/>
-<img src="RDF11SemanticsDiagrams/example2.jpg" alt="Graph 2" ></p>
+<p> For example, two documents may both use the blank node identifier "<code>_:x</code>" to identify a blank node, but unless these documents are in a shared identifier scope or are derived from a common source, the occurrences of "<code>_:x</code>" in one document will identify a different blank node than the one in the graph described by the other document. When graphs are formed by combining RDF from multiple sources, it may be necessary to <dfn id="dfn-standardize">standardize</dfn> apart the blank node identifiers by replacing them by others which do not occur in the other document(s). For example, the two graphs represented by the following texts: </p>
+<p><code>ex:a ex:p _:x . </code><br><br>
+<img src="RDF11SemanticsDiagrams/example1.jpg" alt="Graph 1"></p>
+<p><code>ex:b ex:q _:x . </code><br><br>
+<img src="RDF11SemanticsDiagrams/example2.jpg" alt="Graph 2"></p>
<p>contain four nodes. Their union would therefore also contain four nodes:</p>
@@ -260,19 +406,19 @@
<p> However, the document formed by simply concatenating these textual surface representations: </p>
-<p><code>ex:a ex:p _:x .<br/>
-ex:b ex:q _:x .</code><br/></p>
+<p><code>ex:a ex:p _:x .<br>
+ex:b ex:q _:x .</code><br></p>
<p>describes a graph containing three nodes:</p>
<p><img src="RDF11SemanticsDiagrams/example3.jpg" alt="Incorrect Union Graph"></p>
<p> since the two occurrences of the blank node identifier "<code>_:x</code>" occurring in a common identifier scope identify the same blank node. The four-node union of these two graphs is more properly described by a surface form such as:</p>
-<p><code>ex:a ex:p _:x1 .<br/>
+<p><code>ex:a ex:p _:x1 .<br>
ex:b ex:q _:x2 .</code></p>
-<p>in which the blank node identifiers have been <a>standardize</a>d apart to avoid conflating the distinct blank nodes. (The particular blank node identifiers used have no significance, only that they are distinct.) </p>
+<p>in which the blank node identifiers have been <a class="internalDFN" href="#dfn-standardize">standardize</a>d apart to avoid conflating the distinct blank nodes. (The particular blank node identifiers used have no significance, only that they are distinct.) </p>
<p>It is possible for two or more graphs to share a blank node, for example if they are subgraphs of a single larger graph or derived from a common source. In this case, the union of a set of graphs preserves the identity of blank nodes shared between the graphs. In general, the union of a set of RDF graphs accurately represents the same semantic content as the graphs themselves, whether or not they share blank nodes. </p>
-<p>A related operation, called <dfn>merging</dfn>, takes the union after forcing any shared blank nodes, which occur in more than one graph, to be distinct in each graph. The resulting graph is called the <dfn>merge</dfn>. The merge of subgraphs of a graph may be larger than the original graph. For example, the result of merging the two singleton subgraphs of the three-node graph</p>
+<p>A related operation, called <dfn id="dfn-merging">merging</dfn>, takes the union after forcing any shared blank nodes, which occur in more than one graph, to be distinct in each graph. The resulting graph is called the <dfn id="dfn-merge">merge</dfn>. The merge of subgraphs of a graph may be larger than the original graph. For example, the result of merging the two singleton subgraphs of the three-node graph</p>
<p><img src="RDF11SemanticsDiagrams/example3.jpg" alt="Three-node Graph"></p>
@@ -287,44 +433,44 @@
</section>
- <section>
- <h2 id="simple"> Simple Interpretations</h2>
+ <section id="simple-interpretations">
+ <!--OddPage--><h2 id="simple"><span class="secno">5. </span> Simple Interpretations</h2>
-<p>This section defines the basic notions of interpretation and truth for RDF graphs. All <a>semantic extension</a>s of any vocabulary or higher-level notation encoded in RDF MUST conform to these minimal truth conditions. Other <a>semantic extension</a>s may extend and add to these, but they MUST NOT modify or negate them. For example, because interpretations are mappings which apply to IRIs, a <a>semantic extension</a> cannot interpret different occurrences of a single IRI differently.</p>
+<p>This section defines the basic notions of interpretation and truth for RDF graphs. All <a class="internalDFN" href="#dfn-semantic-extension">semantic extension</a>s of any vocabulary or higher-level notation encoded in RDF <em title="MUST" class="rfc2119">MUST</em> conform to these minimal truth conditions. Other <a class="internalDFN" href="#dfn-semantic-extension">semantic extension</a>s may extend and add to these, but they <em title="MUST NOT" class="rfc2119">MUST NOT</em> modify or negate them. For example, because interpretations are mappings which apply to IRIs, a <a class="internalDFN" href="#dfn-semantic-extension">semantic extension</a> cannot interpret different occurrences of a single IRI differently.</p>
<p>The entire semantics applies to <a>RDF graph</a>s, not to <a>RDF source</a>s. An <a>RDF source</a> has a semantic meaning only through the graph that is its value at a given time, or in a given state. Graphs cannot change their semantics with time.</p>
-<p>A <dfn>simple interpretation</dfn> I is a structure consisting of:</p>
+<p>A <dfn id="dfn-simple-interpretation">simple interpretation</dfn> I is a structure consisting of:</p>
<div class="tabletitle">Definition of a simple interpretation.</div>
<table border="1">
- <tr>
+ <tbody><tr>
<td class="semantictable">1. A non-empty set IR of resources, called the domain or universe
of I.
- <p>2. <span >A set IP, called the set of properties of I.</span></p>
+ <p>2. <span>A set IP, called the set of properties of I.</span></p>
<p>3. A mapping IEXT from IP into the powerset of IR x IR i.e. the
set of sets of pairs < x, y > with x and y in IR .</p>
<p>4. A mapping IS from IRIs into (IR union IP)</p>
<p>5. A partial mapping IL from literals into IR </p>
</td>
</tr>
- </table>
+ </tbody></table>
-<p class="changenote">The 2004 RDF 1.0 semantics defined interpretations relative to a vocabulary.<br/><br/>In the 2004 RDF 1.0 semantics, IL was a total, rather than partial, mapping.<br/><br/> The 2004 RDF 1.0 specification divided literals into 'plain' literals with no type and optional language tags, and typed literals. Usage has shown that it is important that every literal have a type. RDF 1.1 replaces plain literals without language tags by literals typed with the XML Schema <code>string</code> datatype, and introduces the special type <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string"><code>rdf:langString</code></a> for language-tagged strings. The full semantics for typed literals is given in the next section. </p>
+<p class="changenote">The 2004 RDF 1.0 semantics defined interpretations relative to a vocabulary.<br><br>In the 2004 RDF 1.0 semantics, IL was a total, rather than partial, mapping.<br><br> The 2004 RDF 1.0 specification divided literals into 'plain' literals with no type and optional language tags, and typed literals. Usage has shown that it is important that every literal have a type. RDF 1.1 replaces plain literals without language tags by literals typed with the XML Schema <code>string</code> datatype, and introduces the special type <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string"><code>rdf:langString</code></a> for language-tagged strings. The full semantics for typed literals is given in the next section. </p>
-<p class="technote"> Interpretations are required to interpret all <a>name</a>s, and are therefore infinite. This simplifies the exposition. However, RDF can be interpreted using finite structures, supporting decidable algorithms. Details are given in Appendix B. </p>
+<p class="technote"> Interpretations are required to interpret all <a class="internalDFN" href="#dfn-name">name</a>s, and are therefore infinite. This simplifies the exposition. However, RDF can be interpreted using finite structures, supporting decidable algorithms. Details are given in Appendix B. </p>
<p>IEXT(x), called
- the <dfn>extension</dfn> of x, is a
+ the <dfn id="dfn-extension">extension</dfn> of x, is a
set of pairs which identify the arguments for which the property is true,
that is, a binary relational extension.
</p>
<p>The distinction between IR and IL will become significant below when the semantics of datatypes are defined. IL is allowed to be partial because some literals may fail to have a referent. </p>
<p class="technote">
-It is conventional to map a relation name to a relational extension directly. This however presumes that the vocabulary is segregated into relation names and individual names, and RDF makes no such assumption. Moreover, RDF allows an IRI to be used as a relation name applied to itself as an argument. Such self-application structures are used in RDFS, for example. The use of the IEXT mapping to distinguish the relation as an object from its relational extension accommodates both of these requirements. It also provides for a notion of RDFS 'class' which can be distinguished from its set-theoretic extension. A similar technique is used in the ISO/IEC Common Logic standard [[ISO24707]].
+It is conventional to map a relation name to a relational extension directly. This however presumes that the vocabulary is segregated into relation names and individual names, and RDF makes no such assumption. Moreover, RDF allows an IRI to be used as a relation name applied to itself as an argument. Such self-application structures are used in RDFS, for example. The use of the IEXT mapping to distinguish the relation as an object from its relational extension accommodates both of these requirements. It also provides for a notion of RDFS 'class' which can be distinguished from its set-theoretic extension. A similar technique is used in the ISO/IEC Common Logic standard [<cite><a href="#bib-ISO24707" class="bibref">ISO24707</a></cite>].
</p>
@@ -366,18 +512,18 @@
<p> The final condition implies that the empty graph (the empty set of triples) is always true.</p>
<p>The sets IP and IR may overlap, indeed IP can be a subset of IR. Because of the domain conditions on IEXT, the denotation of the subject and object of any true triple will be in IR; so any IRI which occurs in a graph both as a predicate and as a subject or object will denote something in the intersection of IP and IR.</p>
-<p><a>Semantic extension</a>s may impose further constraints upon interpretation mappings by requiring some IRIs to refer in particular ways. For example, D-interpretations, described below, require some IRIs, understood as <a>identify</a>ing and referring to datatypes, to have a fixed interpretation. </p>
+<p><a class="internalDFN" href="#dfn-semantic-extension">Semantic extension</a>s may impose further constraints upon interpretation mappings by requiring some IRIs to refer in particular ways. For example, D-interpretations, described below, require some IRIs, understood as <a class="internalDFN" href="#dfn-identify">identify</a>ing and referring to datatypes, to have a fixed interpretation. </p>
-<section>
- <h3 id="blank_nodes">Blank nodes</h3>
+<section id="blank-nodes">
+ <h3 id="blank_nodes"><span class="secno">5.1 </span>Blank nodes</h3>
-<p>Blank nodes are treated as simply indicating the existence of a thing, without using an IRI to <a>identify</a> any particular thing. This is not the same as assuming that the blank node indicates an 'unknown' IRI.
+<p>Blank nodes are treated as simply indicating the existence of a thing, without using an IRI to <a class="internalDFN" href="#dfn-identify">identify</a> any particular thing. This is not the same as assuming that the blank node indicates an 'unknown' IRI.
</p>
-<p> Suppose I is an interpretation and A is a mapping from a set of blank nodes to the universe IR of I. Define the mapping [I+A] to be I on <a>name</a>s, and A on blank nodes on the set: [I+A](x)=I(x) when x is a <a>name</a> and [I+A](x)=A(x) when x is a blank node; and extend this mapping to triples and RDF graphs using the rules given above for ground graphs. Then the semantic conditions for an RDF graph are:</p>
+<p> Suppose I is an interpretation and A is a mapping from a set of blank nodes to the universe IR of I. Define the mapping [I+A] to be I on <a class="internalDFN" href="#dfn-name">name</a>s, and A on blank nodes on the set: [I+A](x)=I(x) when x is a <a class="internalDFN" href="#dfn-name">name</a> and [I+A](x)=A(x) when x is a blank node; and extend this mapping to triples and RDF graphs using the rules given above for ground graphs. Then the semantic conditions for an RDF graph are:</p>
- <div class="tabletitle">Semantic condition for blank nodes.</div>
+ <div class="tabletitle">Semantic condition for blank nodes.</div>
<table border="1">
<tbody>
@@ -395,12 +541,12 @@
a denotation by an interpretation, reflecting the intuition that
they have no 'global' meaning. </p>
-<section class="informative"><h3 id="shared_blank_nodes">Shared blank nodes (Informative)</h3>
+<section id="shared-blank-nodes-informative" class="informative"><h4 id="shared_blank_nodes"><span class="secno">5.1.1 </span>Shared blank nodes (Informative)</h4><p><em>This section is non-normative.</em></p>
<p> The semantics for blank nodes are stated in terms of the truth of a graph. However, when two (or more) graphs share a blank node, their meaning is not fully captured by treating them in isolation. For example, consider the overlapping graphs</p>
<p><img src="RDF11SemanticsDiagrams/example5.jpg" alt="Overlapping Graphs"></p>
-<p> and an interpretation I over the universe {Alice, Bob, Monica, Ruth} with:<br/>
-I(<code>ex:Alice</code>)=Alice, I(<code>ex:Bob</code>)=Bob, IEXT(I(<code>ex:hasChild</code>))={<Alice,Monica>,<Bob,Ruth> }<br/></p>
+<p> and an interpretation I over the universe {Alice, Bob, Monica, Ruth} with:<br>
+I(<code>ex:Alice</code>)=Alice, I(<code>ex:Bob</code>)=Bob, IEXT(I(<code>ex:hasChild</code>))={<Alice,Monica>,<Bob,Ruth> }<br></p>
<p>Each of the inner graphs is true under this interpretation, but the two of them together is not, because the three-node graph says that Alice and Bob have a child together. In order to capture the full meaning of graphs sharing a blank node, it is necessary to consider the union graph containing all the triples which contain the blank node.</p>
<p class="technote"> RDF graphs can be viewed as conjunctions of simple atomic sentences in first-order logic, where blank nodes are free variables which are understood to be existential. Taking the union of two graphs is then analogous to syntactic conjunction in this syntax. RDF syntax has no explicit variable-binding quantifiers, so the truth conditions for any RDF graph treat the free variables in that graph as existentially quantified in that graph. Taking the union of graphs which share a blank node changes the implied quantifier scopes.
</p>
@@ -408,42 +554,42 @@
</section>
</section>
-<section class="informative">
-<h3 id="intuitions" class="informative">Intuitive summary (Informative)</h3>
+<section id="intuitive-summary-informative" class="informative">
+<h3 id="intuitions" class="informative"><span class="secno">5.2 </span>Intuitive summary (Informative)</h3><p><em>This section is non-normative.</em></p>
<p>An RDF graph is true exactly when:</p>
<p>1. the IRIs and literals in subject or object position in the graph all refer to things,</p><p>2. there is some way to interpret all the blank nodes in the graph as referring to things,</p><p>3. the IRIs in property position refer to binary relationships,</p><p>4. and under these interpretations, each triple S P O in the graph asserts that the thing referred to as S, and the thing referred to as O, do in fact stand in the relationship referred to by P. </p>
</section>
-<section id="simpleentailment"><h2>Simple Entailment</h2>
+<section id="simpleentailment"><h3><span class="secno">5.3 </span>Simple Entailment</h3>
-<p>Following standard terminology, we say that I <dfn>satisfies</dfn> E when I(E)=true, that E is <dfn>satisfiable</dfn> when an interpretation exists which satisfies it, (otherwise <dfn>unsatisfiable</dfn>), and that a graph G <dfn>simply entails</dfn> a graph E when every interpretation which satisfies G also satisfies E. </p>
+<p>Following standard terminology, we say that I <dfn id="dfn-satisfies">satisfies</dfn> E when I(E)=true, that E is <dfn id="dfn-satisfiable">satisfiable</dfn> when an interpretation exists which satisfies it, (otherwise <dfn id="dfn-unsatisfiable">unsatisfiable</dfn>), and that a graph G <dfn id="dfn-simply-entails">simply entails</dfn> a graph E when every interpretation which satisfies G also satisfies E. </p>
<p>In later sections these notions will be adapted to other classes of interpretations, but throughout this section 'entailment' should be interpreted as meaning simple entailment.
</p>
<p class="technote">We do not define a notion of entailment between sets of graphs. To determine whether a set of graphs entails a graph, the graphs in the set must first be combined into one graph, either by taking the union or the merge of the graphs. Unions preserve the common meaning of shared blank nodes, while merging effectively ignores any sharing of blank nodes. Merging the set of graphs produces the same definition of entailment by a set that was defined in the 2004 RDF 1.0 specification.</p>
<p><a id="defvalid">Any process which constructs a graph E from
- some other graph S is (simply) <dfn>valid</dfn> if S
- simply entails E in every case, otherwise <dfn>invalid.</dfn></a></p>
+ some other graph S is (simply) <dfn id="dfn-valid">valid</dfn> if S
+ simply entails E in every case, otherwise <dfn id="dfn-invalid.">invalid.</dfn></a></p>
<p>The fact that an inference is valid should not be understood as meaning that any RDF application is obliged or required to make the inference. Similarly, the logical invalidity of some RDF transformation or process does not mean that the process is incorrect or prohibited. Nothing in this specification requires or prohibits any particular operations on RDF graphs or sources. Entailment and validity are concerned solely with establishing the conditions on such operations which guarantee the preservation of truth. While logically invalid processes, which do not follow valid entailments, are not prohibited, users should be aware that they may be at risk of introducing falsehoods into true RDF data. Nevertheless, particular uses of logically invalid processes may be justified and appropriate for data processing under circumstances where truth can be ensured by other means. </p>
-<p>Entailment refers only to the truth of RDF graphs, not to their suitability for any other purpose. It is possible for an RDF graph to be fitted for a given purpose and yet validly entail another graph which is not appropriate for the same purpose. An example is the RDF test cases manifest [[RDF-TESTCASES]] which is provided as an RDF document for user convenience. This document lists examples of correct entailments by describing their antecedents and conclusions. Considered as an RDF graph, the manifest simply entails a subgraph which omits the antecedents, and would therefore be incorrect if used as a test case manifest. This is not a violation of the RDF semantic rules, but it shows that the property of <em> "being a correct RDF test case manifest"</em> is not preserved under RDF entailment, and therefore cannot be described as an RDF <a>semantic extension</a>. Such entailment-risky uses of RDF should be restricted to cases, as here, where it is obvious to all parties what the intended special restrictions on entailment are, in contrast with the more normal case of using RDF for the open publication of data on the Web.</p>
+<p>Entailment refers only to the truth of RDF graphs, not to their suitability for any other purpose. It is possible for an RDF graph to be fitted for a given purpose and yet validly entail another graph which is not appropriate for the same purpose. An example is the RDF test cases manifest [<cite><a href="#bib-RDF-TESTCASES" class="bibref">RDF-TESTCASES</a></cite>] which is provided as an RDF document for user convenience. This document lists examples of correct entailments by describing their antecedents and conclusions. Considered as an RDF graph, the manifest simply entails a subgraph which omits the antecedents, and would therefore be incorrect if used as a test case manifest. This is not a violation of the RDF semantic rules, but it shows that the property of <em> "being a correct RDF test case manifest"</em> is not preserved under RDF entailment, and therefore cannot be described as an RDF <a class="internalDFN" href="#dfn-semantic-extension">semantic extension</a>. Such entailment-risky uses of RDF should be restricted to cases, as here, where it is obvious to all parties what the intended special restrictions on entailment are, in contrast with the more normal case of using RDF for the open publication of data on the Web.</p>
</section>
-<section class="informative">
+<section id="properties-of-simple-entailment-informative" class="informative">
-<h3 id="simple_entailment_properties">Properties of simple entailment (Informative) </h3>
+<h3 id="simple_entailment_properties"><span class="secno">5.4 </span>Properties of simple entailment (Informative) </h3><p><em>This section is non-normative.</em></p>
<p>The properties described here apply only to simple entailment, not to extended notions of entailment introduced in later sections. Proofs are given in Appendix C. </p>
<p class="fact">Every graph is satisfiable.</p>
-<p>This does not hold for extended notions of interpretation. For example, a graph containing an <a>ill-typed</a> literal is <a>D-unsatisfiable</a>.</p>
+<p>This does not hold for extended notions of interpretation. For example, a graph containing an <a class="internalDFN" href="#dfn-ill-typed">ill-typed</a> literal is <a class="internalDFN" href="#dfn-d-unsatisfiable">D-unsatisfiable</a>.</p>
-<p>The following <dfn>interpolation</dfn> <strong>lemma</strong> </p>
+<p>The following <dfn id="dfn-interpolation">interpolation</dfn> <strong>lemma</strong> </p>
<p class="fact">
G simply entails a graph E if and only if a subgraph of G is an instance of E.
@@ -453,11 +599,11 @@
terms. To detect whether one RDF graph simply entails another, check that
there is some instance of the entailed graph which is a subset of the first graph. </p>
-<p class="technote">This is clearly decidable, but it is also difficult to determine in general, since one can encode the NP-hard subgraph problem (detecting whether one mathematical graph is a subgraph of another) as detecting simple entailment between RDF graphs. This construction (due to Jeremy Carroll) uses graphs containing many blank nodes, which are unlikely to occur in practice. The complexity of checking simple entailment is reduced by having fewer blank nodes in the conclusion E. When E is a <a>ground</a> graph, it is simply a matter of checking the subset relationship on sets of triples.</p>
+<p class="technote">This is clearly decidable, but it is also difficult to determine in general, since one can encode the NP-hard subgraph problem (detecting whether one mathematical graph is a subgraph of another) as detecting simple entailment between RDF graphs. This construction (due to Jeremy Carroll) uses graphs containing many blank nodes, which are unlikely to occur in practice. The complexity of checking simple entailment is reduced by having fewer blank nodes in the conclusion E. When E is a <a class="internalDFN" href="#dfn-ground">ground</a> graph, it is simply a matter of checking the subset relationship on sets of triples.</p>
-<p><a>Interpolation</a> has a number of direct consequences, for example:</p>
+<p><a class="internalDFN" href="#dfn-interpolation">Interpolation</a> has a number of direct consequences, for example:</p>
-<p class="fact"> The <a>empty graph</a> is entailed by
+<p class="fact"> The <a class="internalDFN" href="#dfn-empty-graph">empty graph</a> is entailed by
any graph, and does not entail any graph except itself.
<!-- <a href="#emptygraphlemmaprf" class="termref">[Proof]</a> -->
</p>
@@ -465,11 +611,11 @@
<!-- <a href="#subglemprf" class="termref">[Proof]</a> -->
</p>
<p class="fact"> A graph
- is entailed by any of its <a>instance</a>s.
+ is entailed by any of its <a class="internalDFN" href="#dfn-instance">instance</a>s.
<!-- <a href="#instlemprf" class="termref"> [Proof]</a> -->
</p>
<p class="fact"> If
- E is a <a>lean</a> graph and E' is a <a>proper instance</a> of E, then E does
+ E is a <a class="internalDFN" href="#dfn-lean">lean</a> graph and E' is a <a class="internalDFN" href="#dfn-proper-instance">proper instance</a> of E, then E does
not entail E'.
</p>
@@ -488,8 +634,8 @@
</section>
</section>
-<section class="informative"><h2 id="skolemization">Skolemization (Informative)</h2>
-<p><a class="externaldefinition">Skolemization</a> is a transformation on RDF graphs which eliminates blank nodes by replacing them with "new" IRIs, which means IRIs which are coined for this purpose and are therefore guaranteed to not occur in any other RDF graph (at the time of creation). See <a href="http://www.w3.org/TR/rdf11-concepts/#section-skolemization">Section 3.5</a> of [[!RDF11-CONCEPTS]] for a fuller discussion. </p>
+<section id="skolemization-informative" class="informative"><!--OddPage--><h2 id="skolemization"><span class="secno">6. </span>Skolemization (Informative)</h2><p><em>This section is non-normative.</em></p>
+<p><a class="externaldefinition">Skolemization</a> is a transformation on RDF graphs which eliminates blank nodes by replacing them with "new" IRIs, which means IRIs which are coined for this purpose and are therefore guaranteed to not occur in any other RDF graph (at the time of creation). See <a href="http://www.w3.org/TR/rdf11-concepts/#section-skolemization">Section 3.5</a> of [<cite><a href="#bib-RDF11-CONCEPTS" class="bibref">RDF11-CONCEPTS</a></cite>] for a fuller discussion. </p>
<p> Suppose G is a graph containing blank nodes and sk is a skolemization mapping from the blank nodes in G to the skolem IRIs which are substituted for them, so that sk(G) is a skolemization of G. Then the semantic relationship between them can be summarized as follows. </p>
<p class="fact"> sk(G) simply entails G (since sk(G) is an instance of G.)</p>
@@ -502,27 +648,27 @@
</section>
-<section><h2 id="datatypes">Literals and datatypes</h2>
-<p class="changenote"> In the 2004 RDF 1.0 specification, datatype D-entailment was defined as a <a>semantic extension</a> of RDFS-entailment. Here it is defined as a direct extension to basic RDF. This is more in conformity with actual usage, where RDF with datatypes is widely used without the RDFS vocabulary. If there is a need to distinguish this from the 2004 RDF 1.0 terminology, the longer phrasing "simple D-entailment" or "simple datatype entailment" should be used rather than "D-entailment". </p>
+<section id="literals-and-datatypes"><!--OddPage--><h2 id="datatypes"><span class="secno">7. </span>Literals and datatypes</h2>
+<p class="changenote"> In the 2004 RDF 1.0 specification, datatype D-entailment was defined as a <a class="internalDFN" href="#dfn-semantic-extension">semantic extension</a> of RDFS-entailment. Here it is defined as a direct extension to basic RDF. This is more in conformity with actual usage, where RDF with datatypes is widely used without the RDFS vocabulary. If there is a need to distinguish this from the 2004 RDF 1.0 terminology, the longer phrasing "simple D-entailment" or "simple datatype entailment" should be used rather than "D-entailment". </p>
-<p> Datatypes are <a title="identify">identified</a> by IRIs. Interpretations will vary according to which IRIs they recognize as denoting datatypes. We describe this using a parameter D on interpretations. where D is the set of <dfn>recognize</dfn><strong>d</strong> datatype IRIs. We assume that a recognized IRI <a title="identify">identifies</a> a unique datatype wherever it occurs, and the semantics requires that it refers to this identified datatype. The exact mechanism by which an IRI <a title="identify">identifies</a> a datatype IRI is considered to be external to the semantics. RDF processors which are not able to determine which datatype is identifier by an IRI cannot <a>recognize</a> that IRI, and should treat any literals type with that IRI as unknown names. </p>
+<p> Datatypes are <a class="internalDFN" href="#dfn-identify" title="identify">identified</a> by IRIs. Interpretations will vary according to which IRIs they recognize as denoting datatypes. We describe this using a parameter D on interpretations. where D is the set of <dfn id="dfn-recognize">recognize</dfn><strong>d</strong> datatype IRIs. We assume that a recognized IRI <a class="internalDFN" href="#dfn-identify" title="identify">identifies</a> a unique datatype wherever it occurs, and the semantics requires that it refers to this identified datatype. The exact mechanism by which an IRI <a class="internalDFN" href="#dfn-identify" title="identify">identifies</a> a datatype IRI is considered to be external to the semantics. RDF processors which are not able to determine which datatype is identifier by an IRI cannot <a class="internalDFN" href="#dfn-recognize">recognize</a> that IRI, and should treat any literals type with that IRI as unknown names. </p>
<p class="changenote">In the 2004 RDF 1.0 specification, the semantics of datatypes referred to datatype maps. The current treatment subsumes datatype maps into the interpretation mapping on recognized IRIs.</p>
-<p>RDF literals and datatypes are fully described in <a href="http://www.w3.org/TR/rdf11-concepts/#section-Datatypes"> Section 5</a> of [[!RDF11-CONCEPTS]]. In summary: RDF literals are either language-tagged strings, or datatyped literals which
-combine a string and an IRI <a>identify</a>ing a datatype. A datatype is understood to define a partial mapping, called the <dfn>lexical-to-value mapping</dfn>, from character strings to values. The function <dfn>L2V</dfn> maps datatypes to their lexical-to-value mapping. A literal with datatype d denotes the value obtained by applying this mapping to the character string sss: L2V(d)(sss). If the lexical-to-value mapping gives no value for the literal string, then the literal has no referent. The <dfn>value space</dfn> of a datatype is the range of the <a>lexical-to-value mapping</a>. Every literal with that type either refers to a value in the value space of the type, or fails to refer at all. An <dfn>ill-typed</dfn> literal is one whose datatype IRI is <a>recognize</a>d, but whose character string is assigned no value by the <a>lexical-to-value mapping</a> for that datatype. </p>
+<p>RDF literals and datatypes are fully described in <a href="http://www.w3.org/TR/rdf11-concepts/#section-Datatypes"> Section 5</a> of [<cite><a href="#bib-RDF11-CONCEPTS" class="bibref">RDF11-CONCEPTS</a></cite>]. In summary: RDF literals are either language-tagged strings, or datatyped literals which
+combine a string and an IRI <a class="internalDFN" href="#dfn-identify">identify</a>ing a datatype. A datatype is understood to define a partial mapping, called the <dfn id="dfn-lexical-to-value-mapping">lexical-to-value mapping</dfn>, from character strings to values. The function <dfn id="dfn-l2v">L2V</dfn> maps datatypes to their lexical-to-value mapping. A literal with datatype d denotes the value obtained by applying this mapping to the character string sss: L2V(d)(sss). If the lexical-to-value mapping gives no value for the literal string, then the literal has no referent. The <dfn id="dfn-value-space">value space</dfn> of a datatype is the range of the <a class="internalDFN" href="#dfn-lexical-to-value-mapping">lexical-to-value mapping</a>. Every literal with that type either refers to a value in the value space of the type, or fails to refer at all. An <dfn id="dfn-ill-typed">ill-typed</dfn> literal is one whose datatype IRI is <a class="internalDFN" href="#dfn-recognize">recognize</a>d, but whose character string is assigned no value by the <a class="internalDFN" href="#dfn-lexical-to-value-mapping">lexical-to-value mapping</a> for that datatype. </p>
-<p> RDF processors are not REQUIRED to <a>recognize</a> any datatype IRIs other than <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string"><code>rdf:langString</code></a> and <a href="http://www.w3.org/TR/xmlschema11-2/#string"><code>xsd:string</code></a>, but when IRIs listed in <a href="http://www.w3.org/TR/rdf11-concepts/#section-Datatypes">Section 5</a> of [[!RDF11-CONCEPTS]] are <a>recognize</a>d, they MUST be interpreted as described there, and when the IRI <code>rdf:PlainLiteral</code> is <a>recognize</a>d, it MUST be interpreted to refer to the datatype defined in [[!RDF-PLAIN-LITERAL]]. RDF processors MAY recognize other datatype IRIs, but when other datatype IRIs are <a>recognize</a>d, the mapping between a <a>recognize</a>d IRI and the datatype it refers to MUST be specified unambiguously, and MUST be fixed during all RDF transformations or manipulations.</p>
+<p> RDF processors are not <em title="REQUIRED" class="rfc2119">REQUIRED</em> to <a class="internalDFN" href="#dfn-recognize">recognize</a> any datatype IRIs other than <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string"><code>rdf:langString</code></a> and <a href="http://www.w3.org/TR/xmlschema11-2/#string"><code>xsd:string</code></a>, but when IRIs listed in <a href="http://www.w3.org/TR/rdf11-concepts/#section-Datatypes">Section 5</a> of [<cite><a href="#bib-RDF11-CONCEPTS" class="bibref">RDF11-CONCEPTS</a></cite>] are <a class="internalDFN" href="#dfn-recognize">recognize</a>d, they <em title="MUST" class="rfc2119">MUST</em> be interpreted as described there, and when the IRI <code>rdf:PlainLiteral</code> is <a class="internalDFN" href="#dfn-recognize">recognize</a>d, it <em title="MUST" class="rfc2119">MUST</em> be interpreted to refer to the datatype defined in [<cite><a href="#bib-RDF-PLAIN-LITERAL" class="bibref">RDF-PLAIN-LITERAL</a></cite>]. RDF processors <em title="MAY" class="rfc2119">MAY</em> recognize other datatype IRIs, but when other datatype IRIs are <a class="internalDFN" href="#dfn-recognize">recognize</a>d, the mapping between a <a class="internalDFN" href="#dfn-recognize">recognize</a>d IRI and the datatype it refers to <em title="MUST" class="rfc2119">MUST</em> be specified unambiguously, and <em title="MUST" class="rfc2119">MUST</em> be fixed during all RDF transformations or manipulations.</p>
<p>Literals with <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string"><code>rdf:langString</code></a> as their datatype are an exceptional case which are given a special treatment. The IRI <code>rdf:langString</code> is classified as a datatype IRI, and interpreted to refer to a datatype, even though no L2V mapping is defined for it. The value space of <code>rdf:langString</code> is the set of all pairs of a string with a language tag. The semantics of literals with this as their type are given below. </p>
-<p>RDF literal syntax allows any IRI to be used in a typed literal, even when it is not <a>recognize</a>d as referring to a datatype. Literals with such an "unknown" datatype IRI, which is not in the set of <a>recognize</a>d datatypes, SHOULD NOT be treated as errors, although RDF applications MAY issue a warning. Such literals SHOULD be treated like IRIs and assumed to denote some thing in the universe IR. RDF processors which fail to <a>recognize</a> a datatype IRI will not be able to detect some entailments which are visible to one which does. For example, the fact that </p><p><code>ex:a ex:p "20.0000"^^xsd:decimal .</code></p><p>entails </p><p><code>ex:a ex:p "20.0"^^xsd:decimal .</code></p><p>will not be visible to a processor which does not <a>recognize</a> the datatype IRI <code>xsd:decimal</code>.</p>
+<p>RDF literal syntax allows any IRI to be used in a typed literal, even when it is not <a class="internalDFN" href="#dfn-recognize">recognize</a>d as referring to a datatype. Literals with such an "unknown" datatype IRI, which is not in the set of <a class="internalDFN" href="#dfn-recognize">recognize</a>d datatypes, <em title="SHOULD NOT" class="rfc2119">SHOULD NOT</em> be treated as errors, although RDF applications <em title="MAY" class="rfc2119">MAY</em> issue a warning. Such literals <em title="SHOULD" class="rfc2119">SHOULD</em> be treated like IRIs and assumed to denote some thing in the universe IR. RDF processors which fail to <a class="internalDFN" href="#dfn-recognize">recognize</a> a datatype IRI will not be able to detect some entailments which are visible to one which does. For example, the fact that </p><p><code>ex:a ex:p "20.0000"^^xsd:decimal .</code></p><p>entails </p><p><code>ex:a ex:p "20.0"^^xsd:decimal .</code></p><p>will not be visible to a processor which does not <a class="internalDFN" href="#dfn-recognize">recognize</a> the datatype IRI <code>xsd:decimal</code>.</p>
-<section id="D_interpretations"><h2>D-interpretations</h2>
-<p>Let D be a set of IRIs <a>identify</a>ing datatypes. A <dfn>(simple) D-interpretation</dfn> is a <a>simple interpretation</a> which satisfies the following conditions:</p>
+<section id="D_interpretations"><h3><span class="secno">7.1 </span>D-interpretations</h3>
+<p>Let D be a set of IRIs <a class="internalDFN" href="#dfn-identify">identify</a>ing datatypes. A <dfn id="dfn-simple-d-interpretation">(simple) D-interpretation</dfn> is a <a class="internalDFN" href="#dfn-simple-interpretation">simple interpretation</a> which satisfies the following conditions:</p>
-<div class="tabletitle">Semantic conditions for datatyped literals.</div>
+<div class="tabletitle">Semantic conditions for datatyped literals.</div>
<table border="1">
<tbody>
<tr><td class="semantictable">If <code>rdf:langString</code> is in D, then for every language-tagged string E with lexical form sss and language tag ttt, IL(E)= < sss, ttt' >, where ttt' is ttt converted to lower case using US-ASCII rules </td></tr>
@@ -531,9 +677,9 @@
</tbody></table>
-<p>If the literal is <a>ill-typed</a> then the L2V(I(aaa)) mapping has no value, and so the literal cannot denote anything. In this case, any triple containing the literal must be false. Thus, any triple, and hence any graph, containing an <a>ill-typed</a> literal will be <a>D-unsatisfiable</a>, i.e. false in every D-interpretation. This applies only to literals typed with recognized datatype IRIs in D; literals with an unrecognized type IRI are not <a>ill-typed</a> and cannot give rise to a <a>D-unsatisfiable</a> graph. </p>
+<p>If the literal is <a class="internalDFN" href="#dfn-ill-typed">ill-typed</a> then the L2V(I(aaa)) mapping has no value, and so the literal cannot denote anything. In this case, any triple containing the literal must be false. Thus, any triple, and hence any graph, containing an <a class="internalDFN" href="#dfn-ill-typed">ill-typed</a> literal will be <a class="internalDFN" href="#dfn-d-unsatisfiable">D-unsatisfiable</a>, i.e. false in every D-interpretation. This applies only to literals typed with recognized datatype IRIs in D; literals with an unrecognized type IRI are not <a class="internalDFN" href="#dfn-ill-typed">ill-typed</a> and cannot give rise to a <a class="internalDFN" href="#dfn-d-unsatisfiable">D-unsatisfiable</a> graph. </p>
-<p>The built-in RDF datatype <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string"><code>rdf:langString</code></a> has no <a>ill-typed</a> literals. Any syntactically legal literal with this type will denote a value in every RDF interpretation. The only ill-typed literals of type <a href="http://www.w3.org/TR/xmlschema11-2/#string"><code>xsd:string</code></a> are those containing a Unicode code point which does not match the <a href="http://www.w3.org/TR/xml11/#NT-Char"><em>Char</em> production</a> in [[XML10]]. Such strings cannot be written in an XML-compatible surface syntax.
+<p>The built-in RDF datatype <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string"><code>rdf:langString</code></a> has no <a class="internalDFN" href="#dfn-ill-typed">ill-typed</a> literals. Any syntactically legal literal with this type will denote a value in every RDF interpretation. The only ill-typed literals of type <a href="http://www.w3.org/TR/xmlschema11-2/#string"><code>xsd:string</code></a> are those containing a Unicode code point which does not match the <a href="http://www.w3.org/TR/xml11/#NT-Char"><em>Char</em> production</a> in [<cite><a href="#bib-XML10" class="bibref">XML10</a></cite>]. Such strings cannot be written in an XML-compatible surface syntax.
</p>
@@ -546,24 +692,24 @@
</section>
-<section>
-<h3 id="D_entailment">Datatype entailment</h3>
+<section id="datatype-entailment">
+<h3 id="D_entailment"><span class="secno">7.2 </span>Datatype entailment</h3>
-<p>A graph is (simply) <dfn>D-satisfiable</dfn> or <dfn>satisfiable recognizing D</dfn> when it has the value true in some D-interpretation, and a graph S (simply) <dfn>D-entails</dfn> or <dfn>entails recognizing D</dfn> a graph G when every D-interpretation which satisfies S also D-satisfies G.</p>
+<p>A graph is (simply) <dfn id="dfn-d-satisfiable">D-satisfiable</dfn> or <dfn id="dfn-satisfiable-recognizing-d">satisfiable recognizing D</dfn> when it has the value true in some D-interpretation, and a graph S (simply) <dfn id="dfn-d-entails">D-entails</dfn> or <dfn id="dfn-entails-recognizing-d">entails recognizing D</dfn> a graph G when every D-interpretation which satisfies S also D-satisfies G.</p>
-<p> Unlike the case with <a>simple interpretation</a>s, it is possible for a graph to have no satisfying D-interpretations, i.e. to be <dfn>D-unsatisfiable</dfn>. RDF processors MAY treat an unsatisfiable graph as signaling an error condition, but this is not required.</p>
+<p> Unlike the case with <a class="internalDFN" href="#dfn-simple-interpretation">simple interpretation</a>s, it is possible for a graph to have no satisfying D-interpretations, i.e. to be <dfn id="dfn-d-unsatisfiable">D-unsatisfiable</dfn>. RDF processors <em title="MAY" class="rfc2119">MAY</em> treat an unsatisfiable graph as signaling an error condition, but this is not required.</p>
-<p> A <a>D-unsatisfiable</a> graph D-entails any graph.</p>
+<p> A <a class="internalDFN" href="#dfn-d-unsatisfiable">D-unsatisfiable</a> graph D-entails any graph.</p>
<p class="technote">The fact that an unsatisfiable statement entails any other statement has been known since antiquity. It is called the principle of <em>ex falso quodlibet</em>. It should not be interpreted to mean that it is necessary, or even permissible, to actually draw any conclusion from an inconsistency.</p>
-<p>In all of this language, 'D' is being used as a parameter to represent some set of datatype IRIs, and different D sets will yield different notions of satisfiability and entailment. The more datatypes are <a>recognize</a>d, the stronger is the entailment, so that if D ⊂ E and S E-entails G then S must D-entail G. Simple entailment is { }-entailment, i.e. D-entailment when D is the empty set, so if S D-entails G then S simply entails G. </p>
+<p>In all of this language, 'D' is being used as a parameter to represent some set of datatype IRIs, and different D sets will yield different notions of satisfiability and entailment. The more datatypes are <a class="internalDFN" href="#dfn-recognize">recognize</a>d, the stronger is the entailment, so that if D ⊂ E and S E-entails G then S must D-entail G. Simple entailment is { }-entailment, i.e. D-entailment when D is the empty set, so if S D-entails G then S simply entails G. </p>
-<section class="informative"> <h4 id="datatype_entailment_patterns">Patterns of datatype entailment (Informative)</h4>
-<p>Unlike <a title="simply entails">simple entailment</a>, it is not possible to give a single syntactic criterion to detect all D-entailments, which
-can hold because of particular properties of the lexical-to-value mappings of the <a>recognize</a>d datatypes. For example, if D contains <code>xsd:decimal</code> then </p>
+<section id="patterns-of-datatype-entailment-informative" class="informative"> <h4 id="datatype_entailment_patterns"><span class="secno">7.2.1 </span>Patterns of datatype entailment (Informative)</h4><p><em>This section is non-normative.</em></p>
+<p>Unlike <a class="internalDFN" href="#dfn-simply-entails" title="simply entails">simple entailment</a>, it is not possible to give a single syntactic criterion to detect all D-entailments, which
+can hold because of particular properties of the lexical-to-value mappings of the <a class="internalDFN" href="#dfn-recognize">recognize</a>d datatypes. For example, if D contains <code>xsd:decimal</code> then </p>
<p><code>ex:a ex:p "25.0"^^xsd:decimal .</code></p>
@@ -572,26 +718,26 @@
<p><code>ex:a ex:p "25"^^xsd:decimal .</code>
</p>
-<p>In general, any triple containing a literal with a <a>recognize</a>d datatype IRI D-entails another literal when the lexical strings of the literals map to the same value under the lexical-to-value map of the datatype. If two different datatypes in D map lexical strings to a common value, then a triple containing a literal typed with one datatype may D-entail another triple containing a literal typed with a different datatype. For example, <code>"25"^^xsd:integer</code> and <code>"25.0"^^xsd:decimal</code> have the same value, so the above also D-entails </p>
+<p>In general, any triple containing a literal with a <a class="internalDFN" href="#dfn-recognize">recognize</a>d datatype IRI D-entails another literal when the lexical strings of the literals map to the same value under the lexical-to-value map of the datatype. If two different datatypes in D map lexical strings to a common value, then a triple containing a literal typed with one datatype may D-entail another triple containing a literal typed with a different datatype. For example, <code>"25"^^xsd:integer</code> and <code>"25.0"^^xsd:decimal</code> have the same value, so the above also D-entails </p>
<p><code>ex:a ex:p "25"^^xsd:integer .</code></p>
<p>when D also contains <code>xsd:integer</code>.
-<p>(There is a W3C Note [[SWBP-XSCH-DATATYPES]] containing a long <a href="http://www.w3.org/TR/swbp-xsch-datatypes/#sec-values">discussion</a> of literal values.)</p>
+</p><p>(There is a <abbr title="World Wide Web Consortium">W3C</abbr> Note [<cite><a href="#bib-SWBP-XSCH-DATATYPES" class="bibref">SWBP-XSCH-DATATYPES</a></cite>] containing a long <a href="http://www.w3.org/TR/swbp-xsch-datatypes/#sec-values">discussion</a> of literal values.)</p>
-<p><a>ill-typed</a> literals are the only way in which a graph can be simply <a>D-unsatisfiable</a>, but datatypes can give rise to a variety of other unsatisfiable graphs when combined with the RDFS vocabulary, defined later.</p>
+<p><a class="internalDFN" href="#dfn-ill-typed">ill-typed</a> literals are the only way in which a graph can be simply <a class="internalDFN" href="#dfn-d-unsatisfiable">D-unsatisfiable</a>, but datatypes can give rise to a variety of other unsatisfiable graphs when combined with the RDFS vocabulary, defined later.</p>
</section>
</section>
</section>
-<section><h2 id="rdf_d_interpretations">RDF Interpretations</h2>
- <p >RDF interpretations impose extra semantic conditions on <code>xsd:string</code> and part of the infinite
+<section id="rdf-interpretations"><!--OddPage--><h2 id="rdf_d_interpretations"><span class="secno">8. </span>RDF Interpretations</h2>
+ <p>RDF interpretations impose extra semantic conditions on <code>xsd:string</code> and part of the infinite
set of IRIs with the namespace prefix <code>rdf:</code> .
-<p>An <dfn>RDF interpretation</dfn> <strong>recognizing D</strong> is a <a>D-interpretation</a> I where D includes <code>rdf:langString</code> and <code>xsd:string</code>, and which satisfies:</p>
+</p><p>An <dfn id="dfn-rdf-interpretation">RDF interpretation</dfn> <strong>recognizing D</strong> is a <a>D-interpretation</a> I where D includes <code>rdf:langString</code> and <code>xsd:string</code>, and which satisfies:</p>
<div class="tabletitle">RDF semantic conditions.</div>
-<table border="1">
+<table border="1">
<tbody>
<tr>
<td class="semantictable"><a id="rdfsemcond1"></a>x is
@@ -605,85 +751,85 @@
<p>and satisfies every triple in the following infinite set:</p>
<div class="tabletitle">RDF axioms.</div>
- <table border="1">
- <tr>
- <td class="ruletable"><a id="RDF_axiomatic_triples"> </a><code>rdf:type rdf:type rdf:Property .<br/>
- rdf:subject rdf:type rdf:Property .<br/>
- rdf:predicate rdf:type rdf:Property .<br/>
- rdf:object rdf:type rdf:Property .<br/>
- rdf:first rdf:type rdf:Property .<br/>
- rdf:rest rdf:type rdf:Property .<br/>
- rdf:value rdf:type rdf:Property .<br/>
- rdf:nil rdf:type rdf:List .<br/>
- rdf:_1 rdf:type rdf:Property .<br/>
- rdf:_2 rdf:type rdf:Property .<br/>
- ... <br/>
+ <table border="1">
+ <tbody><tr>
+ <td class="ruletable"><a id="RDF_axiomatic_triples"> </a><code>rdf:type rdf:type rdf:Property .<br>
+ rdf:subject rdf:type rdf:Property .<br>
+ rdf:predicate rdf:type rdf:Property .<br>
+ rdf:object rdf:type rdf:Property .<br>
+ rdf:first rdf:type rdf:Property .<br>
+ rdf:rest rdf:type rdf:Property .<br>
+ rdf:value rdf:type rdf:Property .<br>
+ rdf:nil rdf:type rdf:List .<br>
+ rdf:_1 rdf:type rdf:Property .<br>
+ rdf:_2 rdf:type rdf:Property .<br>
+ ... <br>
</code>
</td>
</tr>
- </table>
+ </tbody></table>
<p>RDF imposes no particular normative meanings on the rest of the RDF vocabulary. <a>Appendix D</a> describes the intended uses of some of this vocabulary.</p>
-<p>The datatype IRIs <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string"><code>rdf:langString</code></a> and <a href="http://www.w3.org/TR/xmlschema11-2/#string"><code>xsd:string</code></a> MUST be <a>recognize</a>d by all RDF interpretations. </p>
-
-<p>Two other datatypes <a href="http://www.w3.org/TR/rdf11-concepts/#section-XMLLiteral"><code>rdf:XMLLiteral</code></a> and <a href="http://www.w3.org/TR/rdf11-concepts/#section-html"><code>rdf:HTML</code></a> are defined in [[!RDF11-CONCEPTS]]. RDF-D interpretations MAY fail to <a>recognize</a> these datatypes. </p>
-
+<p>The datatype IRIs <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string"><code>rdf:langString</code></a> and <a href="http://www.w3.org/TR/xmlschema11-2/#string"><code>xsd:string</code></a> <em title="MUST" class="rfc2119">MUST</em> be <a class="internalDFN" href="#dfn-recognize">recognize</a>d by all RDF interpretations. </p>
-<section>
-
-<h3><a id="rdf_entail"></a>RDF entailment</h3>
-
-<p>S <dfn>RDF entail</dfn><strong>s</strong> E <strong>recognizing D</strong> when every <a>RDF interpretation recognizing D</a> which satisfies S also satisfies E. When D is {<code>rdf:langString</code>, <code>xsd:string</code>} then we simply say S <strong>RDF entails</strong> E. </p>
-
-<p>The properties of <a>simple entailment</a> described earlier do not all apply to <a>RDF entail</a>ment. For example, all the RDF axioms are true in every <a>RDF interpretation</a>, and so are <a>RDF entail</a>ed by the empty graph, contradicting <a>interpolation</a> for RDF entailment. </p>
+<p>Two other datatypes <a href="http://www.w3.org/TR/rdf11-concepts/#section-XMLLiteral"><code>rdf:XMLLiteral</code></a> and <a href="http://www.w3.org/TR/rdf11-concepts/#section-html"><code>rdf:HTML</code></a> are defined in [<cite><a href="#bib-RDF11-CONCEPTS" class="bibref">RDF11-CONCEPTS</a></cite>]. RDF-D interpretations <em title="MAY" class="rfc2119">MAY</em> fail to <a class="internalDFN" href="#dfn-recognize">recognize</a> these datatypes. </p>
-<section class="informative"><h4 id="rdf_entailment_patterns">Patterns of RDF entailment (Informative)</h4>
-<p> The last semantic condition in the above table gives the following entailment pattern for <a>recognize</a>d datatype IRIs: </p>
+<section id="rdf-entailment">
+
+<h3><span class="secno">8.1 </span><a id="rdf_entail"></a>RDF entailment</h3>
+
+<p>S <dfn id="dfn-rdf-entail">RDF entail</dfn><strong>s</strong> E <strong>recognizing D</strong> when every <a>RDF interpretation recognizing D</a> which satisfies S also satisfies E. When D is {<code>rdf:langString</code>, <code>xsd:string</code>} then we simply say S <strong>RDF entails</strong> E. </p>
+
+<p>The properties of <a>simple entailment</a> described earlier do not all apply to <a class="internalDFN" href="#dfn-rdf-entail">RDF entail</a>ment. For example, all the RDF axioms are true in every <a class="internalDFN" href="#dfn-rdf-interpretation">RDF interpretation</a>, and so are <a class="internalDFN" href="#dfn-rdf-entail">RDF entail</a>ed by the empty graph, contradicting <a class="internalDFN" href="#dfn-interpolation">interpolation</a> for RDF entailment. </p>
+
+
+<section id="patterns-of-rdf-entailment-informative" class="informative"><h4 id="rdf_entailment_patterns"><span class="secno">8.1.1 </span>Patterns of RDF entailment (Informative)</h4><p><em>This section is non-normative.</em></p>
+<p> The last semantic condition in the above table gives the following entailment pattern for <a class="internalDFN" href="#dfn-recognize">recognize</a>d datatype IRIs: </p>
<div class="tabletitle">RDF entailment pattern.</div>
-<table border="1" >
+<table border="1">
<tbody>
<tr>
- <th > </th>
- <th ><strong>if S contains</strong></th>
- <th ><strong>then S RDF entails, recognizing D</strong></th>
+ <th> </th>
+ <th><strong>if S contains</strong></th>
+ <th><strong>then S RDF entails, recognizing D</strong></th>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfD1</dfn></td>
- <td class="othertable"> xxx aaa <code>"</code>sss<code>"^^</code>ddd <code>.</code> <br/>
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfd1">rdfD1</dfn></td>
+ <td class="othertable"> xxx aaa <code>"</code>sss<code>"^^</code>ddd <code>.</code> <br>
for ddd in D</td>
- <td class="othertable">xxx aaa _:nnn <code>.</code><br/>
+ <td class="othertable">xxx aaa _:nnn <code>.</code><br>
_:nnn <code>rdf:type</code> ddd <code>.</code></td>
</tr>
</tbody>
</table>
-<p>Note, this is valid even when the literal is <a>ill-typed</a>, since an unsatisfiable graph entails any triple.</p>
+<p>Note, this is valid even when the literal is <a class="internalDFN" href="#dfn-ill-typed">ill-typed</a>, since an unsatisfiable graph entails any triple.</p>
<p>For example,</p>
<p> <code>ex:a ex:p "123"^^xsd:integer .</code></p>
<p>RDF entails recognizing {<code>xsd:integer</code>}</p>
-<p><code>ex:a ex:p _:x . <br/>
+<p><code>ex:a ex:p _:x . <br>
_:x rdf:type xsd:integer . </code></p>
<p>In addition, the first RDF semantic condition justifies the following entailment pattern:</p>
-<table border="1" >
+<table border="1">
<tbody>
<tr>
- <th > </th>
- <th ><strong>if S contains</strong></th>
- <th ><strong>then S RDF entails, recognizing D</strong></th>
+ <th> </th>
+ <th><strong>if S contains</strong></th>
+ <th><strong>then S RDF entails, recognizing D</strong></th>
</tr>
<tr>
- <td class="othertable"><dfn>rdfD2</dfn></td>
+ <td class="othertable"><dfn id="dfn-rdfd2">rdfD2</dfn></td>
<td class="othertable">xxx aaa yyy <code>.</code></td>
<td class="othertable">aaa <code>rdf:type rdf:Property .</code> </td>
</tr>
@@ -698,8 +844,8 @@
<p>Some datatypes support idiosyncratic entailment patterns which do not hold for other datatypes. For example, </p>
-<p><code> ex:a ex:p "true"^^xsd:boolean . <br/>
-ex:a ex:p "false"^^xsd:boolean .<br/>
+<p><code> ex:a ex:p "true"^^xsd:boolean . <br>
+ex:a ex:p "false"^^xsd:boolean .<br>
ex:v rdf:type xsd:boolean .</code></p>
<p>together RDF entail</p>
@@ -710,26 +856,26 @@
<p>In addition, the semantic conditions on value spaces may produce other unsatisfiable graphs. For example, when D contains <code>xsd:integer</code> and <code>xsd:boolean</code>, then the following is <a>RDF unsatisfiable</a> recognizing D:</p>
-<p><code>_:x rdf:type xsd:boolean .<br/>
+<p><code>_:x rdf:type xsd:boolean .<br>
_:x rdf:type xsd:integer . </code></p>
</section>
</section>
</section>
-<section><h2 id="rdfs_interpretations">RDFS Interpretations</h2>
-<p>RDF Schema [[RDF-SCHEMA]]
+<section id="rdfs-interpretations"><!--OddPage--><h2 id="rdfs_interpretations"><span class="secno">9. </span>RDFS Interpretations</h2>
+<p>RDF Schema [<cite><a href="#bib-RDF-SCHEMA" class="bibref">RDF-SCHEMA</a></cite>]
extends RDF to a larger vocabulary
with more complex semantic constraints:</p>
- <div >
+ <div>
<table border="1">
<tbody>
<tr>
- <td ><dfn>RDFS vocabulary</dfn></td>
+ <td><dfn id="dfn-rdfs-vocabulary">RDFS vocabulary</dfn></td>
</tr>
<tr>
- <td ><code>rdfs:domain rdfs:range rdfs:Resource rdfs:Literal
+ <td><code>rdfs:domain rdfs:range rdfs:Resource rdfs:Literal
rdfs:Datatype rdfs:Class rdfs:subClassOf rdfs:subPropertyOf
rdfs:member rdfs:Container rdfs:ContainerMembershipProperty
rdfs:comment rdfs:seeAlso rdfs:isDefinedBy
@@ -744,9 +890,9 @@
and <code>rdfs:subPropertyOf</code>. Other than this, the formal semantics does
not constrain their meanings.)</p>
<p>It is convenient to state the RDFS semantics
- in terms of a new semantic construct, a <dfn>class</dfn>, i.e. a resource which represents
+ in terms of a new semantic construct, a <dfn id="dfn-class">class</dfn>, i.e. a resource which represents
a set of things in the universe which all have that class as a value of their
- <code>rdf:type</code> property. <a>Class</a>es are defined to be things of type <code>rdfs:Class</code>,
+ <code>rdf:type</code> property. <a class="internalDFN" href="#dfn-class">Class</a>es are defined to be things of type <code>rdfs:Class</code>,
and the set of all classes in an interpretation will be called IC.
The semantic conditions are stated in terms of a mapping ICEXT (for the <em>C</em>lass
<em>Ext</em>ension in I) from IC to the set of subsets of IR.</p><p> A class may have an
@@ -755,12 +901,12 @@
</p>
-<p> An <dfn>RDFS interpretation</dfn> (<strong>recognizing D</strong>) is an <a>RDF interpretation</a> (recognizing D) I
+<p> An <dfn id="dfn-rdfs-interpretation">RDFS interpretation</dfn> (<strong>recognizing D</strong>) is an <a class="internalDFN" href="#dfn-rdf-interpretation">RDF interpretation</a> (recognizing D) I
which satisfies the semantic conditions in the following table, and all the triples in the subsequent table of RDFS axiomatic triples. </p>
<div class="tabletitle">RDFS semantic conditions.</div>
- <table border="1">
- <tr>
+ <table border="1">
+ <tbody><tr>
<td class="semantictable"> <p><a id="rdfssemcond1"></a>ICEXT(y) is defined to be { x : < x,y > is in IEXT(I(<code>rdf:type</code>)) }</p>
<p>IC is defined to be ICEXT(I(<code>rdfs:Class</code>))</p>
@@ -813,17 +959,17 @@
<tr>
<td class="semantictable"><p><a id="rdfssemcond9"></a>If
- x is in ICEXT(I(<code>rdfs:ContainerMembershipProperty</code>)) then:<br/>
- < x, I(<code>rdfs:member</code>) > is in IEXT(I(<code>rdfs:subPropertyOf</code>))<br/>
- </td>
+ x is in ICEXT(I(<code>rdfs:ContainerMembershipProperty</code>)) then:<br>
+ < x, I(<code>rdfs:member</code>) > is in IEXT(I(<code>rdfs:subPropertyOf</code>))<br>
+ </p></td>
</tr>
<tr>
<td class="semantictable"><p><a id="rdfssemcond10"></a>If
- x is in ICEXT(I(<code>rdfs:Datatype</code>)) then <span >< x,
+ x is in ICEXT(I(<code>rdfs:Datatype</code>)) then <span>< x,
I(<code>rdfs:Literal</code>) > is in IEXT(I(<code>rdfs:subClassOf</code>))</span></p></td>
</tr>
- </table>
+ </tbody></table>
<p></p>
@@ -832,73 +978,73 @@
<p><a id="RDFS_axiomatic_triples"> </a>
</p>
<div class="tabletitle">RDFS axiomatic triples.</div>
- <table border="1">
+ <table border="1">
- <tr>
+ <tbody><tr>
- <td class="ruletable"> <code>rdf:type rdfs:domain rdfs:Resource .<br/>
- rdfs:domain rdfs:domain rdf:Property .<br/>
- rdfs:range rdfs:domain rdf:Property .<br/>
- rdfs:subPropertyOf rdfs:domain rdf:Property .<br/>
- rdfs:subClassOf rdfs:domain rdfs:Class .<br/>
- rdf:subject rdfs:domain rdf:Statement .<br/>
- rdf:predicate rdfs:domain rdf:Statement .<br/>
- rdf:object rdfs:domain rdf:Statement .<br/>
- rdfs:member rdfs:domain rdfs:Resource . <br/>
- rdf:first rdfs:domain rdf:List .<br/>
- rdf:rest rdfs:domain rdf:List .<br/>
- rdfs:seeAlso rdfs:domain rdfs:Resource .<br/>
- rdfs:isDefinedBy rdfs:domain rdfs:Resource .<br/>
- rdfs:comment rdfs:domain rdfs:Resource .<br/>
- rdfs:label rdfs:domain rdfs:Resource .<br/>
- rdf:value rdfs:domain rdfs:Resource .<br/>
- <br/>
- rdf:type rdfs:range rdfs:Class .<br/>
- rdfs:domain rdfs:range rdfs:Class .<br/>
- rdfs:range rdfs:range rdfs:Class .<br/>
- rdfs:subPropertyOf rdfs:range rdf:Property .<br/>
- rdfs:subClassOf rdfs:range rdfs:Class .<br/>
- rdf:subject rdfs:range rdfs:Resource .<br/>
- rdf:predicate rdfs:range rdfs:Resource .<br/>
- rdf:object rdfs:range rdfs:Resource .<br/>
- rdfs:member rdfs:range rdfs:Resource .<br/>
- rdf:first rdfs:range rdfs:Resource .<br/>
- rdf:rest rdfs:range rdf:List .<br/>
- rdfs:seeAlso rdfs:range rdfs:Resource .<br/>
- rdfs:isDefinedBy rdfs:range rdfs:Resource .<br/>
- rdfs:comment rdfs:range rdfs:Literal .<br/>
- rdfs:label rdfs:range rdfs:Literal .<br/>
- rdf:value rdfs:range rdfs:Resource .<br/>
- <br/>
- rdf:Alt rdfs:subClassOf rdfs:Container .<br/>
- rdf:Bag rdfs:subClassOf rdfs:Container .<br/>
- rdf:Seq rdfs:subClassOf rdfs:Container .<br/>
- rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property .<br/>
- <br/>
- rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso .<br/>
- <br/>
+ <td class="ruletable"> <code>rdf:type rdfs:domain rdfs:Resource .<br>
+ rdfs:domain rdfs:domain rdf:Property .<br>
+ rdfs:range rdfs:domain rdf:Property .<br>
+ rdfs:subPropertyOf rdfs:domain rdf:Property .<br>
+ rdfs:subClassOf rdfs:domain rdfs:Class .<br>
+ rdf:subject rdfs:domain rdf:Statement .<br>
+ rdf:predicate rdfs:domain rdf:Statement .<br>
+ rdf:object rdfs:domain rdf:Statement .<br>
+ rdfs:member rdfs:domain rdfs:Resource . <br>
+ rdf:first rdfs:domain rdf:List .<br>
+ rdf:rest rdfs:domain rdf:List .<br>
+ rdfs:seeAlso rdfs:domain rdfs:Resource .<br>
+ rdfs:isDefinedBy rdfs:domain rdfs:Resource .<br>
+ rdfs:comment rdfs:domain rdfs:Resource .<br>
+ rdfs:label rdfs:domain rdfs:Resource .<br>
+ rdf:value rdfs:domain rdfs:Resource .<br>
+ <br>
+ rdf:type rdfs:range rdfs:Class .<br>
+ rdfs:domain rdfs:range rdfs:Class .<br>
+ rdfs:range rdfs:range rdfs:Class .<br>
+ rdfs:subPropertyOf rdfs:range rdf:Property .<br>
+ rdfs:subClassOf rdfs:range rdfs:Class .<br>
+ rdf:subject rdfs:range rdfs:Resource .<br>
+ rdf:predicate rdfs:range rdfs:Resource .<br>
+ rdf:object rdfs:range rdfs:Resource .<br>
+ rdfs:member rdfs:range rdfs:Resource .<br>
+ rdf:first rdfs:range rdfs:Resource .<br>
+ rdf:rest rdfs:range rdf:List .<br>
+ rdfs:seeAlso rdfs:range rdfs:Resource .<br>
+ rdfs:isDefinedBy rdfs:range rdfs:Resource .<br>
+ rdfs:comment rdfs:range rdfs:Literal .<br>
+ rdfs:label rdfs:range rdfs:Literal .<br>
+ rdf:value rdfs:range rdfs:Resource .<br>
+ <br>
+ rdf:Alt rdfs:subClassOf rdfs:Container .<br>
+ rdf:Bag rdfs:subClassOf rdfs:Container .<br>
+ rdf:Seq rdfs:subClassOf rdfs:Container .<br>
+ rdfs:ContainerMembershipProperty rdfs:subClassOf rdf:Property .<br>
+ <br>
+ rdfs:isDefinedBy rdfs:subPropertyOf rdfs:seeAlso .<br>
+ <br>
- rdfs:Datatype rdfs:subClassOf rdfs:Class .<br/>
- <br/>
- rdf:_1 rdf:type rdfs:ContainerMembershipProperty .<br/>
- <span >rdf:_1 rdfs:domain rdfs:Resource .<br/>
- rdf:_1 rdfs:range rdfs:Resource .</span> <br/>
- rdf:_2 rdf:type rdfs:ContainerMembershipProperty .<br/>
- rdf:_2 rdfs:domain rdfs:Resource .<br/>
- rdf:_2 rdfs:range rdfs:Resource . <br/>
- </code>... <br/> </td>
+ rdfs:Datatype rdfs:subClassOf rdfs:Class .<br>
+ <br>
+ rdf:_1 rdf:type rdfs:ContainerMembershipProperty .<br>
+ <span>rdf:_1 rdfs:domain rdfs:Resource .<br>
+ rdf:_1 rdfs:range rdfs:Resource .</span> <br>
+ rdf:_2 rdf:type rdfs:ContainerMembershipProperty .<br>
+ rdf:_2 rdfs:domain rdfs:Resource .<br>
+ rdf:_2 rdfs:range rdfs:Resource . <br>
+ </code>... <br> </td>
</tr>
- </table>
+ </tbody></table>
<p class="changenote">In the 2004 RDF 1.0 semantics, LV was defined as part of a simple interpretation structure, and the definition given here was a constraint. </p>
-<p>Since I is an <a>RDF interpretation</a>, the first condition implies that IP
+<p>Since I is an <a class="internalDFN" href="#dfn-rdf-interpretation">RDF interpretation</a>, the first condition implies that IP
= ICEXT(I(<code>rdf:Property</code>)).</p>
- <p>The semantic conditions on <a>RDF interpretation</a>s, together with the RDFS conditions on ICEXT, mean that every <a>recognize</a>d datatype can be treated as a class whose extension is the value space of the datatype, and every literal with that datatype either fails to refer, or refers to a value in that class.</p>
-<p>When using RDFS semantics, the referents of all <a>recognize</a>d datatype IRIs can be considered to be in the <a>class</a> <code>rdfs:Datatype</code>. </p>
+ <p>The semantic conditions on <a class="internalDFN" href="#dfn-rdf-interpretation">RDF interpretation</a>s, together with the RDFS conditions on ICEXT, mean that every <a class="internalDFN" href="#dfn-recognize">recognize</a>d datatype can be treated as a class whose extension is the value space of the datatype, and every literal with that datatype either fails to refer, or refers to a value in that class.</p>
+<p>When using RDFS semantics, the referents of all <a class="internalDFN" href="#dfn-recognize">recognize</a>d datatype IRIs can be considered to be in the <a class="internalDFN" href="#dfn-class">class</a> <code>rdfs:Datatype</code>. </p>
<p>The axioms and conditions listed above have some redundancy. For example, all but one
of the RDF axiomatic triples can be derived from the RDFS axiomatic triples
and the semantic conditions on ICEXT,<code> rdfs:domain</code> and <code>rdfs:range</code>. </p>
@@ -906,39 +1052,39 @@
<p> Other triples which must be true in all rdfs-interpretations
include the following. This is not a complete set.</p>
<div class="tabletitle">Some rdfs-valid triples.</div>
-<table border="1">
- <tr>
- <td class="ruletable"><code>rdfs:Resource rdf:type rdfs:Class .<br/>
- rdfs:Class rdf:type rdfs:Class .<br/>
- rdfs:Literal rdf:type rdfs:Class .<br/>
- rdf:XMLLiteral rdf:type rdfs:Class .<br/>
-rdf:HTML rdf:type rdfs:Class .<br/>
- rdfs:Datatype rdf:type rdfs:Class .<br/>
- rdf:Seq rdf:type rdfs:Class .<br/>
- rdf:Bag rdf:type rdfs:Class .<br/>
- rdf:Alt rdf:type rdfs:Class .<br/>
- rdfs:Container rdf:type rdfs:Class .<br/>
- rdf:List rdf:type rdfs:Class .<br/>
- rdfs:ContainerMembershipProperty rdf:type rdfs:Class .<br/>
- rdf:Property rdf:type rdfs:Class .<br/>
- rdf:Statement rdf:type rdfs:Class .<br/>
- <br/>
- rdfs:domain rdf:type rdf:Property .<br/>
- rdfs:range rdf:type rdf:Property .<br/>
- rdfs:subPropertyOf rdf:type rdf:Property .<br/>
- rdfs:subClassOf rdf:type rdf:Property .<br/>
- rdfs:member rdf:type rdf:Property .<br/>
- rdfs:seeAlso rdf:type rdf:Property .<br/>
- rdfs:isDefinedBy rdf:type rdf:Property .<br/>
- rdfs:comment rdf:type rdf:Property .<br/>
- rdfs:label rdf:type rdf:Property .<br/>
+<table border="1">
+ <tbody><tr>
+ <td class="ruletable"><code>rdfs:Resource rdf:type rdfs:Class .<br>
+ rdfs:Class rdf:type rdfs:Class .<br>
+ rdfs:Literal rdf:type rdfs:Class .<br>
+ rdf:XMLLiteral rdf:type rdfs:Class .<br>
+rdf:HTML rdf:type rdfs:Class .<br>
+ rdfs:Datatype rdf:type rdfs:Class .<br>
+ rdf:Seq rdf:type rdfs:Class .<br>
+ rdf:Bag rdf:type rdfs:Class .<br>
+ rdf:Alt rdf:type rdfs:Class .<br>
+ rdfs:Container rdf:type rdfs:Class .<br>
+ rdf:List rdf:type rdfs:Class .<br>
+ rdfs:ContainerMembershipProperty rdf:type rdfs:Class .<br>
+ rdf:Property rdf:type rdfs:Class .<br>
+ rdf:Statement rdf:type rdfs:Class .<br>
+ <br>
+ rdfs:domain rdf:type rdf:Property .<br>
+ rdfs:range rdf:type rdf:Property .<br>
+ rdfs:subPropertyOf rdf:type rdf:Property .<br>
+ rdfs:subClassOf rdf:type rdf:Property .<br>
+ rdfs:member rdf:type rdf:Property .<br>
+ rdfs:seeAlso rdf:type rdf:Property .<br>
+ rdfs:isDefinedBy rdf:type rdf:Property .<br>
+ rdfs:comment rdf:type rdf:Property .<br>
+ rdfs:label rdf:type rdf:Property .<br>
</code><code></code></td>
</tr>
-</table>
+</tbody></table>
<p>RDFS does not partition the universe into disjoint categories of classes, properties and individuals. Anything in the universe can be used as a class or as a property, or both, while retaining its status as an individual which may be in classes and have properties. Thus, RDFS permits classes which contain other classes, classes of properties, properties of classes, etc. As the axiomatic triples above illustrate, it also permits classes which contain themselves and properties which apply to themselves. A property of a class is not necessarily a property of its members, nor vice versa. </p>
-<section class="informative">
-<h4 id="rdfs_literal_note">A note on rdfs:Literal (Informative)</h4>
+<section id="a-note-on-rdfs-literal-informative" class="informative">
+<h3 id="rdfs_literal_note"><span class="secno">9.1 </span>A note on rdfs:Literal (Informative)</h3><p><em>This section is non-normative.</em></p>
<p>The class <code>rdfs:Literal</code> is not the class of literals, but rather that of literal values, which may also be referred to by IRIs. For example, LV does not contain the literal <code>"foodle"^^xsd:string</code> but it does contain the string "foodle".</p>
<p>A triple of the form</p>
@@ -949,103 +1095,103 @@
than a literal. It says that the IRI '<code>ex:a</code>'
refers to a literal value, which is quite possible since literal values are things in the universe. Blank nodes may range over literal values, for the same reason. </p>
</section>
-<section>
+<section id="rdfs-entailment">
-<h3 id="rdfs_entailment">RDFS entailment</h3>
-<p>S <dfn>RDFS entails</dfn> E <strong>recognizing D</strong> when every <a>RDFS interpretation</a> recognizing D
+<h3 id="rdfs_entailment"><span class="secno">9.2 </span>RDFS entailment</h3>
+<p>S <dfn id="dfn-rdfs-entails">RDFS entails</dfn> E <strong>recognizing D</strong> when every <a class="internalDFN" href="#dfn-rdfs-interpretation">RDFS interpretation</a> recognizing D
which satisfies S also satisfies E.</p>
-<p> Since every <a>RDFS interpretation</a> is an <a>RDF interpretation</a>, if S <a>RDFS entails</a>
- E then S also <a>RDF entail</a>s E; but RDFS entailment is stronger than RDF entailment.
+<p> Since every <a class="internalDFN" href="#dfn-rdfs-interpretation">RDFS interpretation</a> is an <a class="internalDFN" href="#dfn-rdf-interpretation">RDF interpretation</a>, if S <a class="internalDFN" href="#dfn-rdfs-entails">RDFS entails</a>
+ E then S also <a class="internalDFN" href="#dfn-rdf-entail">RDF entail</a>s E; but RDFS entailment is stronger than RDF entailment.
Even the empty graph has a large number of RDFS entailments which are not RDF entailments,
for example all triples of the form </p>
<p> aaa <code>rdf:type rdfs:Resource .</code></p>
<p>where aaa is an IRI, are true in all RDFS interpretations.</p>
-<section class="informative"> <h4 id="rdfs_patterns">Patterns of RDFS entailment (Informative)</h4>
+<section id="patterns-of-rdfs-entailment-informative" class="informative"> <h4 id="rdfs_patterns"><span class="secno">9.2.1 </span>Patterns of RDFS entailment (Informative)</h4><p><em>This section is non-normative.</em></p>
-<P>RDFS entailment holds for all the following patterns, which correspond closely to the RDFS semantic conditions:</p>
+<p>RDFS entailment holds for all the following patterns, which correspond closely to the RDFS semantic conditions:</p>
<div class="title">RDFS entailment patterns.</div>
-<table border="1">
+<table border="1">
<tbody>
- <tr >
- <th ></th>
- <th >If S contains:</th>
- <th >then S RDFS entails recognizing D:</th>
+ <tr>
+ <th></th>
+ <th>If S contains:</th>
+ <th>then S RDFS entails recognizing D:</th>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfs1</dfn></td>
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfs1">rdfs1</dfn></td>
<td class="othertable">any IRI aaa in D</td>
<td class="othertable">aaa <code>rdf:type rdfs:Datatype . </code></td>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfs2</dfn></td>
- <td class="othertable"> aaa <code>rdfs:domain</code> xxx <code>.</code><br />
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfs2">rdfs2</dfn></td>
+ <td class="othertable"> aaa <code>rdfs:domain</code> xxx <code>.</code><br>
yyy aaa zzz <code>.</code></td>
<td class="othertable">yyy <code>rdf:type</code> xxx <code>.</code></td>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfs3</dfn></td>
- <td class="othertable">aaa <code>rdfs:range</code> xxx <code>.</code><br />
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfs3">rdfs3</dfn></td>
+ <td class="othertable">aaa <code>rdfs:range</code> xxx <code>.</code><br>
yyy aaa zzz <code>.</code></td>
<td class="othertable">zzz <code>rdf:type</code> xxx <code>.</code></td>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfs4a</dfn></td>
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfs4a">rdfs4a</dfn></td>
<td class="othertable">xxx aaa yyy <code>.</code></td>
<td class="othertable">xxx <code>rdf:type rdfs:Resource .</code></td>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfs4b</dfn></td>
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfs4b">rdfs4b</dfn></td>
<td class="othertable">xxx aaa yyy<code>.</code></td>
<td class="othertable">yyy <code>rdf:type rdfs:Resource .</code></td>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfs5</dfn></td>
- <td class="othertable"> xxx <code>rdfs:subPropertyOf</code> yyy <code>.</code><br />
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfs5">rdfs5</dfn></td>
+ <td class="othertable"> xxx <code>rdfs:subPropertyOf</code> yyy <code>.</code><br>
yyy <code>rdfs:subPropertyOf</code> zzz <code>.</code></td>
<td class="othertable">xxx <code>rdfs:subPropertyOf</code> zzz <code>.</code></td>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfs6</dfn></td>
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfs6">rdfs6</dfn></td>
<td class="othertable">xxx <code>rdf:type rdf:Property .</code></td>
<td class="othertable">xxx <code>rdfs:subPropertyOf</code> xxx <code>.</code></td>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfs7</dfn></td>
- <td class="othertable"> aaa <code>rdfs:subPropertyOf</code> bbb <code>.</code><br />
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfs7">rdfs7</dfn></td>
+ <td class="othertable"> aaa <code>rdfs:subPropertyOf</code> bbb <code>.</code><br>
xxx aaa yyy <code>.</code></td>
<td class="othertable">xxx bbb yyy <code>.</code></td>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfs8</dfn></td>
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfs8">rdfs8</dfn></td>
<td class="othertable">xxx <code>rdf:type rdfs:Class .</code></td>
<td class="othertable">xxx <code>rdfs:subClassOf rdfs:Resource .</code></td>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfs9</dfn></td>
- <td class="othertable">xxx <code>rdfs:subClassOf</code> yyy <code>.</code><br />
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfs9">rdfs9</dfn></td>
+ <td class="othertable">xxx <code>rdfs:subClassOf</code> yyy <code>.</code><br>
zzz <code>rdf:type</code> xxx <code>.</code></td>
<td class="othertable">zzz <code>rdf:type</code> yyy <code>.</code></td>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfs10</dfn></td>
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfs10">rdfs10</dfn></td>
<td class="othertable">xxx <code>rdf:type rdfs:Class .</code></td>
<td class="othertable">xxx <code>rdfs:subClassOf</code> xxx <code>.</code></td>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfs11</dfn></td>
- <td class="othertable"> xxx <code>rdfs:subClassOf</code> yyy <code>.</code><br />
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfs11">rdfs11</dfn></td>
+ <td class="othertable"> xxx <code>rdfs:subClassOf</code> yyy <code>.</code><br>
yyy <code>rdfs:subClassOf</code> zzz <code>.</code></td>
<td class="othertable">xxx <code>rdfs:subClassOf</code> zzz <code>.</code></td>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfs12</dfn></td>
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfs12">rdfs12</dfn></td>
<td class="othertable">xxx <code>rdf:type rdfs:ContainerMembershipProperty .</code></td>
<td class="othertable">xxx <code>rdfs:subPropertyOf rdfs:member .</code></td>
</tr>
- <tr >
- <td class="othertable"><dfn>rdfs13</dfn></td>
+ <tr>
+ <td class="othertable"><dfn id="dfn-rdfs13">rdfs13</dfn></td>
<td class="othertable">xxx <code>rdf:type rdfs:Datatype .</code></td>
<td class="othertable">xxx <code>rdfs:subClassOf rdfs:Literal .</code></td>
</tr>
@@ -1055,67 +1201,67 @@
<p>RDFS provides for several new ways to be unsatisfiable recognizing D. For example, the following graph is RDFS unsatisfiable recognizing {<code>xsd:integer</code>, <code>xsd:boolean</code>}:</p>
-<p><code>ex:p rdfs:domain xsd:boolean .<br/>
-ex:a rdf:type xsd:integer .<br/>
+<p><code>ex:p rdfs:domain xsd:boolean .<br>
+ex:a rdf:type xsd:integer .<br>
ex:a ex:p ex:c .</code></p>
</section>
</section>
</section>
-<section><h2 id="rdf_datasets">RDF Datasets</h2>
+<section id="rdf-datasets"><!--OddPage--><h2 id="rdf_datasets"><span class="secno">10. </span>RDF Datasets</h2>
-<p>An RDF <a href="http://www.w3.org/TR/rdf11-concepts/#section-dataset" class="externalDFN">dataset</a> (see [[!RDF11-CONCEPTS]]) is a finite set of RDF graphs each paired with an IRI or blank node called the <strong>graph name</strong>, plus a <strong>default graph</strong>, without a name. Graphs in a single dataset may share blank nodes. The association of graph name IRIs with graphs is used by SPARQL [[RDF-SPARQL-QUERY]] to allow queries to be directed against particular graphs.</p>
+<p>An RDF <a href="http://www.w3.org/TR/rdf11-concepts/#section-dataset" class="externalDFN">dataset</a> (see [<cite><a href="#bib-RDF11-CONCEPTS" class="bibref">RDF11-CONCEPTS</a></cite>]) is a finite set of RDF graphs each paired with an IRI or blank node called the <strong>graph name</strong>, plus a <strong>default graph</strong>, without a name. Graphs in a single dataset may share blank nodes. The association of graph name IRIs with graphs is used by SPARQL [<cite><a href="#bib-RDF-SPARQL-QUERY" class="bibref">RDF-SPARQL-QUERY</a></cite>] to allow queries to be directed against particular graphs.</p>
-<p>Graph names in a dataset may refer to something other than the graph they are paired with. This allows IRI referring to other kinds of entities, such as persons, to be used in a dataset to <a>identify</a> graphs of information relevant to the entity <a>denote</a>d by the graph name IRI.</p>
+<p>Graph names in a dataset may refer to something other than the graph they are paired with. This allows IRI referring to other kinds of entities, such as persons, to be used in a dataset to <a class="internalDFN" href="#dfn-identify">identify</a> graphs of information relevant to the entity <a>denote</a>d by the graph name IRI.</p>
<p>When a graph name is used inside RDF triples in a dataset it may or may not refer to the graph it names. The semantics does not require, nor should RDF engines presume, without some external reason to do so, that graph names used in RDF triples refer to the graph they name.</p>
-<p>RDF datasets MAY be used to express RDF content. When used in this way, a dataset SHOULD be understood to have at least the same content as its default graph. Note however that replacing the default graph of a dataset by a logically equivalent graph will not in general produce a structurally similar dataset, since it may for example disrupt co-occurrences of blank nodes between the default graph and other graphs in the dataset, which may be important for reasons other than the semantics of the graphs in the dataset.</p>
+<p>RDF datasets <em title="MAY" class="rfc2119">MAY</em> be used to express RDF content. When used in this way, a dataset <em title="SHOULD" class="rfc2119">SHOULD</em> be understood to have at least the same content as its default graph. Note however that replacing the default graph of a dataset by a logically equivalent graph will not in general produce a structurally similar dataset, since it may for example disrupt co-occurrences of blank nodes between the default graph and other graphs in the dataset, which may be important for reasons other than the semantics of the graphs in the dataset.</p>
-<p>Other <a>semantic extension</a>s and <a>entailment regime</a>s MAY place further semantic conditions and restrictions on RDF datasets, just as with RDF graphs. One such extension, for example, could set up a modal-like interpretation structure so that entailment between datasets would require RDF graph entailments between the graphs with the same name (adding in empty graphs as required).</p>
+<p>Other <a class="internalDFN" href="#dfn-semantic-extension">semantic extension</a>s and <a class="internalDFN" href="#dfn-entailment-regime">entailment regime</a>s <em title="MAY" class="rfc2119">MAY</em> place further semantic conditions and restrictions on RDF datasets, just as with RDF graphs. One such extension, for example, could set up a modal-like interpretation structure so that entailment between datasets would require RDF graph entailments between the graphs with the same name (adding in empty graphs as required).</p>
</section>
<h2 id="appendices">Appendices</h2>
-<section class="informative appendix"><h2 id="entailment_rules">Entailment rules (Informative)</h2>
+<section id="entailment-rules-informative" class="informative appendix"><!--OddPage--><h2 id="entailment_rules"><span class="secno">A. </span>Entailment rules (Informative)</h2><p><em>This section is non-normative.</em></p>
-<p>(<em>This section is based on work described more fully in </em>[[HORST04]]<em>, </em>[[HORST05]]<em>, which should be consulted for technical details and proofs.</em>) </p>
+<p>(<em>This section is based on work described more fully in </em>[<cite><a href="#bib-HORST04" class="bibref">HORST04</a></cite>]<em>, </em>[<cite><a href="#bib-HORST05" class="bibref">HORST05</a></cite>]<em>, which should be consulted for technical details and proofs.</em>) </p>
<p> The RDF and RDFS entailment patterns listed in the above tables can be viewed as left-to-right rules which add the entailed conclusion to a graph. These rule sets can be used to check RDF (or RDFS) entailment between graphs S and E, by the following sequence of operations:</p>
-<p>1. Add to S all the RDF (or RDF and RDFS) axiomatic triples except those containing the container membership property IRIs <code>rdf:_1, rdf:_2, ...</code>.<br/>
-2. For every container membership property IRI which occurs in E, add the RDF (or RDF and RDFS) axiomatic triples which contain that IRI.<br/>
-3. Apply the RDF (or RDF and RDFS) inference patterns as rules, adding each conclusion to the graph, to exhaustion; that is, until they generate no new triples. <br/>
+<p>1. Add to S all the RDF (or RDF and RDFS) axiomatic triples except those containing the container membership property IRIs <code>rdf:_1, rdf:_2, ...</code>.<br>
+2. For every container membership property IRI which occurs in E, add the RDF (or RDF and RDFS) axiomatic triples which contain that IRI.<br>
+3. Apply the RDF (or RDF and RDFS) inference patterns as rules, adding each conclusion to the graph, to exhaustion; that is, until they generate no new triples. <br>
4. Determine if E has an instance which is a subset of the set, i.e. whether the enlarged set simply entails E.</p>
<p>This process is clearly <a>correct</a>, in that if it gives a positive result then indeed S does RDF (RDFS) entail E. It is not, however, <a>complete</a>: there are cases of S entailing E which are not detectable by this process. Examples include:</p>
-<table border="1" >
+<table border="1">
<tbody>
<tr>
- <th > </th>
- <th >RDF entails</th>
+ <th> </th>
+ <th>RDF entails</th>
</tr>
<tr>
- <td class="othertable"><code>ex:a ex:p "string"^^xsd:string .<br/>
+ <td class="othertable"><code>ex:a ex:p "string"^^xsd:string .<br>
ex:b ex:q "string"^^xsd:string .</code></td>
- <td class="othertable"><code>ex:a ex:p _:b .<br/>
-ex:b ex:q _:b .<br/>
+ <td class="othertable"><code>ex:a ex:p _:b .<br>
+ex:b ex:q _:b .<br>
_:b rdf:type xsd:string .</code> </td>
</tr>
<tr>
- <th > </th>
- <th >RDFS entails</th>
+ <th> </th>
+ <th>RDFS entails</th>
</tr>
<tr>
- <td class="othertable"><code>ex:a rdfs:subPropertyOf _:b .<br/>
-_:b rdfs:domain ex:c .<br/>
+ <td class="othertable"><code>ex:a rdfs:subPropertyOf _:b .<br>
+_:b rdfs:domain ex:c .<br>
ex:d ex:a ex:e .</code></td>
<td class="othertable"><code>ex:d rdf:type ex:c .</code> </td>
</tr>
@@ -1125,19 +1271,19 @@
<p> Both of these can be handled by allowing the rules to apply to a generalization of the RDF syntax in which literals may occur in subject position and blank nodes may occur in predicate position. </p>
<!--<p>Define a <dfn>generalized RDF triple</dfn> to be a triple <x, y, z> where x and z can be an IRI, a blank node or a literal, and y can be an IRI or a blank node; and extend this to the rest of RDF, so that a generalized RDF graph is a set of generalized RDF triples. -->
-<p>Consider <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-generalized-rdf">generalized RDF triples, graphs, and datasets</a> instead of RDF triples, graphs and datasets (extending the generalization used in [[HORST04]] and following exactly the terms used in [[OWL2-PROFILES]]). The semantics described in this document applies to the generalization without change, so that the notions of interpretation, satisfiability and entailment can be used freely. Then we can replace the first RDF entailment pattern with the simpler and more direct</p>
+<p>Consider <a class="externalDFN" href="http://www.w3.org/TR/rdf11-concepts/#section-generalized-rdf">generalized RDF triples, graphs, and datasets</a> instead of RDF triples, graphs and datasets (extending the generalization used in [<cite><a href="#bib-HORST04" class="bibref">HORST04</a></cite>] and following exactly the terms used in [<cite><a href="#bib-OWL2-PROFILES" class="bibref">OWL2-PROFILES</a></cite>]). The semantics described in this document applies to the generalization without change, so that the notions of interpretation, satisfiability and entailment can be used freely. Then we can replace the first RDF entailment pattern with the simpler and more direct</p>
<div class="tabletitle">G-RDF-D entailment pattern.</div>
-<table border="1" >
+<table border="1">
<tbody>
<tr>
- <th > </th>
- <th ><strong>if S contains</strong></th>
- <th ><strong>then S RDF entails, recognizing D</strong></th>
+ <th> </th>
+ <th><strong>if S contains</strong></th>
+ <th><strong>then S RDF entails, recognizing D</strong></th>
</tr>
- <tr >
- <td class="othertable"><dfn>GrdfD1</dfn></td>
- <td class="othertable"> xxx aaa <code>"</code>sss<code>"^^</code>ddd <code>.</code> <br/>
+ <tr>
+ <td class="othertable"><dfn id="dfn-grdfd1">GrdfD1</dfn></td>
+ <td class="othertable"> xxx aaa <code>"</code>sss<code>"^^</code>ddd <code>.</code> <br>
for ddd in D</td>
<td class="othertable"><code>"</code>sss<code>"^^</code>ddd <code>rdf:type</code> ddd <code>.</code></td>
</tr>
@@ -1146,55 +1292,55 @@
</table>
<p> which gives the entailments;</p>
-<P><code>ex:a ex:p "string"^^xsd:string .<br/>
-ex:b ex:q "string"^^xsd:string .<br/>
-"string"^^xsd:string rdf:type xsd:string .</code> by <a>GrdfD1</a></p>
+<p><code>ex:a ex:p "string"^^xsd:string .<br>
+ex:b ex:q "string"^^xsd:string .<br>
+"string"^^xsd:string rdf:type xsd:string .</code> by <a class="internalDFN" href="#dfn-grdfd1">GrdfD1</a></p>
<p>which is an instance (in generalized RDF) of the desired conclusion, above.</p>
<p> The second example can be derived using the RDFS rules:</p>
-<p><code>ex:a rdfs:subPropertyOf _:b .<br/>
-_:b rdfs:domain ex:c .<br/>
-ex:d ex:a ex:e .<br/>
-ex:d _:b ex:c .</code> by <a>rdfs7</a><br/>
-<code>ex:d rdf:type ex:c .</code> by <a>rdfs2</a></p>
+<p><code>ex:a rdfs:subPropertyOf _:b .<br>
+_:b rdfs:domain ex:c .<br>
+ex:d ex:a ex:e .<br>
+ex:d _:b ex:c .</code> by <a class="internalDFN" href="#dfn-rdfs7">rdfs7</a><br>
+<code>ex:d rdf:type ex:c .</code> by <a class="internalDFN" href="#dfn-rdfs2">rdfs2</a></p>
<p>Where the entailment patterns have been applied to generalized RDF syntax but yield a final conclusion which is legal RDF. </p>
<p>With the generalized syntax, these rules are complete for both RDF and RDFS entailment. Stated exactly:</p>
-<p>Let S and E be RDF graphs. Define the <dfn>generalized RDF (RDFS) closure</dfn> <strong>of S towards E</strong> to be the set obtained by the following procedure.</p>
-<p>1. Add to S all the RDF (and RDFS) axiomatic triples which do not contain any container membership property IRI.<br/>
-2. For each container membership property IRI which occurs in E, add the RDF (and RDFS) axiomatic triples which contain that IRI.<br/>
-3. If no triples were added in step 2., add the RDF (and RDFS) axiomatic triples which contain <code>rdf:_1</code>. <br/>
-4. Apply the rules <a>GrdfD1</a> and <a>rdfD2</a> (and the rules <a>rdfs1</a> through <a>rdfs13</a>), with D={<code>rdf:langString</code>, <code>xsd:string</code>), to the set in all possible ways, to exhaustion. </p>
+<p>Let S and E be RDF graphs. Define the <dfn id="dfn-generalized-rdf-rdfs-closure">generalized RDF (RDFS) closure</dfn> <strong>of S towards E</strong> to be the set obtained by the following procedure.</p>
+<p>1. Add to S all the RDF (and RDFS) axiomatic triples which do not contain any container membership property IRI.<br>
+2. For each container membership property IRI which occurs in E, add the RDF (and RDFS) axiomatic triples which contain that IRI.<br>
+3. If no triples were added in step 2., add the RDF (and RDFS) axiomatic triples which contain <code>rdf:_1</code>. <br>
+4. Apply the rules <a class="internalDFN" href="#dfn-grdfd1">GrdfD1</a> and <a class="internalDFN" href="#dfn-rdfd2">rdfD2</a> (and the rules <a class="internalDFN" href="#dfn-rdfs1">rdfs1</a> through <a class="internalDFN" href="#dfn-rdfs13">rdfs13</a>), with D={<code>rdf:langString</code>, <code>xsd:string</code>), to the set in all possible ways, to exhaustion. </p>
<p>Then we have the completeness result:</p>
-<p class="fact">If S is RDF (RDFS) consistent, then S RDF entails (RDFS entails) E just when the <a>generalized RDF (RDFS) closure</a> of S towards E simply entails E. </p>
+<p class="fact">If S is RDF (RDFS) consistent, then S RDF entails (RDFS entails) E just when the <a class="internalDFN" href="#dfn-generalized-rdf-rdfs-closure">generalized RDF (RDFS) closure</a> of S towards E simply entails E. </p>
<p>The closures are finite. The generation process is decidable and of polynomial complexity. Detecting simple entailment is NP-complete in general, but of low polynomial order when E contains no blank nodes. </p>
<p>Every RDF(S) closure, even starting with the empty graph, will contain all RDF(S) tautologies which can be expressed using the vocabulary of the original graph plus the RDF and RDFS vocabularies. In practice there is little utility in re-deriving these, and a subset of the rules can be used to establish most entailments of practical interest. </p>
-<p>If it is important to stay within legal RDF syntax, rule <a>rdfD1</a> may be used instead of <a>GrdfD1</a>, and the introduced blank node can be used as a substitute for the literal in subsequent derivations. The resulting set of rules will not however be complete.</p>
+<p>If it is important to stay within legal RDF syntax, rule <a class="internalDFN" href="#dfn-rdfd1">rdfD1</a> may be used instead of <a class="internalDFN" href="#dfn-grdfd1">GrdfD1</a>, and the introduced blank node can be used as a substitute for the literal in subsequent derivations. The resulting set of rules will not however be complete.</p>
<p>As noted earlier, detecting datatype entailment for larger sets of datatype IRIs requires attention to idiosyncratic properties of the particular datatypes.</p>
</section>
-<section class="informative appendix"><h2 id="finite_interpretations">Finite interpretations (Informative)</h2>
+<section id="finite-interpretations-informative" class="informative appendix"><!--OddPage--><h2 id="finite_interpretations"><span class="secno">B. </span>Finite interpretations (Informative)</h2><p><em>This section is non-normative.</em></p>
<p>To keep the exposition simple, the RDF semantics has been phrased in a way which requires interpretations to be larger than absolutely necessary. For example, all interpretations are required to interpret the whole IRI vocabulary, and the universes of all D-interpretations must contain all possible strings and therefore be infinite. This appendix sketches, without proof, how to re-state the semantics using smaller semantic structures, without changing any entailments. </p>
-<p>Basically, it is only necessary for an interpretation structure to interpret the <a>name</a>s actually used in the graphs whose entailment is being considered, and to consider interpretations whose universes are at most as big as the number of names and blank nodes in the graphs. More formally, we can define a <dfn>pre-interpretation</dfn> over a <a>vocabulary</a> V to be a structure I similar to a <a>simple interpretation</a> but with a mapping only from V to its universe IR. Then when determining whether G entails E, consider only pre-interpretations over the finite vocabulary of <a>name</a>s actually used in G union E. The universe of such a pre-interpretation can be restricted to the cardinality N+B+1, where N is the size of the vocabulary and B is the number of blank nodes in the graphs. Any such pre-interpretation may be extended to <a>simple interpretation</a>s, all of which which will give the same truth values for any triples in G or E. Satisfiability, entailment and so on can then be defined with respect to these finite pre-interpretations, and shown to be identical to the ideas defined in the body of the specification.</p>
+<p>Basically, it is only necessary for an interpretation structure to interpret the <a class="internalDFN" href="#dfn-name">name</a>s actually used in the graphs whose entailment is being considered, and to consider interpretations whose universes are at most as big as the number of names and blank nodes in the graphs. More formally, we can define a <dfn id="dfn-pre-interpretation">pre-interpretation</dfn> over a <a class="internalDFN" href="#dfn-vocabulary">vocabulary</a> V to be a structure I similar to a <a class="internalDFN" href="#dfn-simple-interpretation">simple interpretation</a> but with a mapping only from V to its universe IR. Then when determining whether G entails E, consider only pre-interpretations over the finite vocabulary of <a class="internalDFN" href="#dfn-name">name</a>s actually used in G union E. The universe of such a pre-interpretation can be restricted to the cardinality N+B+1, where N is the size of the vocabulary and B is the number of blank nodes in the graphs. Any such pre-interpretation may be extended to <a class="internalDFN" href="#dfn-simple-interpretation">simple interpretation</a>s, all of which which will give the same truth values for any triples in G or E. Satisfiability, entailment and so on can then be defined with respect to these finite pre-interpretations, and shown to be identical to the ideas defined in the body of the specification.</p>
<p>When considering D-entailment, pre-interpretations may be kept finite by weakening the semantic conditions for datatyped literals so that IR need contain literal values only for literals which actually occur in G or E, and the size of the universe restricted to (N+B)×(D+1), where D is the number of recognized datatypes. (A tighter bound is possible.) For RDF entailment, only the finite part of the RDF vocabulary which includes those container membership properties which actually occur in the graphs need to be interpreted, and the second RDF semantic condition is weakened to apply only to values which are values of literals which actually occur in the vocabulary. For RDFS interpretations, again only that finite part of the infinite container membership property vocabulary which actually occurs in the graphs under consideration needs to be interpreted. In all these cases, a pre-interpretation of the vocabulary of a graph may be extended to a full interpretation of the appropriate type without changing the truth-values of any triples in the graphs.</p>
<p>The whole semantics could be stated in terms of pre-interpretations, yielding the same entailments, and allowing finite RDF graphs to be interpreted in finite structures, if the <em>finite model property</em> is considered important.
-</section>
+</p></section>
-<section class="informative appendix"><h2 id="proofs">Proofs of some results (Informative)</h2>
+<section id="proofs-of-some-results-informative" class="informative appendix"><!--OddPage--><h2 id="proofs"><span class="secno">C. </span>Proofs of some results (Informative)</h2><p><em>This section is non-normative.</em></p>
-<p class="fact"> The <a>empty graph</a> is entailed by
+<p class="fact"> The <a class="internalDFN" href="#dfn-empty-graph">empty graph</a> is entailed by
any graph, and does not entail any graph except itself.
<!-- <a href="#emptygraphlemmaprf" class="termref">[Proof]</a> -->
</p>
@@ -1207,7 +1353,7 @@
<p>If I satisfies G then it satisfies every triple in G, hence every triple in any subset of G. QED.</p>
<p class="fact"> A graph
- is entailed by any of its <a>instance</a>s.
+ is entailed by any of its <a class="internalDFN" href="#dfn-instance">instance</a>s.
<!-- <a href="#instlemprf" class="termref"> [Proof]</a> -->
</p>
<p>Suppose H is an instance of G with the instantiation mapping M, and that I satisfies H. For blank nodes n in G which are not in H define A(n)=I(M(n)); then I+A satisfies G, so I satisfies G. QED.</p>
@@ -1219,7 +1365,7 @@
G simply entails a graph E if and only if a subgraph of G is an instance of E.
</p>
-<p>If a subgraph E' of G is an instance of E then G entails E' which entails E, so G entails E. NOw suppose G entails E, and consider the <a>Herbrand interpretation</a> I of G defined as follows. IR contains the <a>name</a>s and blank nodes which occur in the graph, with I(n)=n for each <a>name</a> n; n is in IP and <a, b> in IEXT(n) just when the triple <a n b> is in the graph. (For IRIs which do not occur in the graph, assign them values in IR at random.) I satisfies every triple <s p o> in E; that is, for some mapping A from the blank nodes of E to the vocabulary of G, the triple <[I+A](s) I(p) [I+A](o)> occurs in G. But this is an instance of <s p o> under the instance mapping A; so an instance of E is a subgraph of G. QED.</p>
+<p>If a subgraph E' of G is an instance of E then G entails E' which entails E, so G entails E. NOw suppose G entails E, and consider the <a>Herbrand interpretation</a> I of G defined as follows. IR contains the <a class="internalDFN" href="#dfn-name">name</a>s and blank nodes which occur in the graph, with I(n)=n for each <a class="internalDFN" href="#dfn-name">name</a> n; n is in IP and <a, b> in IEXT(n) just when the triple <a n b> is in the graph. (For IRIs which do not occur in the graph, assign them values in IR at random.) I satisfies every triple <s p o> in E; that is, for some mapping A from the blank nodes of E to the vocabulary of G, the triple <[I+A](s) I(p) [I+A](o)> occurs in G. But this is an instance of <s p o> under the instance mapping A; so an instance of E is a subgraph of G. QED.</p>
<p class="fact">if E is lean and E' is a proper instance of E, then E does not entail E'.</p>
<p>Suppose E entails E', then a subgraph of E is an instance of E', which is a proper instance of E; so a subgraph of E is a proper instance of E, so E is not lean. QED.</p>
@@ -1237,7 +1383,7 @@
</section>
-<section class="informative appendix" id="whatnot"><h2 id="non_semantics">RDF reification, containers and collections (Informative)</h2>
+<section class="informative appendix" id="whatnot"><!--OddPage--><h2 id="non_semantics"><span class="secno">D. </span>RDF reification, containers and collections (Informative)</h2><p><em>This section is non-normative.</em></p>
<p>The RDF semantic conditions do not place formal constraints on the meaning
of much of the RDF vocabulary which is intended for use in describing containers and bounded collections,
@@ -1249,12 +1395,12 @@
processes to check formal RDF entailment. For example, implementations may decide
to use special procedural techniques to implement the RDF collection vocabulary.</p>
-<section>
+<section id="reification">
-<h3><a id="Reif">Reification</a></h3>
+<h3><span class="secno">D.1 </span><a class="internalDFN" href="#dfn-reification" id="Reif">Reification</a></h3><p><em>This section is non-normative.</em></p>
<div class="c1">
- <table border="1">
+ <table border="1">
<tbody>
<tr>
<td class="othertable"><strong>RDF reification vocabulary</strong></td>
@@ -1274,14 +1420,14 @@
<p><code>ex:a ex:b ex:c .</code></p>
- <p>and suppose that IRI <code>ex:graph1</code> is used to <a>identify</a> this graph. Exactly how this identification is achieved is external to the RDF model, but it might be by the IRI resolving to a concrete syntax document describing the graph, or by the IRI being the associated name of a named graph in a dataset. Assuming that the IRI can be used to refer to the triple, then the reification vocabulary allows us to describe the first graph in another graph:</p>
+ <p>and suppose that IRI <code>ex:graph1</code> is used to <a class="internalDFN" href="#dfn-identify">identify</a> this graph. Exactly how this identification is achieved is external to the RDF model, but it might be by the IRI resolving to a concrete syntax document describing the graph, or by the IRI being the associated name of a named graph in a dataset. Assuming that the IRI can be used to refer to the triple, then the reification vocabulary allows us to describe the first graph in another graph:</p>
- <p><code>ex:graph1 rdf:type rdf:Statement .<br/>
- ex:graph1 rdf:subject ex:a .<br/>
- ex:graph1 rdf:predicate ex:b .<br/>
+ <p><code>ex:graph1 rdf:type rdf:Statement .<br>
+ ex:graph1 rdf:subject ex:a .<br>
+ ex:graph1 rdf:predicate ex:b .<br>
ex:graph1 rdf:object ex:c .</code></p>
- <p>The second graph is called a <dfn>reification</dfn> of the triple in the first
+ <p>The second graph is called a <dfn id="dfn-reification">reification</dfn> of the triple in the first
graph.</p>
<p> Reification is not a form of quotation. Rather, the reification describes the
relationship between a token of a triple and the resources that the triple refers
@@ -1290,37 +1436,37 @@
</p>
-<p><a>Reification</a>s can be written with a blank node as subject, or with an IRI subject which does not <a>identify</a> any concrete realization of a triple, in both of which cases they simply assert the existence of the described triple. </p>
+<p><a class="internalDFN" href="#dfn-reification">Reification</a>s can be written with a blank node as subject, or with an IRI subject which does not <a class="internalDFN" href="#dfn-identify">identify</a> any concrete realization of a triple, in both of which cases they simply assert the existence of the described triple. </p>
- <p>The subject of a <a>reification</a> is intended to refer to a concrete realization of an RDF triple, such as a document in a surface syntax, rather than a triple considered as an abstract object. This supports use cases where properties such as dates of
+ <p>The subject of a <a class="internalDFN" href="#dfn-reification">reification</a> is intended to refer to a concrete realization of an RDF triple, such as a document in a surface syntax, rather than a triple considered as an abstract object. This supports use cases where properties such as dates of
composition or provenance information are applied to the
reified triple, which are meaningful only when thought of as
referring to a particular instance or token of a triple. </p>
- <p>A <a>reification</a> of a triple does not entail the triple, and is not
+ <p>A <a class="internalDFN" href="#dfn-reification">reification</a> of a triple does not entail the triple, and is not
entailed by it. The
- <a>reification</a> only says that the triple token exists and what it is about,
+ <a class="internalDFN" href="#dfn-reification">reification</a> only says that the triple token exists and what it is about,
not that it is true, so it does not entail the triple. On the other hand, asserting a triple does not automatically imply that any
triple tokens exist in the universe being described by the triple.
For example, the triple might be part of an ontology describing
animals, which could be satisfied by an interpretation in which the
- universe contained only animals, and in which a <a>reification</a> of it was therefore
+ universe contained only animals, and in which a <a class="internalDFN" href="#dfn-reification">reification</a> of it was therefore
false.</p>
- <p>Since the relation between triples and <a>reification</a>s of triples
+ <p>Since the relation between triples and <a class="internalDFN" href="#dfn-reification">reification</a>s of triples
in any RDF graph or graphs need not be one-to-one, asserting a
- property about some entity described by a <a>reification</a> need not
+ property about some entity described by a <a class="internalDFN" href="#dfn-reification">reification</a> need not
entail that the same property holds of another such entity, even if
it has the same components. For example,</p>
- <p><code>_:xxx rdf:type rdf:Statement .<br/>
- _:xxx rdf:subject ex:subject .<br/>
- _:xxx rdf:predicate ex:predicate .<br/>
- _:xxx rdf:object ex:object .<br/>
- _:yyy rdf:type rdf:Statement .<br/>
- _:yyy rdf:subject ex:subject .<br/>
- _:yyy rdf:predicate ex:predicate .<br/>
- _:yyy rdf:object ex:object .<br/>
+ <p><code>_:xxx rdf:type rdf:Statement .<br>
+ _:xxx rdf:subject ex:subject .<br>
+ _:xxx rdf:predicate ex:predicate .<br>
+ _:xxx rdf:object ex:object .<br>
+ _:yyy rdf:type rdf:Statement .<br>
+ _:yyy rdf:subject ex:subject .<br>
+ _:yyy rdf:predicate ex:predicate .<br>
+ _:yyy rdf:object ex:object .<br>
_:xxx ex:property ex:foo .</code></p>
<p>does not entail</p>
@@ -1328,9 +1474,9 @@
<p><code>_:yyy ex:property ex:foo .</code></p>
</section>
-<section>
+<section id="rdf-containers">
-<h4 id="containers">RDF containers</h4>
+<h3 id="containers"><span class="secno">D.2 </span>RDF containers</h3>
<table border="1">
<tbody>
@@ -1351,7 +1497,7 @@
indices should not necessarily be thought of as defining an
ordering of the container itself; some containers are considered to be unordered.</p>
- <p>The <a>RDFS vocabulary</a> adds a generic membership
+ <p>The <a class="internalDFN" href="#dfn-rdfs-vocabulary">RDFS vocabulary</a> adds a generic membership
property which holds regardless of position, and classes containing
all the containers and all the membership properties.</p>
@@ -1388,16 +1534,16 @@
<p>The RDF semantics does not support any entailments which could arise from enumerating
the elements of an unordered <code>rdf:Bag</code> in a different order. For example,</p>
- <p><code>_:xxx rdf:type rdf:Bag .<br/>
- _:xxx rdf:_1 ex:a .<br/>
+ <p><code>_:xxx rdf:type rdf:Bag .<br>
+ _:xxx rdf:_1 ex:a .<br>
_:xxx rdf:_2 ex:b .</code></p>
<p>does not entail</p>
- <p><code>_:xxx rdf:_1 ex:b .<br/>
+ <p><code>_:xxx rdf:_1 ex:b .<br>
_:xxx rdf:_2 ex:a .</code></p>
- <p>(If this conclusion were <a>valid</a>, then the result of
+ <p>(If this conclusion were <a class="internalDFN" href="#dfn-valid">valid</a>, then the result of
adding it to the original graph would be <a>entailed</a> by the graph, and this would assert that both elements were in both
positions. This is a consequence of the fact that RDF is a purely
assertional language.)</p>
@@ -1408,8 +1554,8 @@
the three container classes are disjoint, so that for example
it is consistent to assert that something is both an <code>rdf:Bag</code> and an <code>rdf:Seq</code>.
There is no assumption that containers are gap-free, so that for example</p>
- <p><code>_:xxx rdf:type rdf:Seq.<br/>
- _:xxx rdf:_1 ex:a .<br/>
+ <p><code>_:xxx rdf:type rdf:Seq.<br>
+ _:xxx rdf:_1 ex:a .<br>
_:xxx rdf:_3 ex:c .</code></p>
<p>does not entail</p>
@@ -1424,11 +1570,11 @@
only finitely many members.</p>
</section>
-<section>
+<section id="rdf-collections">
-<h4 id="collections">RDF collections</h4>
+<h3 id="collections"><span class="secno">D.3 </span>RDF collections</h3>
- <table border="1">
+ <table border="1">
<tbody>
<tr>
<td class="othertable"><strong>RDF Collection Vocabulary</strong></td>
@@ -1450,9 +1596,9 @@
is intended for use typically in a context where a container is described using
blank nodes to connect a 'well-formed' sequence of items, each described by
two triples of the form
-<code><br/>
- <br/>
- _:c1 rdf:first aaa .<br/>
+<code><br>
+ <br>
+ _:c1 rdf:first aaa .<br>
_:c1 rdf:rest _:c2 .</code></p>
@@ -1466,16 +1612,16 @@
For example, the existence of a collection containing two items does not automatically
guarantee that the similar collection with the items permuted also exists:
<code>
-<br/><br/>
- _:c1 rdf:first ex:aaa .<br/>
- _:c1 rdf:rest _:c2 .<br/>
- _:c2 rdf:first ex:bbb .<br/>
+<br><br>
+ _:c1 rdf:first ex:aaa .<br>
+ _:c1 rdf:rest _:c2 .<br>
+ _:c2 rdf:first ex:bbb .<br>
_:c2 rdf:rest rdf:nil . </code></p>
<p>does not entail</p>
-<p><code>_:c3 rdf:first ex:bbb .<br/>
- _:c3 rdf:rest _:c4 .<br/>
- <span >_:c4 rdf:first</span> ex:aaa .<br/>
+<p><code>_:c3 rdf:first ex:bbb .<br>
+ _:c3 rdf:rest _:c4 .<br>
+ <span>_:c4 rdf:first</span> ex:aaa .<br>
_:c4 rdf:rest rdf:nil .
</code></p>
@@ -1484,9 +1630,9 @@
the existence of highly peculiar objects such as lists with forked
or non-list tails, or multiple heads:</p>
-<p><code>_:666 rdf:first ex:aaa .<br/>
- _:666 rdf:first ex:bbb .<br/>
- _:666 rdf:rest ex:ccc .<br/>
+<p><code>_:666 rdf:first ex:aaa .<br>
+ _:666 rdf:first ex:bbb .<br>
+ _:666 rdf:rest ex:ccc .<br>
_:666 rdf:rest rdf:nil . </code></p>
@@ -1494,7 +1640,7 @@
by failing to specify its <code>rdf:rest</code> property value.</p>
-<p><a>Semantic extension</a>s may
+<p><a class="internalDFN" href="#dfn-semantic-extension">Semantic extension</a>s may
place extra syntactic well-formedness restrictions on the use of this vocabulary
in order to rule out such graphs. They may
exclude interpretations of the collection vocabulary which violate the convention
@@ -1512,14 +1658,14 @@
</section>
- <section class="informative appendix" >
- <h2 id="acknowledgements">Acknowledgements</h2>
+ <section id="acknowledgements-1" class="informative appendix">
+ <!--OddPage--><h2 id="acknowledgements"><span class="secno">E. </span>Acknowledgements</h2><p><em>This section is non-normative.</em></p>
<p>The basic idea of using an explicit extension mapping to allow self-application without violating the axiom of foundation was
suggested by Christopher Menzel. The generalized RDF syntax used in Appendix A, and the example showing the need for it, were suggested by Herman ter Horst, who also proved completeness and complexity results for the rule sets. Jeremy Carroll first showed that simple entailment is NP-complete in general. Antoine Zimmerman suggested several simplifications and improvements to the proofs and presentation.</p>
<p>The RDF 1.1 editors acknowledge valuable contributions from Thomas Baker, Dan Brickley, Gavin Carothers, Jeremy Carroll, Pierre-Antoine Champin, Richard Cyganiak, Martin J. Dürst, Alex Hall, Steve Harris, Ivan Herman, Eric Prud'hommeaux, Andy Seaborne, David Wood and Antoine Zimmermann. </p>
-<p>This specification is a product of extended deliberations by <a href="http://www.w3.org/2000/09/dbwg/details?group=46168&public=1">members of the RDF Working Group</a>. It draws upon the earlier specification [[RDF-MT]], whose editor acknowledged valuable inputs from Jeremy Carroll, Dan Connolly, Jan Grant, R. V. Guha, Herman ter Horst, Graham Klyne, Ora Lassilla, Brian McBride, Sergey Melnick, Peter Patel-Schneider, Jos deRoo and Patrick Stickler.
+<p>This specification is a product of extended deliberations by <a href="http://www.w3.org/2000/09/dbwg/details?group=46168&public=1">members of the RDF Working Group</a>. It draws upon the earlier specification [<cite><a href="#bib-RDF-MT" class="bibref">RDF-MT</a></cite>], whose editor acknowledged valuable inputs from Jeremy Carroll, Dan Connolly, Jan Grant, R. V. Guha, Herman ter Horst, Graham Klyne, Ora Lassilla, Brian McBride, Sergey Melnick, Peter Patel-Schneider, Jos deRoo and Patrick Stickler.
</p>
@@ -1527,5 +1673,24 @@
<p>This document was prepared using the <a href="http://dev.w3.org/2009/dap/ReSpec.js/documentation.html">ReSpec.js specification writing tool</a> developed by Robin Berjon. </p>
</section>
- </body>
-</html>
+
+
+<section class="appendix" id="references"><!--OddPage--><h2><span class="secno">F. </span>References</h2><section id="normative-references"><h3><span class="secno">F.1 </span>Normative references</h3><dl class="bibliography"><dt id="bib-OWL2-SYNTAX">[OWL2-SYNTAX]</dt><dd>Boris Motik; Peter F. Patel-Schneider; Bijan Parsia. <a href="http://www.w3.org/TR/owl2-syntax/"><cite>OWL 2 Web Ontology Language:Structural Specification and Functional-Style Syntax</cite></a>. 27 October 2009. W3C Recommendation. URL: <a href="http://www.w3.org/TR/owl2-syntax/">http://www.w3.org/TR/owl2-syntax/</a>
+</dd><dt id="bib-RDF-PLAIN-LITERAL">[RDF-PLAIN-LITERAL]</dt><dd>Jie Bao, Sandro Hawke, Boris Motik, Peter F. Patel-Schneider, Alex Polleres. <cite><a href="http://www.w3.org/TR/rdf-plain-literal/">rdf:PlainLiteral: A Datatype for RDF Plain Literals (Second Edition)</a></cite> 11 December 2012. W3C Recommendation. URL: <a href="http://www.w3.org/TR/rdf-plain-literal/">http://www.w3.org/TR/rdf-plain-literal/</a>
+</dd><dt id="bib-RDF11-CONCEPTS">[RDF11-CONCEPTS]</dt><dd>Richard Cyganiak, David Wood. <cite><a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/">RDF 1.1 Concepts and Abstract Syntax.</a></cite> 15 January 2013. W3C Working Draft (work in progress). URL: <a href="http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/">http://www.w3.org/TR/2013/WD-rdf11-concepts-20130115/</a>. The latest edition is available at <a href="http://www.w3.org/TR/rdf11-concepts/">http://www.w3.org/TR/rdf11-concepts/</a>
+</dd><dt id="bib-RFC2119">[RFC2119]</dt><dd>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-TURTLE-TR">[TURTLE-TR]</dt><dd>David Beckett, Tim Berners-Lee, Eric Prud'hommeaux, Gavin Carothers. <cite><a href="http://www.w3.org/TR/turtle/">Turtle; Terse RDF Triple Language</a></cite> 19 February 2013. W3C Candidate Recommendation. URL: <a href="http://www.w3.org/TR/turtle/">http://www.w3.org/TR/turtle/</a>
+</dd></dl></section><section id="informative-references"><h3><span class="secno">F.2 </span>Informative references</h3><dl class="bibliography"><dt id="bib-HORST04">[HORST04]</dt><dd>Herman J. ter Horst. <cite>Extending the RDFS Entailment Lemma</cite>, in S.A. McIlraith et al. (Eds.), The Semantic Web - ISWC2004, Proceedings of the Third International Semantic Web Conference, Hiroshima, Japan, November 2004, Springer, LNCS 3298, pp. 77-91.
+</dd><dt id="bib-HORST05">[HORST05]</dt><dd>Herman J. ter Horst. <cite>Completeness, Decidability and Complexity of Entailment for RDF Schema and a Semantic Extension Involving the OWL Vocabulary</cite>, Journal of Web Semantics 3 (2005) 79-115.
+</dd><dt id="bib-ISO24707">[ISO24707]</dt><dd><cite>Information technology — Common Logic (CL): a framework for a family of logic-based languages</cite> 1 October 2007. International Standard ISO/IEC 24707:2007(E). URL: <a href="http://standards.iso.org/ittf/PubliclyAvailableStandards/c039175_ISO_IEC_24707_2007%28E%29.zip"> http://standards.iso.org/ittf/PubliclyAvailableStandards/c039175_ISO_IEC_24707_2007%28E%29.zip</a>
+</dd><dt id="bib-OWL2-OVERVIEW">[OWL2-OVERVIEW]</dt><dd>W3C OWL Working Group. <a href="http://www.w3.org/TR/owl2-overview/"><cite>OWL 2 Web Ontology Language: Overview</cite></a>. 27 October 2009. W3C Recommendation. URL: <a href="http://www.w3.org/TR/owl2-overview/">http://www.w3.org/TR/owl2-overview/</a>
+</dd><dt id="bib-OWL2-PROFILES">[OWL2-PROFILES]</dt><dd>Boris Motik; Bernardo Cuenca Grau; Ian Horrocks; Zhe Wu; Achille Fokoue; Carsten Lutz. <a href="http://www.w3.org/TR/owl2-profiles/"><cite>OWL 2 Web Ontology Language:Profiles</cite></a>. 27 October 2009. W3C Recommendation. URL: <a href="http://www.w3.org/TR/owl2-profiles/">http://www.w3.org/TR/owl2-profiles/</a>
+</dd><dt id="bib-RDF-MT">[RDF-MT]</dt><dd>Patrick Hayes. <a href="http://www.w3.org/TR/rdf-mt/"><cite>RDF Semantics</cite></a>. 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/rdf-mt/">http://www.w3.org/TR/rdf-mt/</a>
+</dd><dt id="bib-RDF-SCHEMA">[RDF-SCHEMA]</dt><dd>Dan Brickley; Ramanathan V. Guha. <a href="http://www.w3.org/TR/rdf-schema/"><cite>RDF Vocabulary Description Language 1.0: RDF Schema</cite></a>. 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/rdf-schema/">http://www.w3.org/TR/rdf-schema/</a>
+</dd><dt id="bib-RDF-SPARQL-QUERY">[RDF-SPARQL-QUERY]</dt><dd>Andy Seaborne; Eric Prud'hommeaux. <a href="http://www.w3.org/TR/rdf-sparql-query/"><cite>SPARQL Query Language for RDF</cite></a>. 15 January 2008. W3C Recommendation. URL: <a href="http://www.w3.org/TR/rdf-sparql-query/">http://www.w3.org/TR/rdf-sparql-query/</a>
+</dd><dt id="bib-RDF-TESTCASES">[RDF-TESTCASES]</dt><dd>Jan Grant; Dave Beckett. <a href="http://www.w3.org/TR/rdf-testcases/"><cite>RDF Test Cases</cite></a>. 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/rdf-testcases/">http://www.w3.org/TR/rdf-testcases/</a>
+</dd><dt id="bib-RIF-OVERVIEW">[RIF-OVERVIEW]</dt><dd>Michael Kifer; Harold Boley. <a href="http://www.w3.org/TR/rif-overview/"><cite>RIF Overview</cite></a>. 22 June 2010. W3C Working Group Note. URL: <a href="http://www.w3.org/TR/rif-overview/">http://www.w3.org/TR/rif-overview/</a>
+</dd><dt id="bib-SWBP-XSCH-DATATYPES">[SWBP-XSCH-DATATYPES]</dt><dd>Jeremy J. Carroll; Jeff Z. Pan. <a href="http://www.w3.org/TR/swbp-xsch-datatypes/"><cite>XML Schema Datatypes in RDF and OWL</cite></a>. 14 March 2006. W3C Note. URL: <a href="http://www.w3.org/TR/swbp-xsch-datatypes/">http://www.w3.org/TR/swbp-xsch-datatypes/</a>
+</dd><dt id="bib-XML10">[XML10]</dt><dd>C. M. Sperberg-McQueen et al. <a href="http://www.w3.org/TR/xml/"><cite>Extensible Markup Language (XML) 1.0 (Fifth Edition)</cite></a>. 26 November 2008. W3C Recommendation. URL: <a href="http://www.w3.org/TR/xml/">http://www.w3.org/TR/xml/</a>
+</dd><dt id="bib-XMLSCHEMA11-2">[XMLSCHEMA11-2]</dt><dd>Henry S. Thompson et al. <a href="http://www.w3.org/TR/xmlschema11-2/"><cite>W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes</cite></a>. 5 April 2012. W3C Recommendation. URL: <a href="http://www.w3.org/TR/xmlschema11-2/">http://www.w3.org/TR/xmlschema11-2/</a>
+</dd></dl></section></section></body></html>