--- a/drafts/trig/Overview.html Fri Nov 01 11:19:50 2013 -0700
+++ b/drafts/trig/Overview.html Fri Nov 01 12:09:29 2013 -0700
@@ -1,10 +1,11 @@
<!DOCTYPE html>
-<html lang="en" dir="ltr" typeof="bibo:Document w3p:LastCall" about="" property="dcterms:language" content="en" prefix="bibo: http://purl.org/ontology/bibo/ w3p: http://www.w3.org/2001/02pd/rec54#">
+<html lang="en" dir="ltr" typeof="bibo:Document w3p:CR" about="" property="dcterms:language" content="en">
<head>
- <title>TriG</title>
+ <title>RDF 1.1 TriG</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-
+
+
@@ -39,7 +40,7 @@
padding: 3px 1em;
}
- </style>
+ </style>
<style>/*****************************************************************
* ReSpec 3 CSS
@@ -221,22 +222,22 @@
}
-</style><link rel="stylesheet" href="https://www.w3.org/StyleSheets/TR/W3C-WD"></head>
- <body class="h-entry" role="document" id="respecDocument"><div class="head" role="contentinfo" id="respecHeader">
+</style><link href="https://www.w3.org/StyleSheets/TR/W3C-CR" rel="stylesheet"><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--><script src="https://raw.github.com/darobin/respec/gh-pages/js/ui/save-html.js" data-requiremodule="ui/save-html" data-requirecontext="_" async="" charset="utf-8" type="text/javascript"></script></head>
+ <body id="respecDocument" role="document" class="h-entry"><div id="respecHeader" role="contentinfo" class="head">
<p>
- <a href="http://www.w3.org/"><img width="72" height="48" src="https://www.w3.org/Icons/w3c_home" alt="W3C"></a>
+ <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" property="dcterms:title">TriG</h1>
+ <h1 class="title p-name" id="title" property="dcterms:title"><abbr title="Resource Description Framework">RDF</abbr> 1.1 TriG</h1>
<h2 property="bibo:subtitle" id="subtitle"><abbr title="Resource Description Framework">RDF</abbr> Dataset Language</h2>
- <h2 property="dcterms:issued" datatype="xsd:dateTime" content="2013-09-19T07:00:00.000Z" id="w3c-last-call-working-draft-19-september-2013"><abbr title="World Wide Web Consortium">W3C</abbr> Last Call Working Draft <time class="dt-published" datetime="2013-09-19">19 September 2013</time></h2>
+ <h2 id="w3c-candidate-recommendation-19-september-2013" property="dcterms:issued" datatype="xsd:dateTime" content="2013-09-19T07:00:00.000Z"><abbr title="World Wide Web Consortium">W3C</abbr> Candidate Recommendation <time class="dt-published" datetime="2013-09-19">19 September 2013</time></h2>
<dl>
<dt>This version:</dt>
- <dd><a class="u-url" href="http://www.w3.org/TR/2013/WD-trig-20130919/">http://www.w3.org/TR/2013/WD-trig-20130919/</a></dd>
+ <dd><a class="u-url" href="http://www.w3.org/TR/2013/CR-trig-20130919/">http://www.w3.org/TR/2013/CR-trig-20130919/</a></dd>
<dt>Latest published version:</dt>
<dd><a href="http://www.w3.org/TR/trig/">http://www.w3.org/TR/trig/</a></dd>
@@ -252,7 +253,7 @@
<dt>Previous version:</dt>
- <dd><a rel="dcterms:replaces" href="http://www.w3.org/TR/2013/WD-trig-20130409/">http://www.w3.org/TR/2013/WD-trig-20130409/</a></dd>
+ <dd><a rel="dcterms:replaces" href="http://www.w3.org/TR/2013/WD-trig-20130919/">http://www.w3.org/TR/2013/WD-trig-20130919/</a></dd>
<dt>Editors:</dt>
@@ -283,27 +284,33 @@
<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.
+ <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.
+
+ <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a>
+
+ rules apply.
</p>
<hr>
</div>
- <section id="abstract" class="introductory" property="dcterms:abstract" datatype="" typeof="bibo:Chapter" resource="#abstract" rel="bibo:chapter"><h2 aria-level="1" role="heading" id="h2_abstract">Abstract</h2>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" datatype="" property="dcterms:abstract" class="introductory" id="abstract"><h2 id="h2_abstract" role="heading" aria-level="1">Abstract</h2>
<p>The Resource Description Framework
- (<abbr title="Resource Description Framework">RDF</abbr>) is a
+ (<abbr title="Resource Description Framework">RDF</abbr>) is a
general-purpose language for representing information in the Web.</p>
<p>This document defines a textual syntax for <abbr title="Resource Description Framework">RDF</abbr> called TriG
that allows an <abbr title="Resource Description Framework">RDF</abbr> dataset to be completely written in a compact and
natural text form, with abbreviations for common usage patterns and
- datatypes. TriG is an extension of the
- <a href="http://www.w3.org/TR/turtle/">Turtle</a> [<cite><a class="bibref" href="#bib-turtle">turtle</a></cite>] format.
+ datatypes. TriG is an extension of the
+ <a href="http://www.w3.org/TR/turtle/">Turtle</a> [<cite><a href="#bib-TURTLE" class="bibref">TURTLE</a></cite>] format.
</p>
- </section><section id="sotd" class="introductory" typeof="bibo:Chapter" resource="#sotd" rel="bibo:chapter"><h2 aria-level="1" role="heading" id="h2_sotd">Status of This Document</h2>
+ </section><section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sotd" class="introductory"><h2 id="h2_sotd" role="heading" aria-level="1">Status of This Document</h2>
@@ -314,17 +321,17 @@
index</a> at http://www.w3.org/TR/.</em>
</p>
-<p>TriG is intended the meet the charter requirement of the
+<p>TriG is intended the meet the charter requirement of the
<a href="http://www.w3.org/2011/rdf-wg/"><abbr title="Resource Description Framework">RDF</abbr> Working Group</a> to
-define an <abbr title="Resource Description Framework">RDF</abbr> syntax for multiple graphs. TriG is an extension of the
+define an <abbr title="Resource Description Framework">RDF</abbr> syntax for multiple graphs. TriG is an extension of the
<a href="http://www.w3.org/TR/turtle/">Turtle</a>
-syntax for <abbr title="Resource Description Framework">RDF</abbr> [<cite><a class="bibref" href="#bib-turtle">turtle</a></cite>]. The current document is based on
-the original proposal by Chris Bizer and Richard Cyganiak.</p>
+syntax for <abbr title="Resource Description Framework">RDF</abbr> [<cite><a href="#bib-TURTLE" class="bibref">TURTLE</a></cite>]. The current document is based on
+the original proposal by Chris Bizer and Richard Cyganiak.</p>
<div style="border:1px solid red; padding: 1em; margin: 1em;"> The <abbr title="Resource Description Framework">RDF</abbr> WG welcomes reports of implementations, sent to the comments address. If we gather sufficient evidence of interoperable implementations, the group may request to skip <a href="http://www.w3.org/2005/10/Process-20051014/tr#cfi">Call for Implementations (Candidate Recommendation)</a> drafts and have the next round of publications be <a href="http://www.w3.org/2005/10/Process-20051014/tr#cfr">Proposed Recommendations</a>. </div>
<p>
- This document was published by the <a href="http://www.w3.org/2011/rdf-wg/"><abbr title="Resource Description Framework">RDF</abbr> Working Group</a> as a Last Call Working Draft.
+ This document was published by the <a href="http://www.w3.org/2011/rdf-wg/"><abbr title="Resource Description Framework">RDF</abbr> Working Group</a> as a Candidate Recommendation.
This document is intended to become a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation.
@@ -334,24 +341,24 @@
(<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>).
- The Last Call period ends 11 October 2013.
+
+
+ <abbr title="World Wide Web Consortium">W3C</abbr> publishes a Candidate Recommendation to indicate that the document is believed
+ to be stable and to encourage implementation by the developer community. This
+ Candidate Recommendation is expected to advance to Proposed Recommendation no earlier than
+ 26 November 2013.
All comments are welcome.</p>
<p>
- Publication as a Last Call Working Draft does not imply endorsement by the <abbr title="World Wide Web Consortium">W3C</abbr> Membership.
+ Publication as a Candidate Recommendation 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 is a Last Call Working Draft and thus the Working Group has determined that this document has satisfied the
- relevant technical requirements and is sufficiently stable to advance through the Technical Recommendation process.
- </p>
-
<p>
This document was produced by a group operating under the
@@ -376,45 +383,45 @@
-</section><section id="toc"><h2 class="introductory" aria-level="1" role="heading" id="h2_toc">Table of Contents</h2><ul class="toc" role="directory" id="respecContents"><li class="tocline"><a href="#sec-intro" class="tocxref"><span class="secno">1. </span>Introduction</a></li><li class="tocline"><a href="#sec-trig-intro" class="tocxref"><span class="secno">2. </span>TriG Language</a><ul class="toc"><li class="tocline"><a href="#sec-triple-statements" class="tocxref"><span class="secno">2.1 </span>Triple Statements</a></li><li class="tocline"><a href="#sec-graph-statements" class="tocxref"><span class="secno">2.2 </span>Graph Statements</a></li><li class="tocline"><a href="#other-terms" class="tocxref"><span class="secno">2.3 </span>Other Terms</a><ul class="toc"><li class="tocline"><a href="#terms-blanks-nodes" class="tocxref"><span class="secno">2.3.1 </span>Special Considerations for Blank Nodes</a></li></ul></li></ul></li><li class="tocline"><a href="#conformance" class="tocxref"><span class="secno">3. </span>Conformance</a><ul class="toc"><li class="tocline"><a href="#sec-mime" class="tocxref"><span class="secno">3.1 </span>Media Type and Content Encoding</a></li></ul></li><li class="tocline"><a href="#sec-grammar" class="tocxref"><span class="secno">4. </span>TriG Grammar</a><ul class="toc"><li class="tocline"><a href="#sec-grammar-ws" class="tocxref"><span class="secno">4.1 </span>White Space</a></li><li class="tocline"><a href="#sec-grammar-comments" class="tocxref"><span class="secno">4.2 </span>Comments</a></li><li class="tocline"><a href="#sec-iri-references" class="tocxref"><span class="secno">4.3 </span>IRI References</a></li><li class="tocline"><a href="#sec-escapes" class="tocxref"><span class="secno">4.4 </span>Escape Sequences</a></li><li class="tocline"><a href="#grammar-ebnf" class="tocxref"><span class="secno">4.5 </span>Grammar</a></li></ul></li><li class="tocline"><a href="#sec-parsing" class="tocxref"><span class="secno">5. </span>Parsing</a><ul class="toc"><li class="tocline"><a href="#sec-parsing-state" class="tocxref"><span class="secno">5.1 </span>Parser State</a></li><li class="tocline"><a href="#sec-parsing-terms" class="tocxref"><span class="secno">5.2 </span><abbr title="Resource Description Framework">RDF</abbr> Term Constructors</a></li><li class="tocline"><a href="#sec-parsing-triples" class="tocxref"><span class="secno">5.3 </span><abbr title="Resource Description Framework">RDF</abbr> Triples Construction</a><ul class="toc"><li class="tocline"><a href="#output-graph" class="tocxref"><span class="secno">5.3.1 </span>Output Graph</a></li><li class="tocline"><a href="#triple-output" class="tocxref"><span class="secno">5.3.2 </span>Triple Output</a><ul class="toc"><li class="tocline"><a href="#triple-production" class="tocxref"><span class="secno">5.3.2.1 </span>Triple Production</a></li><li class="tocline"><a href="#propertyList" class="tocxref"><span class="secno">5.3.2.2 </span>Property Lists</a></li><li class="tocline"><a href="#collection" class="tocxref"><span class="secno">5.3.2.3 </span><span>Collections</span></a></li></ul></li></ul></li><li class="tocline"><a href="#sec-differences" class="tocxref"><span class="secno">5.4 </span>Differences from Previous TriG</a></li><li class="tocline"><a href="#sec-mediaReg" class="tocxref"><span class="secno">5.5 </span>Media Type Registration</a></li></ul></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">A. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">A.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">A.2 </span>Informative references</a></li></ul></li></ul></section>
+</section><section id="toc"><h2 id="h2_toc" role="heading" aria-level="1" class="introductory">Table of Contents</h2><ul id="respecContents" role="directory" class="toc"><li class="tocline"><a class="tocxref" href="#sec-intro"><span class="secno">1. </span>Introduction</a></li><li class="tocline"><a class="tocxref" href="#sec-trig-intro"><span class="secno">2. </span>TriG Language</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#sec-triple-statements"><span class="secno">2.1 </span>Triple Statements</a></li><li class="tocline"><a class="tocxref" href="#sec-graph-statements"><span class="secno">2.2 </span>Graph Statements</a></li><li class="tocline"><a class="tocxref" href="#other-terms"><span class="secno">2.3 </span>Other Terms</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#terms-blanks-nodes"><span class="secno">2.3.1 </span>Special Considerations for Blank Nodes</a></li></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#conformance"><span class="secno">3. </span>Conformance</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#sec-mime"><span class="secno">3.1 </span>Media Type and Content Encoding</a></li></ul></li><li class="tocline"><a class="tocxref" href="#sec-grammar"><span class="secno">4. </span>TriG Grammar</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#sec-grammar-ws"><span class="secno">4.1 </span>White Space</a></li><li class="tocline"><a class="tocxref" href="#sec-grammar-comments"><span class="secno">4.2 </span>Comments</a></li><li class="tocline"><a class="tocxref" href="#sec-iri-references"><span class="secno">4.3 </span>IRI References</a></li><li class="tocline"><a class="tocxref" href="#sec-escapes"><span class="secno">4.4 </span>Escape Sequences</a></li><li class="tocline"><a class="tocxref" href="#grammar-ebnf"><span class="secno">4.5 </span>Grammar</a></li></ul></li><li class="tocline"><a class="tocxref" href="#sec-parsing"><span class="secno">5. </span>Parsing</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#sec-parsing-state"><span class="secno">5.1 </span>Parser State</a></li><li class="tocline"><a class="tocxref" href="#sec-parsing-terms"><span class="secno">5.2 </span><abbr title="Resource Description Framework">RDF</abbr> Term Constructors</a></li><li class="tocline"><a class="tocxref" href="#sec-parsing-triples"><span class="secno">5.3 </span><abbr title="Resource Description Framework">RDF</abbr> Triples Construction</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#output-graph"><span class="secno">5.3.1 </span>Output Graph</a></li><li class="tocline"><a class="tocxref" href="#triple-output"><span class="secno">5.3.2 </span>Triple Output</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#triple-production"><span class="secno">5.3.2.1 </span>Triple Production</a></li><li class="tocline"><a class="tocxref" href="#propertyList"><span class="secno">5.3.2.2 </span>Property Lists</a></li><li class="tocline"><a class="tocxref" href="#collection"><span class="secno">5.3.2.3 </span><span>Collections</span></a></li></ul></li></ul></li></ul></li><li class="tocline"><a class="tocxref" href="#sec-differences"><span class="secno">A. </span>Differences from Previous TriG</a></li><li class="tocline"><a class="tocxref" href="#sec-mediaReg"><span class="secno">B. </span>Media Type Registration</a></li><li class="tocline"><a class="tocxref" href="#sec-changes"><span class="secno">C. </span>Changes since the last publication of this document</a></li><li class="tocline"><a class="tocxref" href="#references"><span class="secno">D. </span>References</a><ul class="toc"><li class="tocline"><a class="tocxref" href="#normative-references"><span class="secno">D.1 </span>Normative references</a></li><li class="tocline"><a class="tocxref" href="#informative-references"><span class="secno">D.2 </span>Informative references</a></li></ul></li></ul></section>
- <section id="sec-intro" typeof="bibo:Chapter" resource="#sec-intro" rel="bibo:chapter">
- <!--OddPage--><h2 aria-level="1" role="heading" id="h2_sec-intro"><span class="secno">1. </span>Introduction</h2>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-intro">
+ <!--OddPage--><h2 id="h2_sec-intro" role="heading" aria-level="1"><span class="secno">1. </span>Introduction</h2>
<p>This document defines TriG, a concrete syntax for <abbr title="Resource Description Framework">RDF</abbr> as defined in the
<abbr title="Resource Description Framework">RDF</abbr> Concepts and Abstract Syntax
- ([<cite><a class="bibref" href="#bib-rdf11-concepts">rdf11-concepts</a></cite>]). TriG is an extension of
- <a href="http://www.w3.org/TR/turtle/">Turtle</a> ([<cite><a class="bibref" href="#bib-turtle">turtle</a></cite>]), extended
+ ([<cite><a href="#bib-RDF11-CONCEPTS" class="bibref">RDF11-CONCEPTS</a></cite>]). TriG is an extension of
+ <a href="http://www.w3.org/TR/turtle/">Turtle</a> ([<cite><a href="#bib-TURTLE" class="bibref">TURTLE</a></cite>]), extended
to support representing a complete <abbr title="Resource Description Framework">RDF</abbr> Dataset.
</p></section>
- <section id="sec-trig-intro" class="informative" typeof="bibo:Chapter" resource="#sec-trig-intro" rel="bibo:chapter">
- <!--OddPage--><h2 aria-level="1" role="heading" id="h2_sec-trig-intro"><span class="secno">2. </span>TriG Language</h2><p><em>This section is non-normative.</em></p>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-trig-intro" class="informative">
+ <!--OddPage--><h2 id="h2_sec-trig-intro" role="heading" aria-level="1"><span class="secno">2. </span>TriG Language</h2><p><em>This section is non-normative.</em></p>
<p>A TriG document allows writing down an <abbr title="Resource Description Framework">RDF</abbr> Dataset in a compact
- textual form. It consists of a sequence of directives, triple statements, graph statements which contain triple-generating statements and optional blank lines.
- Comments may be given after a <code>#</code> that is not part of another
+ textual form. It consists of a sequence of directives, triple statements, graph statements which contain triple-generating statements and optional blank lines.
+ Comments may be given after a <code>#</code> that is not part of another
lexical token and continue to the end of the line.</p>
<p>
</p><p>Graph statements are a pair of an IRI or blank node label and a group of triple statements
surrounded by <code>{}</code>. The IRI or blank node label of the graph statement may be used in another graph statement which implies taking the union of the tripes generated
- by each graph statement. An IRI or blank node label used as a graph label may also reoccur as part of any triple statement.
- Optionally a graph statement may not not be labeled with an IRI. Such a
+ by each graph statement. An IRI or blank node label used as a graph label may also reoccur as part of any triple statement.
+ Optionally a graph statement may not not be labeled with an IRI. Such a
graph statement corresponds to the Default Graph of an <abbr title="Resource Description Framework">RDF</abbr> Dataset.</p>
<p>
- The construction of an <abbr title="Resource Description Framework">RDF</abbr> Dataset from a TriG document is defined in <a href="#sec-grammar" class="sectionRef">section 4. TriG Grammar</a> and <a href="#sec-parsing" class="sectionRef">section 5. Parsing</a>.
+ The construction of an <abbr title="Resource Description Framework">RDF</abbr> Dataset from a TriG document is defined in <a href="#sec-grammar" class="sectionRef">TriG Grammar</a> and <a href="#sec-parsing" class="sectionRef">Parsing</a>.
</p>
- <section id="sec-triple-statements" typeof="bibo:Chapter" resource="#sec-triple-statements" rel="bibo:chapter">
- <h3 aria-level="2" role="heading" id="h3_sec-triple-statements"><span class="secno">2.1 </span>Triple Statements</h3><p><em>This section is non-normative.</em></p>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-triple-statements">
+ <h3 id="h3_sec-triple-statements" role="heading" aria-level="2"><span class="secno">2.1 </span>Triple Statements</h3>
<p>As TriG is an extention of the Turtle language it allows for any constructs from the <a href="http://www.w3.org/TR/turtle/#language-features">Turtle language</a>. <a href="http://www.w3.org/TR/turtle/#simple-triples">Simple Triples</a>, <a href="http://www.w3.org/TR/turtle/#predicate-lists">Predicate Lists</a>, and <a href="http://www.w3.org/TR/turtle/#object-lists">Object Lists</a> can all be used either inside a graph statement, or on their own as in a Turtle document. When outside a graph statement, the triples are considered to be part of the default graph of the <abbr title="Resource Description Framework">RDF</abbr> Dataset.</p>
</section>
- <section id="sec-graph-statements" typeof="bibo:Chapter" resource="#sec-graph-statements" rel="bibo:chapter">
- <h3 aria-level="2" role="heading" id="h3_sec-graph-statements"><span class="secno">2.2 </span>Graph Statements</h3>
-
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-graph-statements">
+ <h3 id="h3_sec-graph-statements" role="heading" aria-level="2"><span class="secno">2.2 </span>Graph Statements</h3>
+
<p>A graph statement pairs an IRI or blank node with a <abbr title="Resource Description Framework">RDF</abbr> graph. The triple statements that make up the graph are enclosed in <code>{}</code>.</p>
<p>In a TriG document a graph IRI or blank node may be used as label for more than one graph statements. The graph label of a graph statement may be omitted. In this case the graph is considered the default graph of the <abbr title="Resource Description Framework">RDF</abbr> Dataset.</p>
@@ -425,11 +432,11 @@
@prefix : <http://www.example.org/exampleDocument#> .
:G1 { :Monica a ex:Person ;
- ex:name "Monica Murphy" ;
+ ex:name "Monica Murphy" ;
ex:homepage <http://www.monicamurphy.org> ;
ex:email <mailto:monica@monicamurphy.org> ;
ex:hasSkill ex:Management ,
- ex:Programming . }
+ ex:Programming . }
</span></pre></div>
<p>A <abbr title="Resource Description Framework">RDF</abbr> Dataset may contain a default graph, and named graphs.</p>
<div class="example"><div class="example-title"><span>Example 2</span></div><pre class="example"><span># This document contains a default graph and two named graphs.
@@ -439,28 +446,28 @@
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
# default graph
- {
- <http://example.org/bob> dc:publisher "Bob" .
+ {
+ <http://example.org/bob> dc:publisher "Bob" .
<http://example.org/alice> dc:publisher "Alice" .
}
-<http://example.org/bob>
- {
- _:a foaf:name "Bob" .
+<http://example.org/bob>
+ {
+ _:a foaf:name "Bob" .
_:a foaf:mbox <mailto:bob@oldcorp.example.org> .
_:a foaf:knows _:b .
}
-
+
<http://example.org/alice>
- {
- _:b foaf:name "Alice" .
+ {
+ _:b foaf:name "Alice" .
_:b foaf:mbox <mailto:alice@work.example.org> .
} </span></pre></div>
<p>TriG provides various alternative ways to write graphs
and triples, giving the data writer choices for clarity:
</p>
-
+
<div class="example"><div class="example-title"><span>Example 3</span></div><pre class="example"><span># This document contains a same data as the
previous example.
@@ -469,32 +476,32 @@
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
# default graph - no {} used.
-<http://example.org/bob> dc:publisher "Bob" .
+<http://example.org/bob> dc:publisher "Bob" .
<http://example.org/alice> dc:publisher "Alice" .
# GRAPH keyword to highlight a named graph
# Abbreviation of triples using ;
-GRAPH <http://example.org/bob>
-{
- [] foaf:name "Bob" ;
+GRAPH <http://example.org/bob>
+{
+ [] foaf:name "Bob" ;
foaf:mbox <mailto:bob@oldcorp.example.org> ;
foaf:knows _:b .
}
-
+
GRAPH <http://example.org/alice>
-{
+{
_:b foaf:name "Alice" ;
- foaf:mbox <mailto:alice@work.example.org>
+ foaf:mbox <mailto:alice@work.example.org>
}</span></pre></div>
</section>
- <section id="other-terms" typeof="bibo:Chapter" resource="#other-terms" rel="bibo:chapter">
- <h3 aria-level="2" role="heading" id="h3_other-terms"><span class="secno">2.3 </span>Other Terms</h3>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="other-terms">
+ <h3 id="h3_other-terms" role="heading" aria-level="2"><span class="secno">2.3 </span>Other Terms</h3>
<p>All other terms and directives come from Turtle.</p>
- <section id="terms-blanks-nodes" typeof="bibo:Chapter" resource="#terms-blanks-nodes" rel="bibo:chapter">
- <h4 aria-level="3" role="heading" id="h4_terms-blanks-nodes"><span class="secno">2.3.1 </span>Special Considerations for Blank Nodes</h4><p><em>This section is non-normative.</em></p>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="terms-blanks-nodes">
+ <h4 id="h4_terms-blanks-nodes" role="heading" aria-level="3"><span class="secno">2.3.1 </span>Special Considerations for Blank Nodes</h4>
<p>BlankNodes sharing the same label in differently labeled graph statements are considered to be the same BlankNode.</p>
</section>
</section>
@@ -502,15 +509,15 @@
- <section id="conformance" typeof="bibo:Chapter" resource="#conformance" rel="bibo:chapter"><!--OddPage--><h2 aria-level="1" role="heading" id="h2_conformance"><span class="secno">3. </span>Conformance</h2>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="conformance"><!--OddPage--><h2 id="h2_conformance" role="heading" aria-level="1"><span class="secno">3. </span>Conformance</h2>
<p>
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples,
and notes in this specification are non-normative. Everything else in this specification is
normative.
</p>
<p>
- The key words <em class="rfc2119" title="MUST">MUST</em>, <em class="rfc2119" title="MUST NOT">MUST NOT</em>, <em class="rfc2119" title="REQUIRED">REQUIRED</em>, <em class="rfc2119" title="SHOULD">SHOULD</em>, <em class="rfc2119" title="SHOULD NOT">SHOULD NOT</em>, <em class="rfc2119" title="RECOMMENDED">RECOMMENDED</em>, <em class="rfc2119" title="MAY">MAY</em>,
- and <em class="rfc2119" title="OPTIONAL">OPTIONAL</em> in this specification are to be interpreted as described in [<cite><a class="bibref" href="#bib-RFC2119">RFC2119</a></cite>].
+ 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 defines conformance criteria for:</p>
@@ -518,39 +525,39 @@
<li>TriG documents
</li><li>TriG parsers
</li></ul>
- <p>A conforming <strong>TriG document</strong> is a Unicode string that conforms to the grammar and additional constraints defined in <a href="#sec-grammar" class="sectionRef sec-ref">section 4. TriG Grammar</a>, starting with the <a href="#grammar-production-trigDoc"><code>trigDoc</code> production</a>. A TriG document serializes an <abbr title="Resource Description Framework">RDF</abbr> dataset.</p>
-
- <p>A conforming <strong>TriG parser</strong> is a system capable of reading TriG documents on behalf of an application. It makes the serialized <abbr title="Resource Description Framework">RDF</abbr> dataset, as defined in <a href="#sec-parsing" class="sectionRef sec-ref">section 5. Parsing</a>, available to the application, usually through some form of API.</p>
-
- <p>The IRI that identifies the TriG language is: <code>http://www.w3.org/ns/formats/TriG</code></p>
+ <p>A conforming <strong>TriG document</strong> is a Unicode string that conforms to the grammar and additional constraints defined in <a href="#sec-grammar" class="sectionRef sec-ref">section <span class="secno">4.</span> <span class="sec-title">TriG Grammar</span></a>, starting with the <a href="#grammar-production-trigDoc"><code>trigDoc</code> production</a>. A TriG document serializes an <abbr title="Resource Description Framework">RDF</abbr> dataset.</p>
- <div class="note"><div class="note-title" aria-level="2" role="heading" id="h_note_1"><span>Note</span></div><p class="">This specification does not define how TriG parsers handle non-conforming input documents.</p></div>
- <section id="sec-mime" typeof="bibo:Chapter" resource="#sec-mime" rel="bibo:chapter">
- <h3 aria-level="2" role="heading" id="h3_sec-mime"><span class="secno">3.1 </span>Media Type and Content Encoding</h3>
-
+ <p>A conforming <strong>TriG parser</strong> is a system capable of reading TriG documents on behalf of an application. It makes the serialized <abbr title="Resource Description Framework">RDF</abbr> dataset, as defined in <a href="#sec-parsing" class="sectionRef sec-ref">section <span class="secno">5.</span> <span class="sec-title">Parsing</span></a>, available to the application, usually through some form of API.</p>
+
+ <p>The IRI that identifies the TriG language is: <code>http://www.w3.org/ns/formats/TriG</code></p>
+
+ <div class="note"><div id="h_note_1" role="heading" aria-level="2" class="note-title"><span>Note</span></div><p class="">This specification does not define how TriG parsers handle non-conforming input documents.</p></div>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-mime">
+ <h3 id="h3_sec-mime" role="heading" aria-level="2"><span class="secno">3.1 </span>Media Type and Content Encoding</h3>
+
<p>The media type of TriG is <code>application/trig</code>.
- The content encoding of TriG content is always UTF-8.
+ The content encoding of TriG content is always UTF-8.
</p>
</section>
</section>
- <section id="sec-grammar" typeof="bibo:Chapter" resource="#sec-grammar" rel="bibo:chapter">
- <!--OddPage--><h2 aria-level="1" role="heading" id="h2_sec-grammar"><span class="secno">4. </span>TriG Grammar</h2>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-grammar">
+ <!--OddPage--><h2 id="h2_sec-grammar" role="heading" aria-level="1"><span class="secno">4. </span>TriG Grammar</h2>
- <p>A TriG document is a Unicode[<cite><a class="bibref" href="#bib-UNICODE">UNICODE</a></cite>] character string
- encoded in UTF-8.
+ <p>A TriG document is a Unicode[<cite><a href="#bib-UNICODE" class="bibref">UNICODE</a></cite>] character string
+ encoded in UTF-8.
Unicode characters only in the range U+0000 to U+10FFFF inclusive are
allowed.
</p>
- <section id="sec-grammar-ws" typeof="bibo:Chapter" resource="#sec-grammar-ws" rel="bibo:chapter">
- <h3 aria-level="2" role="heading" id="h3_sec-grammar-ws"><span class="secno">4.1 </span>White Space</h3>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-grammar-ws">
+ <h3 id="h3_sec-grammar-ws" role="heading" aria-level="2"><span class="secno">4.1 </span>White Space</h3>
<p>White space (production <a href="#grammar-production-WS">WS</a>) is used to separate two terminals which would otherwise be (mis-)recognized as one terminal. Rule names below in capitals indicate where white space is significant; these form a possible choice of terminals for constructing a TriG parser.</p>
<p>White space is significant in the production <a href="#grammar-production-String">String</a>.</p>
</section>
- <section id="sec-grammar-comments" typeof="bibo:Chapter" resource="#sec-grammar-comments" rel="bibo:chapter">
- <h3 aria-level="2" role="heading" id="h3_sec-grammar-comments"><span class="secno">4.2 </span>Comments</h3>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-grammar-comments">
+ <h3 id="h3_sec-grammar-comments" role="heading" aria-level="2"><span class="secno">4.2 </span>Comments</h3>
<p>Comments in TriG take the form of '#', outside an
@@ -560,12 +567,12 @@
marker. Comments are treated as white space.
</p>
</section>
- <section id="sec-iri-references" typeof="bibo:Chapter" resource="#sec-iri-references" rel="bibo:chapter">
- <h3 aria-level="2" role="heading" id="h3_sec-iri-references"><span class="secno">4.3 </span>IRI References</h3>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-iri-references">
+ <h3 id="h3_sec-iri-references" role="heading" aria-level="2"><span class="secno">4.3 </span>IRI References</h3>
<p>
- Relative IRIs are resolved with base IRIs as per <a href="http://www.ietf.org/rfc/rfc3986.txt" class="norm">Uniform Resource Identifier (URI): Generic Syntax</a> [<cite><a class="bibref" href="#bib-RFC3986">RFC3986</a></cite>] using only the basic algorithm in section 5.2.
+ Relative IRIs are resolved with base IRIs as per <a href="http://www.ietf.org/rfc/rfc3986.txt" class="norm">Uniform Resource Identifier (URI): Generic Syntax</a> [<cite><a href="#bib-RFC3986" class="bibref">RFC3986</a></cite>] using only the basic algorithm in section 5.2.
Neither Syntax-Based Normalization nor Scheme-Based Normalization (described in sections 6.2.2 and 6.2.3 of RFC3986) are performed.
- Characters additionally allowed in IRI references are treated in the same way that unreserved characters are treated in URI references, per section 6.5 of <a href="http://www.ietf.org/rfc/rfc3987.txt" class="norm">Internationalized Resource Identifiers (IRIs)</a> [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>].
+ Characters additionally allowed in IRI references are treated in the same way that unreserved characters are treated in URI references, per section 6.5 of <a href="http://www.ietf.org/rfc/rfc3987.txt" class="norm">Internationalized Resource Identifiers (IRIs)</a> [<cite><a href="#bib-RFC3987" class="bibref">RFC3987</a></cite>].
</p>
<p>
The <code>@base</code> directive defines the Base IRI used to resolve relative IRIs per RFC3986 section 5.1.1, "Base URI Embedded in Content".
@@ -575,8 +582,8 @@
Each <code>@base</code> directive sets a new In-Scope Base URI, relative to the previous one.
</p>
</section>
- <section id="sec-escapes" typeof="bibo:Chapter" resource="#sec-escapes" rel="bibo:chapter">
- <h3 aria-level="2" role="heading" id="h3_sec-escapes"><span class="secno">4.4 </span>Escape Sequences</h3>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-escapes">
+ <h3 id="h3_sec-escapes" role="heading" aria-level="2"><span class="secno">4.4 </span>Escape Sequences</h3>
<p>
There are three forms of escapes used in TriG documents:
@@ -605,7 +612,7 @@
corresponding to the value encoded by the four hexadecimal digits interpreted from most significant to least significant digit.</td>
</tr>
-
+
<tr>
<td>'\U' <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a></td>
@@ -618,7 +625,7 @@
<p>where <a href="#rHEX">HEX</a> is a hexadecimal character</p>
<blockquote>
- <p><span style="font-family: monospace; font-size: 85%;"><a id="rHEX">HEX</a>
+ <p><span style="font-family: monospace; font-size: 85%;">HEX
::= [0-9] | [A-F] | [a-f]</span></p>
</blockquote>
@@ -644,38 +651,38 @@
<td>'\t'</td>
<td>U+0009</td>
</tr>
-
+
<tr>
<td>'\b'</td>
<td>U+0008</td>
</tr>
-
+
<tr>
<td>'\n'</td>
<td>U+000A</td>
</tr>
-
+
<tr>
<td>'\r'</td>
<td>U+000D</td>
</tr>
-
+
<tr>
<td>'\f'</td>
<td>U+000C</td>
</tr>
-
+
<tr>
<td>'\"'</td><!-- " -->
<td>U+0022</td>
</tr>
-
+
<tr>
<td>'\''</td> <!-- ' -->
<td>U+0027</td>
</tr>
-
+
<tr>
<td>'\\'</td>
@@ -725,91 +732,16 @@
</tr>
</tbody>
</table>
- <div class="note"><div class="note-title" aria-level="3" role="heading" id="h_note_2"><span>Note</span></div><p class="">%-encoded sequences are in the <a href="#grammar-production-IRIREF">character range for IRIs</a> and are <a href="#grammar-production-PERCENT">explicitly allowed</a> in local names. These appear as a '%' followed by two hex characters and represent that same sequence of three characters. These sequences are <em>not</em> decoded during processing. A term written as <code><http://a.example/%66oo-bar></code> in TriG designates the IRI <code>http://a.example/%66oo-bar</code> and not IRI <code>http://a.example/foo-bar</code>. A term written as <code>ex:%66oo-bar</code> with a prefix <code>@prefix ex: <http://a.example/></code> also designates the IRI <code>http://a.example/%66oo-bar</code>.</p></div>
-
- </section>
- <section id="grammar-ebnf" typeof="bibo:Chapter" resource="#grammar-ebnf" rel="bibo:chapter">
- <h3 aria-level="2" role="heading" id="h3_grammar-ebnf"><span class="secno">4.5 </span>Grammar</h3>
-
- <p>The <abbr title="Resource Description Framework">RDF</abbr> Working Group has included the following
- features; these may be removed due to implementor feedback.
- </p>
-
- <p>Feedback, both positive and negative, is invited by
- sending email to mailing list
- <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>).</p>
-
- <div class="atrisk"><p class="atrisktext">Feature At Risk</p>
-
- <p><b><code>GRAPH</code> keyword</b></p>
- <p>In this version of TriG, but not previous versions,
- the keyword <code>GRAPH</code> may occur before graph
- names, as specified in the grammar.
- </p>
- <p>
- This feature aligns with the syntax of
- SPARQL, specifically SPARQL Update,
- so sections of a TriG document can be cut-and-pasted into SPARQL
- update requests, and people used to reading SPARQL can more
- easily understand TriG documents.</p>
- <p>
- This keyword may cause a syntax error in older parsers, so its
- use should be avoided until all likely TriG-consuming
- systems have updated parsers. Once updated parsers are
- widespread, the use of GRAPH keyword is suggested to
- provide alignment with SPARQL.</p>
+ <div class="note"><div id="h_note_2" role="heading" aria-level="3" class="note-title"><span>Note</span></div><p class="">%-encoded sequences are in the <a href="#grammar-production-IRIREF">character range for IRIs</a> and are <a href="#grammar-production-PERCENT">explicitly allowed</a> in local names. These appear as a '%' followed by two hex characters and represent that same sequence of three characters. These sequences are <em>not</em> decoded during processing. A term written as <code><http://a.example/%66oo-bar></code> in TriG designates the IRI <code>http://a.example/%66oo-bar</code> and not IRI <code>http://a.example/foo-bar</code>. A term written as <code>ex:%66oo-bar</code> with a prefix <code>@prefix ex: <http://a.example/></code> also designates the IRI <code>http://a.example/%66oo-bar</code>.</p></div>
- <p>
- This feature is marked as being "at risk", which means the Working Group
- seeks feedback from the community on whether to allow the
- <code>GRAPH</code> keyword. The group may remove this feature without
- publishing another Last Call Working Draft. Users with a strong
- preference or with information which might influence the Working Group's
- decision whether to keep this feature are encouraged to send feedback.</p>
- <p>Previous publications of Turtle and TriG
- already included <code>PREFIX</code> and <code>BASE</code> keywords.
- </p>
- </div>
+ </section>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="grammar-ebnf">
+ <h3 id="h3_grammar-ebnf" role="heading" aria-level="2"><span class="secno">4.5 </span>Grammar</h3>
- <div class="atrisk"><p class="atrisktext">Feature At Risk</p>
- <p><b>Unenclosed Triples</b></p>
- <p>In this version of TriG, but not previous versions,
- triples in the default graph are allowed to
- occur without requiring enclosing braces (
- <code>{</code>...<code>}</code>).
- outside of any curly braces. </p>
- <p>
- This
- feature is provided in order to align the TriG syntax with the SPARQL
- syntax, to allow for cut-and-paste and for easier TriG comprehension by
- people working with SPARQL. It also makes TriG an extension of Turtle;
- a TriG file using bare triples and no named graphs is also a Turtle file
- (with the same semantics).
- </p>
- <p>
- Bare triples will not be understood by some older TriG parsers, so their
- use should be avoided until all likely TriG-consuming systems have
- updated parsers. Once updated parsers are widespread, the use of bare
- triples is suggested to provide alignment with SPARQL.
- </p>
- <p>
- This feature is marked as being "at risk", which means the Working Group
- seeks feedback from the community on whether to allow bare triple in
- TriG. The group might remove this feature without publishing another
- Last Call Working Draft. Users with a strong preference or with
- information which might influence the Working Group's decision whether
- to keep this feature are encouraged to send feedback.
- </p>
- </div>
-
- <hr>
-
<p>The <abbr title="Extended Backus–Naur Form">EBNF</abbr> used here is defined in XML 1.0
- [<cite><a class="bibref" href="#bib-EBNF-NOTATION">EBNF-NOTATION</a></cite>]. Production labels consisting of a number and a final 'g' are unique to TriG. All Production labels consisting of only a number reference the production with that number in the
+ [<cite><a href="#bib-EBNF-NOTATION" class="bibref">EBNF-NOTATION</a></cite>]. Production labels consisting of a number and a final 'g' are unique to TriG. All Production labels consisting of only a number reference the production with that number in the
<a href="http://www.w3.org/TR/turtle/">Turtle</a> grammar
-[<cite><a class="bibref" href="#bib-turtle">turtle</a></cite>]. Production labels consisting of a number and a final 's', e.g. [<a href="http://www.w3.org/TR/sparql11-query/#rRDFLiteral"><span class="prodNo">60s</span></a>], reference the production with that number in the <a href="http://www.w3.org/TR/sparql11-query/#sparqlGrammar">SPARQL Query Language for <abbr title="Resource Description Framework">RDF</abbr> grammar</a> [<cite><a class="bibref" href="#bib-RDF-SPARQL-QUERY">RDF-SPARQL-QUERY</a></cite>].
+[<cite><a href="#bib-TURTLE" class="bibref">TURTLE</a></cite>]. Production labels consisting of a number and a final 's', e.g. [<a href="http://www.w3.org/TR/sparql11-query/#rRDFLiteral"><span class="prodNo">60s</span></a>], reference the production with that number in the <a href="http://www.w3.org/TR/sparql11-query/#sparqlGrammar">SPARQL Query Language for <abbr title="Resource Description Framework">RDF</abbr> grammar</a> [<cite><a href="#bib-RDF-SPARQL-QUERY" class="bibref">RDF-SPARQL-QUERY</a></cite>].
</p>
@@ -828,14 +760,14 @@
'<code class="grammar-literal">false</code>') are
case-sensitive.
Keywords in double quotes (
- "<code class="grammar-literal">BASE</code>",
+ "<code class="grammar-literal">BASE</code>",
"<code class="grammar-literal">PREFIX</code>"
"<code class="grammar-literal">GRAPH</code>"
) are case-insensitive.
</li>
<li>
Escape sequences markers <code>\u</code>, <code>\U</code>
- and those in <code><a href="#grammar-production-ECHAR">ECHAR</a></code>
+ and those in <code><a href="#grammar-production-ECHAR">ECHAR</a></code>
are case sensitive.
</li>
<li>
@@ -859,16 +791,16 @@
<span>'<code class="grammar-literal">[</code>' <a href="#grammar-production-WS">WS</a><code class="grammar-star">*</code> '<code class="grammar-literal">]</code>'</span>
</span>
token allows any amount of white space and comments between <code class="grammar-literal">[]</code>s.
- The single space version is used in the grammar for clarity.
+ The single space version is used in the grammar for clarity.
</li>
<li>
The strings '<a href="#grammar-production-prefixID"><code class="grammar-literal">@prefix</code></a>' and '<a href="#grammar-production-base"><code class="grammar-literal">@base</code></a>' match the pattern for <a href="#grammar-production-LANGTAG">LANGTAG</a>, though neither "<code class="grammar-literal">prefix</code>" nor "<code class="grammar-literal">base</code>" are <a href="http://www.iana.org/assignments/language-subtag-registry">registered language
-subtags</a>.
+subtags</a>.
This specification does not define whether a quoted literal followed by either of these tokens (e.g. <code>"Z"@base</code>) is in the TriG language.
</li>
</ol>
</div>
-
+
<div><table class="grammar">
<tbody class="grammar-productions">
<tr id="grammar-production-trigDoc" data-grammar-original="[1g] trigDoc ::= ( directive | block )*" data-grammar-expression="('*', ('|', [('id', 'directive'), ('id', 'block')]))">
@@ -1052,7 +984,7 @@
<td><a href="#grammar-production-BLANK_NODE_LABEL">BLANK_NODE_LABEL</a> <code>| </code> <a href="#grammar-production-ANON">ANON</a></td>
</tr>
<tr><td colspan="4"><h3 id="terminals">Productions for terminals</h3></td></tr>
- <tr id="grammar-production-IRIREF" data-grammar-original="[19] IRIREF ::= '<' ([^#x00-#x20<>"{}|^`\] | UCHAR)* '>'" data-grammar-expression="(',', [("'", '<'), ('*', ('|', [('[', '^#x00-#x20<>"{}|^`\\'), ('id', 'UCHAR')])), ("'", '>')])" class="grammar-token">
+ <tr id="grammar-production-IRIREF" data-grammar-original="[19] IRIREF ::= '<' ([^#x00-#x20<>"{}|^`\] | UCHAR)* '>'" data-grammar-expression="(',', [("'", '<'), ('*', ('|', [('[', '^#x00-#x20<>"{}|^`\\'), ('id', 'UCHAR')])), ("'", '>')])" class="grammar-token">
<td>[19]</td>
<td><code>IRIREF</code></td>
<td>::=</td>
@@ -1216,23 +1148,23 @@
</tr>
</tbody></table>
</div>
-
+
</section>
</section>
- <section id="sec-parsing" typeof="bibo:Chapter" resource="#sec-parsing" rel="bibo:chapter">
- <!--OddPage--><h2 aria-level="1" role="heading" id="h2_sec-parsing"><span class="secno">5. </span>Parsing</h2>
- <p>The <a href="http://www.w3.org/TR/rdf11-concepts"><abbr title="Resource Description Framework">RDF</abbr> Concepts and Abstract Syntax</a> ([<cite><a class="bibref" href="#bib-RDF-CONCEPTS">RDF-CONCEPTS</a></cite>]) specification defines three types of <em><abbr title="Resource Description Framework">RDF</abbr> Term</em>:
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-parsing">
+ <!--OddPage--><h2 id="h2_sec-parsing" role="heading" aria-level="1"><span class="secno">5. </span>Parsing</h2>
+ <p>The <a href="http://www.w3.org/TR/rdf11-concepts"><abbr title="Resource Description Framework">RDF</abbr> Concepts and Abstract Syntax</a> ([<cite><a href="#bib-RDF11-CONCEPTS" class="bibref">RDF11-CONCEPTS</a></cite>]) specification defines three types of <em><abbr title="Resource Description Framework">RDF</abbr> Term</em>:
<a href="http://www.w3.org/TR/rdf11-concepts#dfn-iri">IRIs</a>,
<a href="http://www.w3.org/TR/rdf11-concepts#dfn-literal">literals</a> and
<a href="http://www.w3.org/TR/rdf11-concepts#dfn-blank-node">blank nodes</a>.
- Literals are composed of a <a href="http://www.w3.org/TR/rdf11-concepts#dfn-lexical-form">lexical form</a> and an optional <a href="http://www.w3.org/TR/rdf11-concepts#dfn-language-tag">language tag</a> [<cite><a class="bibref" href="#bib-BCP47">BCP47</a></cite>] or datatype IRI.
+ Literals are composed of a <a href="http://www.w3.org/TR/rdf11-concepts#dfn-lexical-form">lexical form</a> and an optional <a href="http://www.w3.org/TR/rdf11-concepts#dfn-language-tag">language tag</a> [<cite><a href="#bib-BCP47" class="bibref">BCP47</a></cite>] or datatype IRI.
An extra type, <code id="prefix" class="dfn">prefix</code>, is used during parsing to map string identifiers to namespace IRIs.
- This section maps a string conforming to the grammar in <a href="#grammar-ebnf" class="sectionRef sec-ref">section 4.5 Grammar</a> to a set of triples by mapping strings matching productions and lexical tokens to <abbr title="Resource Description Framework">RDF</abbr> terms or their components (e.g. language tags, lexical forms of literals). Grammar productions change the parser state and emit triples.</p>
- <section id="sec-parsing-state" typeof="bibo:Chapter" resource="#sec-parsing-state" rel="bibo:chapter">
- <h3 aria-level="2" role="heading" id="h3_sec-parsing-state"><span class="secno">5.1 </span>Parser State</h3>
+ This section maps a string conforming to the grammar in <a href="#grammar-ebnf" class="sectionRef sec-ref">section <span class="secno">4.5</span> <span class="sec-title">Grammar</span></a> to a set of triples by mapping strings matching productions and lexical tokens to <abbr title="Resource Description Framework">RDF</abbr> terms or their components (e.g. language tags, lexical forms of literals). Grammar productions change the parser state and emit triples.</p>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-parsing-state">
+ <h3 id="h3_sec-parsing-state" role="heading" aria-level="2"><span class="secno">5.1 </span>Parser State</h3>
<p>Parsing TriG requires a state of six items:</p>
<ul>
@@ -1240,12 +1172,12 @@
<li id="namespaces">Map[<a class="type prefix" href="#prefix">prefix</a> -> IRI] <code class="dfn">namespaces</code> — The second and third rule arguments (<code>PNAME_NS</code> and <code>IRIREF</code>) in the <a href="#grammar-production-prefixID">prefixID production</a> assign a namespace name (<code>IRIREF</code>) for the prefix (<code>PNAME_NS</code>). Outside of a <code>prefixID</code> production, any <code>PNAME_NS</code> is substituted with the namespace. Note that the prefix may be an empty string, per the <code>PNAME_NS,</code> production: <code>(PN_PREFIX)? ":"</code>.</li>
- <li id="bnodeLabels">Map[<a class="type string">string</a> -> <a href="http://www.w3.org/TR/rdf11-concepts#dfn-blank-node">blank node</a>] <code class="dfn">bnodeLabels</code> — A mapping from string to blank node.</li>
+ <li id="bnodeLabels">Map[string -> <a href="http://www.w3.org/TR/rdf11-concepts#dfn-blank-node">blank node</a>] <code class="dfn">bnodeLabels</code> — A mapping from string to blank node.</li>
<li id="curSubject">RDF_Term <code class="dfn">curSubject</code> — The <code class="curSubject">curSubject</code> is bound to the <code><a href="#grammar-production-subject">subject</a></code> production.</li>
<li id="curPredicate">RDF_Term <code class="dfn">curPredicate</code> — The <code class="curPredicate">curPredicate</code> is bound to the <code><a href="#grammar-production-verb">verb</a></code> production. If token matched was "<code>a</code>", <code class="curPredicate">curPredicate</code> is bound to the IRI <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</code>.</li>
- <li id="curGraph">RDF_Term <code class="dfn">curGraph</code> —
+ <li id="curGraph">RDF_Term <code class="dfn">curGraph</code> —
The <code class="curGraph">curGraph</code> is bound to
the label of the graph that is the destination of triples
produced in parsing. When undefined, triples are destined
@@ -1253,20 +1185,20 @@
</li>
</ul>
</section>
- <section id="sec-parsing-terms" typeof="bibo:Chapter" resource="#sec-parsing-terms" rel="bibo:chapter">
- <h3 aria-level="2" role="heading" id="h3_sec-parsing-terms"><span class="secno">5.2 </span><abbr title="Resource Description Framework">RDF</abbr> Term Constructors</h3>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-parsing-terms">
+ <h3 id="h3_sec-parsing-terms" role="heading" aria-level="2"><span class="secno">5.2 </span><abbr title="Resource Description Framework">RDF</abbr> Term Constructors</h3>
- <p>This table maps productions and lexical tokens to <code><abbr title="Resource Description Framework">RDF</abbr> terms</code> or components of <code><abbr title="Resource Description Framework">RDF</abbr> terms</code> listed in <a href="#sec-parsing" class="sectionRef sec-ref">section 5. Parsing</a>:</p>
+ <p>This table maps productions and lexical tokens to <code><abbr title="Resource Description Framework">RDF</abbr> terms</code> or components of <code><abbr title="Resource Description Framework">RDF</abbr> terms</code> listed in <a href="#sec-parsing" class="sectionRef sec-ref">section <span class="secno">5.</span> <span class="sec-title">Parsing</span></a>:</p>
<table class="separated">
<thead>
<tr> <th> production </th><th> type </th><th>procedure</th></tr>
</thead>
<tbody>
- <tr id="handle-IRIREF"><td style="text-align:left;"><a class="type IRI" href="#grammar-production-IRIREF">IRIREF </a></td><td><a href="http://www.w3.org/TR/rdf11-concepts#dfn-iri"> IRI </a></td><td>The characters between "<" and ">" are taken, with the <a href="#numeric">numeric escape sequences</a> unescaped, to form the unicode string of the IRI. Relative IRI resolution is performed per <a href="#sec-iri-references" class="sectionRef">section 4.3 IRI References</a>.</td></tr>
+ <tr id="handle-IRIREF"><td style="text-align:left;"><a class="type IRI" href="#grammar-production-IRIREF">IRIREF </a></td><td><a href="http://www.w3.org/TR/rdf11-concepts#dfn-iri"> IRI </a></td><td>The characters between "<" and ">" are taken, with the <a href="#numeric">numeric escape sequences</a> unescaped, to form the unicode string of the IRI. Relative IRI resolution is performed per <a href="#sec-iri-references" class="sectionRef">Section 6.3</a>.</td></tr>
<tr id="handle-PNAME_NS"><td style="text-align:left;" rowspan="2"><a class="type string" href="#grammar-production-PNAME_NS">PNAME_NS </a></td><td><a href="#prefix"> prefix </a></td><td>When used in a <a href="#grammar-production-prefixID">prefixID</a> or <a href="#grammar-production-sparqlPrefix">sparqlPrefix</a> production, the <code>prefix</code> is the potentially empty unicode string matching the first argument of the rule is a key into the <a href="#namespaces">namespaces map</a>.</td></tr>
<tr id="handle-PNAME-IRI"> <td><a href="http://www.w3.org/TR/rdf11-concepts#dfn-iri"> IRI </a></td><td>When used in a <a href="#grammar-production-PrefixedName">PrefixedName</a> production, the <code>iri</code> is the value in the <a href="#namespaces">namespaces map</a> corresponding to the first argument of the rule.</td></tr>
- <tr id="handle-PNAME_LN"><td style="text-align:left;"><a class="type IRI" href="#grammar-production-PNAME_LN">PNAME_LN </a></td><td><a href="http://www.w3.org/TR/rdf11-concepts#dfn-iri"> IRI </a></td><td>A potentially empty <a href="#prefix">prefix</a> is identified by the first sequence, <code>PNAME_NS</code>. The <a href="#namespaces">namespaces map</a> <em class="rfc2119"><em class="rfc2119" title="MUST">MUST</em></em> have a corresponding <code>namespace</code>. The unicode string of the IRI is formed by unescaping the <a href="#reserved">reserved characters</a> in the second argument, <code>PN_LOCAL</code>, and concatenating this onto the <code>namespace</code>.</td></tr>
+ <tr id="handle-PNAME_LN"><td style="text-align:left;"><a class="type IRI" href="#grammar-production-PNAME_LN">PNAME_LN </a></td><td><a href="http://www.w3.org/TR/rdf11-concepts#dfn-iri"> IRI </a></td><td>A potentially empty <a href="#prefix">prefix</a> is identified by the first sequence, <code>PNAME_NS</code>. The <a href="#namespaces">namespaces map</a> <em class="rfc2119"><em title="MUST" class="rfc2119">MUST</em></em> have a corresponding <code>namespace</code>. The unicode string of the IRI is formed by unescaping the <a href="#reserved">reserved characters</a> in the second argument, <code>PN_LOCAL</code>, and concatenating this onto the <code>namespace</code>.</td></tr>
<!-- tr id="handle-PrefixedName"><td style="text-align:left;"><a class="type IRI" href="#grammar-production-PrefixedName" >PrefixedName </a></td><td><a href="http://www.w3.org/TR/rdf11-concepts#dfn-iri"> IRI </a></td><td>.</td></tr -->
<tr id="handle-STRING_LITERAL_SINGLE_QUOTE"><td style="text-align:left;"><a class="type lexicalForm" href="#grammar-production-STRING_LITERAL_SINGLE_QUOTE">STRING_LITERAL_SINGLE_QUOTE </a></td><td><a href="http://www.w3.org/TR/rdf11-concepts#dfn-lexical-form"> lexical form</a></td><td>The characters between the outermost "'"s are taken, with <a href="#numeric">numeric</a> and <a href="#string">string</a> escape sequences unescaped, to form the unicode string of a lexical form.</td></tr>
<tr id="handle-STRING_LITERAL_QUOTE"><td style="text-align:left;"><a class="type lexicalForm" href="#grammar-production-STRING_LITERAL_QUOTE">STRING_LITERAL_QUOTE </a></td><td><a href="http://www.w3.org/TR/rdf11-concepts#dfn-lexical-form"> lexical form</a></td><td>The characters between the outermost '"'s are taken, with <a href="#numeric">numeric</a> and <a href="#string">string</a> escape sequences unescaped, to form the unicode string of a lexical form.</td></tr>
@@ -1287,29 +1219,29 @@
</table>
</section>
- <section id="sec-parsing-triples" typeof="bibo:Chapter" resource="#sec-parsing-triples" rel="bibo:chapter">
- <h3 aria-level="2" role="heading" id="h3_sec-parsing-triples"><span class="secno">5.3 </span><abbr title="Resource Description Framework">RDF</abbr> Triples Construction</h3>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-parsing-triples">
+ <h3 id="h3_sec-parsing-triples" role="heading" aria-level="2"><span class="secno">5.3 </span><abbr title="Resource Description Framework">RDF</abbr> Triples Construction</h3>
<p>
A TriG document defines an <a href="http://www.w3.org/TR/rdf11-concepts/#section-dataset"><abbr title="Resource Description Framework">RDF</abbr> Dataset</a> composed of one default graph and zero or
- more named graphs. Each graph is composed of a set of
+ more named graphs. Each graph is composed of a set of
<a href="http://www.w3.org/TR/rdf11-concepts/#dfn-rdf-triple"><abbr title="Resource Description Framework">RDF</abbr> triple</a>s.
</p>
-
- <section id="output-graph" typeof="bibo:Chapter" resource="#output-graph" rel="bibo:chapter">
- <h4 aria-level="3" role="heading" id="h4_output-graph"><span class="secno">5.3.1 </span>Output Graph</h4>
+
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="output-graph">
+ <h4 id="h4_output-graph" role="heading" aria-level="3"><span class="secno">5.3.1 </span>Output Graph</h4>
<p>The state <code class="curGraph">curGraph</code> is
initially unset. It records the label of the graph for
triples produced during parsing. If undefined, the default
graph is used.</p>
- <p>The rule
+ <p>The rule
<code><a href="#grammar-production-labelOrSubject">labelOrSubject</a></code>
sets both <code class="curGraph">curGraph</code>
and <code class="curSubject">curSubject</code>
(only one of these will be used).
</p>
- <p>The following grammar production clauses set
+ <p>The following grammar production clauses set
<code class="curGraph">curGraph</code> to be undefined, indicating the default
graph:
</p>
@@ -1318,23 +1250,23 @@
The grammar production clause <code>wrappedGraph</code> in rule <code><a href="#grammar-production-block">block</a></code>.
</li>
<li>
- The grammar production in rule
+ The grammar production in rule
<code><a href="#grammar-production-triples2">triples2</a></code>.
</li>
</ul>
<p>
- The grammar production
+ The grammar production
<code>labelOrSubject predicateObjectList '.'</code>
- unsets
+ unsets
<code class="curGraph">curGraph</code>
before handling <code>predicateObjectLists</code>
in rule <code><a href="#grammar-production-triplesOrGraph">triplesOrGraph</a></code>.
-
+
</p></section>
<section id="triple-output">
- <h4 aria-level="3" role="heading" id="h4_triple-output"><span class="secno">5.3.2 </span>Triple Output</h4>
+ <h4 id="h4_triple-output" role="heading" aria-level="3"><span class="secno">5.3.2 </span>Triple Output</h4>
<p>
Each <abbr title="Resource Description Framework">RDF</abbr> triple produced is added to <code class="curGraph">curGraph</code>,
or the default graph if <code class="curGraph">curGraph</code>
@@ -1348,29 +1280,29 @@
production sets the <code class="curPredicate">curPredicate</code>.
</p>
<p>Triples are produced at the following points in the
- parsing process and each <abbr title="Resource Description Framework">RDF</abbr> triple produced is
+ parsing process and each <abbr title="Resource Description Framework">RDF</abbr> triple produced is
added to the graph identified
by <code class="curGraph">curGraph</code>.
</p>
<section id="triple-production">
- <h5 style="padding-bottom:0; margin-bottom:0;" aria-level="4" role="heading" id="h5_triple-production"><span class="secno">5.3.2.1 </span>Triple Production</h5>
+ <h5 id="h5_triple-production" role="heading" aria-level="4" style="padding-bottom:0; margin-bottom:0;"><span class="secno">5.3.2.1 </span>Triple Production</h5>
<p style="padding-top:0; margin-top:0;">
Each <a class="grammarRef" href="#grammar-production-object">object</a>
- <code>N</code> in the document produces an <abbr title="Resource Description Framework">RDF</abbr> triple:
- <span class="ntriple"><code class="curSubject">curSubject</code>
- <code class="curPredicate">curPredicate</code> <code>N</code>.</span>
+ <code>N</code> in the document produces an <abbr title="Resource Description Framework">RDF</abbr> triple:
+ <span class="ntriple"><code class="curSubject">curSubject</code>
+ <code class="curPredicate">curPredicate</code> <code>N</code>.</span>
</p>
</section>
- <section id="propertyList" typeof="bibo:Chapter" resource="#propertyList" rel="bibo:chapter">
- <h5 style="padding-bottom:0; margin-bottom:0;" aria-level="4" role="heading" id="h5_propertyList"><span class="secno">5.3.2.2 </span>Property Lists</h5>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="propertyList">
+ <h5 id="h5_propertyList" role="heading" aria-level="4" style="padding-bottom:0; margin-bottom:0;"><span class="secno">5.3.2.2 </span>Property Lists</h5>
<p style="padding-top:0; margin-top:0;">
Beginning the <code><a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a></code> production records the <code class="curSubject">curSubject</code> and <code class="curPredicate">curPredicate</code>, and sets <code class="curSubject">curSubject</code> to a novel <code>blank node</code> <code>B</code>.
Finishing the <code><a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a></code> production restores <code class="curSubject">curSubject</code> and <code class="curPredicate">curPredicate</code>.
The node produced by matching <code><a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a></code> is the blank node <code>B</code>.
</p>
</section>
- <section id="collection" typeof="bibo:Chapter" resource="#collection" rel="bibo:chapter">
- <h5 style="padding-bottom:0; margin-bottom:0;" aria-level="4" role="heading" id="h5_collection"><span class="secno">5.3.2.3 </span><span>Collections</span></h5>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="collection">
+ <h5 id="h5_collection" role="heading" aria-level="4" style="padding-bottom:0; margin-bottom:0;"><span class="secno">5.3.2.3 </span><span>Collections</span></h5>
<p style="padding-top:0; margin-top:0;">
Beginning the <code><a href="#grammar-production-collection">collection</a></code> production records the <code class="curSubject">curSubject</code> and <code class="curPredicate">curPredicate</code>.
Each <code>object</code> in the <code><a href="#grammar-production-collection">collection</a></code> production has a <code class="curSubject">curSubject</code> set to a novel <code>blank node</code> <code>B</code> and a <code class="curPredicate">curPredicate</code> set to <code>rdf:first</code>.
@@ -1381,30 +1313,33 @@
</section>
</section>
</section>
- <section id="sec-differences" class="appendix informative" typeof="bibo:Chapter" resource="#sec-differences" rel="bibo:chapter">
- <h3 aria-level="2" role="heading" id="h3_sec-differences"><span class="secno">5.4 </span>Differences from Previous TriG</h3><p><em>This section is non-normative.</em></p>
- <p>This section describes the main differences between TriG, as
-defined in this document, and earlier forms.
- </p><ul>
- <li>Syntax is aligned to the
- <a href="http://www.w3.org/TR/turtle/">Turtle</a> [<cite><a class="bibref" href="#bib-turtle">turtle</a></cite>] recommendation
+ </section>
+
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-differences" class="appendix informative">
+ <!--OddPage--><h2 id="h2_sec-differences" role="heading" aria-level="1"><span class="secno">A. </span>Differences from Previous TriG</h2><p><em>This section is non-normative.</em></p>
+ <p>This section describes the main differences between TriG, as
+ defined in this document, and earlier forms.
+ </p><ul>
+ <li>Syntax is aligned to the
+ <a href="http://www.w3.org/TR/turtle/">Turtle</a> [<cite><a href="#bib-TURTLE" class="bibref">TURTLE</a></cite>] recommendation
for <abbr title="Resource Description Framework">RDF</abbr> terms.</li>
<li>Graph labels can be blank nodes.</li>
<li>The default graph, or sections of the default graph, do not
need to be enclosed in <code>{</code> ... <code>}</code>.</li>
- <li>No support for optional <code>=</code> graph naming operator
+ <li>No support for optional <code>=</code> graph naming operator
or optional "." after each graph.</li>
<li>Graph labels do not have to be unique within a TriG
document. Reusing a graph label causes all the triples
for that graph to be included in the resulting graph.
Sections with the same label are combined by set union.</li>
- <li>Keywords <code>BASE</code>,
- <code>PREFIX</code> (see also [<cite><a class="bibref" href="#bib-turtle">turtle</a></cite>]) and
- <code>GRAPH</code> are introduced.
+ <li>Keywords <code>BASE</code>,
+ <code>PREFIX</code> as in [<cite><a href="#bib-TURTLE" class="bibref">TURTLE</a></cite>].</li>
+ <li>The optional <code>GRAPH</code> keyword is allowed to aid
+ SPARQL alignment.
</li></ul>
</section>
- <section id="sec-mediaReg" class="appendix" typeof="bibo:Chapter" resource="#sec-mediaReg" rel="bibo:chapter">
- <h3 aria-level="2" role="heading" id="h3_sec-mediaReg"><span class="secno">5.5 </span>Media Type Registration</h3>
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-mediaReg" class="appendix">
+ <!--OddPage--><h2 id="h2_sec-mediaReg" role="heading" aria-level="1"><span class="secno">B. </span>Media Type Registration</h2>
<dl>
<dt>Contact:</dt>
<dd>Eric Prud'hommeaux</dd>
@@ -1430,45 +1365,48 @@
<dd>None</dd>
<dt>Encoding considerations:</dt>
- <dd>The syntax of TriG is expressed over code points in Unicode [<cite><a class="bibref" href="#bib-UNICODE">UNICODE</a></cite>]. The encoding is always UTF-8 [<cite><a class="bibref" href="#bib-UTF-8">UTF-8</a></cite>].</dd>
+ <dd>The syntax of TriG is expressed over code points in Unicode [<cite><a href="#bib-UNICODE" class="bibref">UNICODE</a></cite>]. The encoding is always UTF-8 [<cite><a href="#bib-UTF-8" class="bibref">UTF-8</a></cite>].</dd>
<dd>Unicode code points may also be expressed using an \uXXXX (U+0000 to U+FFFF) or \UXXXXXXXX syntax (for U+10000 onwards) where X is a hexadecimal digit [0-9A-Fa-f]</dd>
<dt>Security considerations:</dt>
- <dd>TriG is a general-purpose assertion language; applications may evaluate given data to infer more assertions or to dereference IRIs, invoking the security considerations of the scheme for that IRI. Note in particular, the privacy issues in [<cite><a class="bibref" href="#bib-RFC3023">RFC3023</a></cite>] section 10 for HTTP IRIs. Data obtained from an inaccurate or malicious data source may lead to inaccurate or misleading conclusions, as well as the dereferencing of unintended IRIs. Care must be taken to align the trust in consulted resources with the sensitivity of the intended use of the data; inferences of potential medical treatments would likely require different trust than inferences for trip planning.</dd>
+ <dd>TriG is a general-purpose assertion language; applications may evaluate given data to infer more assertions or to dereference IRIs, invoking the security considerations of the scheme for that IRI. Note in particular, the privacy issues in [<cite><a href="#bib-RFC3023" class="bibref">RFC3023</a></cite>] section 10 for HTTP IRIs. Data obtained from an inaccurate or malicious data source may lead to inaccurate or misleading conclusions, as well as the dereferencing of unintended IRIs. Care must be taken to align the trust in consulted resources with the sensitivity of the intended use of the data; inferences of potential medical treatments would likely require different trust than inferences for trip planning.</dd>
<dd>TriG is used to express arbitrary application data; security considerations will vary by domain of use. Security tools and protocols applicable to text (e.g. PGP encryption, MD5 sum validation, password-protected compression) may also be used on TriG documents. Security/privacy protocols must be imposed which reflect the sensitivity of the embedded information.</dd>
- <dd>TriG can express data which is presented to the user, for example, <abbr title="Resource Description Framework">RDF</abbr> Schema labels. Application rendering strings retrieved from untrusted TriG documents must ensure that malignant strings may not be used to mislead the reader. The security considerations in the media type registration for XML ([<cite><a class="bibref" href="#bib-RFC3023">RFC3023</a></cite>] section 10) provide additional guidance around the expression of arbitrary data and markup.</dd>
+ <dd>TriG can express data which is presented to the user, for example, <abbr title="Resource Description Framework">RDF</abbr> Schema labels. Application rendering strings retrieved from untrusted TriG documents must ensure that malignant strings may not be used to mislead the reader. The security considerations in the media type registration for XML ([<cite><a href="#bib-RFC3023" class="bibref">RFC3023</a></cite>] section 10) provide additional guidance around the expression of arbitrary data and markup.</dd>
<dd>TriG uses IRIs as term identifiers. Applications interpreting data expressed in TriG should address the security issues of
- <a class="norm" href="http://www.ietf.org/rfc/rfc3987.txt">Internationalized Resource Identifiers (IRIs)</a> [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>] Section 8, as well as
- <a class="norm" href="http://www.ietf.org/rfc/rfc3986.txt">Uniform Resource Identifier (URI): Generic Syntax</a> [<cite><a class="bibref" href="#bib-RFC3986">RFC3986</a></cite>] Section 7.</dd>
+ <a class="norm" href="http://www.ietf.org/rfc/rfc3987.txt">Internationalized Resource Identifiers (IRIs)</a> [<cite><a href="#bib-RFC3987" class="bibref">RFC3987</a></cite>] Section 8, as well as
+ <a class="norm" href="http://www.ietf.org/rfc/rfc3986.txt">Uniform Resource Identifier (URI): Generic Syntax</a> [<cite><a href="#bib-RFC3986" class="bibref">RFC3986</a></cite>] Section 7.</dd>
- <dd>Multiple IRIs may have the same appearance. Characters in different scripts may
- look similar (a Cyrillic "о" may appear similar to a Latin "o"). A character followed
- by combining characters may have the same visual representation as another character
- (LATIN SMALL LETTER E followed by COMBINING ACUTE ACCENT has the same visual representation
+ <dd>Multiple IRIs may have the same appearance. Characters in different scripts may
+ look similar (a Cyrillic "о" may appear similar to a Latin "o"). A character followed
+ by combining characters may have the same visual representation as another character
+ (LATIN SMALL LETTER E followed by COMBINING ACUTE ACCENT has the same visual representation
as LATIN SMALL LETTER E WITH ACUTE).
<!-- (<code>foo:resum鼯code> and <code>fоо:resumé</code>)-->
Any person or application that is writing or interpreting data in TriG must take care to use the IRI that matches the intended semantics, and avoid IRIs that make look similar.
- Further information about matching of similar characters can be found
- in <a class="inform" href="http://www.unicode.org/reports/tr36/">Unicode Security
- Considerations</a> [<cite><a class="bibref" href="#bib-UNICODE-SECURITY">UNICODE-SECURITY</a></cite>] and
- <a class="norm" href="http://www.ietf.org/rfc/rfc3987.txt">Internationalized Resource
- Identifiers (IRIs)</a> [<cite><a class="bibref" href="#bib-RFC3987">RFC3987</a></cite>] Section 8.</dd>
+ Further information about matching of similar characters can be found
+ in <a class="inform" href="http://www.unicode.org/reports/tr36/">Unicode Security
+ Considerations</a> [<cite><a href="#bib-UNICODE-SECURITY" class="bibref">UNICODE-SECURITY</a></cite>] and
+ <a class="norm" href="http://www.ietf.org/rfc/rfc3987.txt">Internationalized Resource
+ Identifiers (IRIs)</a> [<cite><a href="#bib-RFC3987" class="bibref">RFC3987</a></cite>] Section 8.</dd>
<dt>Interoperability considerations:</dt>
<dd>There are no known interoperability issues.</dd>
<dt>Published specification:</dt>
<dd>This specification.</dd>
<dt>Applications which use this media type:</dt>
-
- <dd>No widely deployed applications are known to use this media type. It may be used by some web services and clients consuming their data.</dd>
+ <dd>No widely deployed applications are known to use this media
+ type. It may be used by some web services and clients consuming their data.</dd>
<dt>Additional information:</dt>
<dt>Magic number(s):</dt>
- <dd>TriG documents may have the strings '@prefix' or '@base' (case dependent) near the beginning of the document.</dd>
+ <dd>TriG documents may have the strings 'prefix' or 'base' (case
+ independent) near the beginning of the document.</dd>
<dt>File extension(s):</dt>
<dd>".trig"</dd>
<dt>Base URI:</dt>
- <dd>The TriG base directive can change the current base URI for relative IRIrefs in the language that are used sequentially later in the document.</dd>
+ <dd>The TriG base directive can change the current base URI
+ for relative IRIrefs in the language that are used sequentially
+ later in the document.</dd>
<dt>Macintosh file type code(s):</dt>
<dd>"TEXT"</dd>
<dt>Person & email address to contact for further information:</dt>
@@ -1483,18 +1421,32 @@
<dd>The TriG specification is the product of the <abbr title="Resource Description Framework">RDF</abbr> WG. The <abbr title="World Wide Web Consortium">W3C</abbr> reserves change control over this specifications.</dd>
</dl>
</section>
-
-</section><section id="references" class="appendix" typeof="bibo:Chapter" resource="#references" rel="bibo:chapter"><!--OddPage--><h2 aria-level="1" role="heading" id="h2_references"><span class="secno">A. </span>References</h2><section id="normative-references" typeof="bibo:Chapter" resource="#normative-references" rel="bibo:chapter"><h3 aria-level="2" role="heading" id="h3_normative-references"><span class="secno">A.1 </span>Normative references</h3><dl class="bibliography" about=""><dt id="bib-BCP47">[BCP47]</dt><dd rel="dcterms:requires">A. Phillips; M. Davis. <a href="http://tools.ietf.org/html/bcp47"><cite>Tags for Identifying Languages</cite></a>. September 2009. IETF Best Current Practice. URL: <a href="http://tools.ietf.org/html/bcp47">http://tools.ietf.org/html/bcp47</a>
+
+ <section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="sec-changes" class="appendix">
+ <!--OddPage--><h2 id="h2_sec-changes" role="heading" aria-level="1"><span class="secno">C. </span>Changes since the last publication of this document</h2>
+ <ul>
+ <li>The "Features at risk" (uses of <code>GRAPH</code>, default
+ graph triple with enclosing
+ <code>{</code>...<code>}</code>)
+ have been accepted by the Working Group and been incorporated into
+ the document.
+ </li>
+ </ul>
+ </section>
+
+
+
+
+<section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="references" class="appendix"><!--OddPage--><h2 id="h2_references" role="heading" aria-level="1"><span class="secno">D. </span>References</h2><section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="normative-references"><h3 id="h3_normative-references" role="heading" aria-level="2"><span class="secno">D.1 </span>Normative references</h3><dl about="" class="bibliography"><dt id="bib-BCP47">[BCP47]</dt><dd rel="dcterms:requires">A. Phillips; M. Davis. <a href="http://tools.ietf.org/html/bcp47"><cite>Tags for Identifying Languages</cite></a>. September 2009. IETF Best Current Practice. URL: <a href="http://tools.ietf.org/html/bcp47">http://tools.ietf.org/html/bcp47</a>
</dd><dt id="bib-EBNF-NOTATION">[EBNF-NOTATION]</dt><dd rel="dcterms:requires">Tim Bray; Jean Paoli; C. M. Sperberg-McQueen; Eve Maler; François Yergeau. <a href="http://www.w3.org/TR/REC-xml/#sec-notation"><cite>EBNF Notation</cite></a> 26 November 2008. W3C Recommendation. URL: <a href="http://www.w3.org/TR/REC-xml/#sec-notation">http://www.w3.org/TR/REC-xml/#sec-notation</a>
-</dd><dt id="bib-RDF-CONCEPTS">[RDF-CONCEPTS]</dt><dd rel="dcterms:requires">Graham Klyne; Jeremy Carroll. <a href="http://www.w3.org/TR/rdf-concepts/"><cite>Resource Description Framework (RDF): Concepts and Abstract Syntax</cite></a>. 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/rdf-concepts/">http://www.w3.org/TR/rdf-concepts/</a>
+</dd><dt id="bib-RDF11-CONCEPTS">[RDF11-CONCEPTS]</dt><dd rel="dcterms:requires">Richard Cyganiak, David Wood, Markus Lanthaler, Editors. <cite><a href="http://www.w3.org/TR/2013/CR-rdf11-concepts-20131105/">RDF 1.1 Concepts and Abstract Syntax.</a></cite> 5 November 2013. W3C Candidate Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2013/CR-rdf11-concepts-20131105/">http://www.w3.org/TR/2013/CR-rdf11-concepts-20131105/</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 rel="dcterms:requires">S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key words for use in RFCs to Indicate Requirement Levels.</cite></a> March 1997. Internet RFC 2119. URL: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>
</dd><dt id="bib-RFC3023">[RFC3023]</dt><dd rel="dcterms:requires">M. Murata; S. St.Laurent; D. Kohn. <a href="http://www.ietf.org/rfc/rfc3023.txt"><cite>XML Media Types (RFC 3023)</cite></a>. January 2001. RFC. URL: <a href="http://www.ietf.org/rfc/rfc3023.txt">http://www.ietf.org/rfc/rfc3023.txt</a>
</dd><dt id="bib-RFC3986">[RFC3986]</dt><dd rel="dcterms:requires">T. Berners-Lee; R. Fielding; L. Masinter. <a href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource Identifier (URI): Generic Syntax (RFC 3986)</cite></a>. January 2005. RFC. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a>
</dd><dt id="bib-RFC3987">[RFC3987]</dt><dd rel="dcterms:requires">M. Dürst; M. Suignard. <a href="http://www.ietf.org/rfc/rfc3987.txt"><cite>Internationalized Resource Identifiers (IRIs)</cite></a>. January 2005. RFC. URL: <a href="http://www.ietf.org/rfc/rfc3987.txt">http://www.ietf.org/rfc/rfc3987.txt</a>
+</dd><dt id="bib-TURTLE">[TURTLE]</dt><dd rel="dcterms:requires">Eric Prud'hommeaux, Gavin Carothers, Editors. <cite><a href="http://www.w3.org/TR/2013/CR-turtle-20130219/">RDF 1.1 Turtle: Terse RDF Triple Language.</a></cite> 19 February 2013. W3C Candidate Recommendation (work in progress). URL: <a href="http://www.w3.org/TR/2013/CR-turtle-20130219/">http://www.w3.org/TR/2013/CR-turtle-20130219/</a>. The latest edition is available at <a href="http://www.w3.org/TR/turtle/">http://www.w3.org/TR/turtle/</a>
</dd><dt id="bib-UNICODE">[UNICODE]</dt><dd rel="dcterms:requires"><a href="http://www.unicode.org/versions/latest/"><cite>The Unicode Standard</cite></a>. URL: <a href="http://www.unicode.org/versions/latest/">http://www.unicode.org/versions/latest/</a>
</dd><dt id="bib-UTF-8">[UTF-8]</dt><dd rel="dcterms:requires">F. Yergeau. <a href="http://www.ietf.org/rfc/rfc3629.txt"><cite>UTF-8, a transformation format of ISO 10646</cite></a>. IETF RFC 3629. November 2003. URL: <a href="http://www.ietf.org/rfc/rfc3629.txt">http://www.ietf.org/rfc/rfc3629.txt</a>
-</dd><dt id="bib-rdf11-concepts">[rdf11-concepts]</dt><dd rel="dcterms:requires">Richard Cyganiak; David Wood. <a href="http://www.w3.org/TR/rdf11-concepts/"><cite>RDF 1.1 Concepts and Abstract Syntax</cite></a>. 23 July 2013. W3C Last Call Working Draft. URL: <a href="http://www.w3.org/TR/rdf11-concepts/">http://www.w3.org/TR/rdf11-concepts/</a>
-</dd><dt id="bib-turtle">[turtle]</dt><dd rel="dcterms:requires">Eric Prud'hommeaux; Gavin Carothers. <a href="http://www.w3.org/TR/turtle/"><cite>Turtle</cite></a>. 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" typeof="bibo:Chapter" resource="#informative-references" rel="bibo:chapter"><h3 aria-level="2" role="heading" id="h3_informative-references"><span class="secno">A.2 </span>Informative references</h3><dl class="bibliography" about=""><dt id="bib-RDF-SPARQL-QUERY">[RDF-SPARQL-QUERY]</dt><dd rel="dcterms:references">Eric Prud'hommeaux; Andy Seaborne. <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></dl></section><section rel="bibo:Chapter" resource="#ref" typeof="bibo:Chapter" id="informative-references"><h3 id="h3_informative-references" role="heading" aria-level="2"><span class="secno">D.2 </span>Informative references</h3><dl about="" class="bibliography"><dt id="bib-RDF-SPARQL-QUERY">[RDF-SPARQL-QUERY]</dt><dd rel="dcterms:references">Eric Prud'hommeaux; Andy Seaborne. <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-UNICODE-SECURITY">[UNICODE-SECURITY]</dt><dd rel="dcterms:references">Mark Davis; Michel Suignard. <a href="http://www.unicode.org/reports/tr36/"><cite>Unicode Security Considerations</cite></a>. URL: <a href="http://www.unicode.org/reports/tr36/">http://www.unicode.org/reports/tr36/</a>
</dd></dl></section></section></body></html>
\ No newline at end of file