drafts dir for pubrules checking / versions or webreq
authorGuus Schreiber <guus.schreiber@vu.nl>
Sun, 31 Mar 2013 23:55:51 +0200
changeset 702 e6c6fca511e7
parent 701 5cebc84984a7
child 703 5898f31f6e31
drafts dir for pubrules checking / versions or webreq
drafts/trig.html
drafts/trig_files/W3C-WD.css
drafts/trig_files/w3c_home.png
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/drafts/trig.html	Sun Mar 31 23:55:51 2013 +0200
@@ -0,0 +1,1322 @@
+<!--?xml version='1.0' encoding='UTF-8'?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" about="" property="dcterms:language" content="en" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bibo="http://purl.org/ontology/bibo/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" version="XHTML+RDFa 1.0" typeof="bibo:Document"><head>
+	<title>TriG</title>
+	<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
+	
+	
+	
+	<style type="text/css">
+/*****************************************************************
+ * ReSpec CSS
+ * Robin Berjon (robin at berjon dot com)
+ * v0.05 - 2009-07-31
+ *****************************************************************/
+
+
+/* --- INLINES --- */
+em.rfc2119 { 
+    text-transform:     lowercase;
+    font-variant:       small-caps;
+    font-style:         normal;
+    color:              #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+    border: none;
+}
+
+dfn {
+    font-weight:    bold;
+}
+
+a.internalDFN {
+    color:  inherit;
+    border-bottom:  1px solid #99c;
+    text-decoration:    none;
+}
+
+a.externalDFN {
+    color:  inherit;
+    border-bottom:  1px dotted #ccc;
+    text-decoration:    none;
+}
+
+a.bibref {
+    text-decoration:    none;
+}
+
+code {
+    color:  #ff4500;
+}
+
+
+/* --- WEB IDL --- */
+pre.idl {
+    border-top: 1px solid #90b8de;
+    border-bottom: 1px solid #90b8de;
+    padding:    1em;
+    line-height:    120%;
+}
+
+pre.idl::before {
+    content:    "WebIDL";
+    display:    block;
+    width:      150px;
+    background: #90b8de;
+    color:  #fff;
+    font-family:    initial;
+    padding:    3px;
+    font-weight:    bold;
+    margin: -1em 0 1em -1em;
+}
+
+.idlType {
+    color:  #ff4500;
+    font-weight:    bold;
+    text-decoration:    none;
+}
+
+/*.idlModule*/
+/*.idlModuleID*/
+/*.idlInterface*/
+.idlInterfaceID, .idlDictionaryID {
+    font-weight:    bold;
+    color:  #005a9c;
+}
+
+.idlSuperclass {
+    font-style: italic;
+    color:  #005a9c;
+}
+
+/*.idlAttribute*/
+.idlAttrType, .idlFieldType, .idlMemberType {
+    color:  #005a9c;
+}
+.idlAttrName, .idlFieldName, .idlMemberName {
+    color:  #ff4500;
+}
+.idlAttrName a, .idlFieldName a, .idlMemberName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlMethod*/
+.idlMethType {
+    color:  #005a9c;
+}
+.idlMethName {
+    color:  #ff4500;
+}
+.idlMethName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlParam*/
+.idlParamType {
+    color:  #005a9c;
+}
+.idlParamName {
+    font-style: italic;
+}
+
+.extAttr {
+    color:  #666;
+}
+
+/*.idlConst*/
+.idlConstType {
+    color:  #005a9c;
+}
+.idlConstName {
+    color:  #ff4500;
+}
+.idlConstName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlException*/
+.idlExceptionID {
+    font-weight:    bold;
+    color:  #c00;
+}
+
+.idlTypedefID, .idlTypedefType {
+    color:  #005a9c;
+}
+
+.idlRaises, .idlRaises a.idlType, .idlRaises a.idlType code, .excName a, .excName a code {
+    color:  #c00;
+    font-weight:    normal;
+}
+
+.excName a {
+    font-family:    monospace;
+}
+
+.idlRaises a.idlType, .excName a.idlType {
+    border-bottom:  1px dotted #c00;
+}
+
+.excGetSetTrue, .excGetSetFalse, .prmNullTrue, .prmNullFalse, .prmOptTrue, .prmOptFalse {
+    width:  45px;
+    text-align: center;
+}
+.excGetSetTrue, .prmNullTrue, .prmOptTrue { color:  #0c0; }
+.excGetSetFalse, .prmNullFalse, .prmOptFalse { color:  #c00; }
+
+.idlImplements a {
+    font-weight:    bold;
+}
+
+dl.attributes, dl.methods, dl.constants, dl.fields, dl.dictionary-members {
+    margin-left:    2em;
+}
+
+.attributes dt, .methods dt, .constants dt, .fields dt, .dictionary-members dt {
+    font-weight:    normal;
+}
+
+.attributes dt code, .methods dt code, .constants dt code, .fields dt code, .dictionary-members dt code {
+    font-weight:    bold;
+    color:  #000;
+    font-family:    monospace;
+}
+
+.attributes dt code, .fields dt code, .dictionary-members dt code {
+    background:  #ffffd2;
+}
+
+.attributes dt .idlAttrType code, .fields dt .idlFieldType code, .dictionary-members dt .idlMemberType code {
+    color:  #005a9c;
+    background:  transparent;
+    font-family:    inherit;
+    font-weight:    normal;
+    font-style: italic;
+}
+
+.methods dt code {
+    background:  #d9e6f8;
+}
+
+.constants dt code {
+    background:  #ddffd2;
+}
+
+.attributes dd, .methods dd, .constants dd, .fields dd, .dictionary-members dd {
+    margin-bottom:  1em;
+}
+
+table.parameters, table.exceptions {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    margin: 0.5em 0;
+    width:  100%;
+}
+table.parameters { border-bottom:  1px solid #90b8de; }
+table.exceptions { border-bottom:  1px solid #deb890; }
+
+.parameters th, .exceptions th {
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+    font-family:    initial;
+    font-weight:    normal;
+    text-shadow:    #666 1px 1px 0;
+}
+.parameters th { background: #90b8de; }
+.exceptions th { background: #deb890; }
+
+.parameters td, .exceptions td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+    vertical-align: top;
+}
+
+.parameters tr:first-child td, .exceptions tr:first-child td {
+    border-top: none;
+}
+
+.parameters td.prmName, .exceptions td.excName, .exceptions td.excCodeName {
+    width:  100px;
+}
+
+.parameters td.prmType {
+    width:  120px;
+}
+
+table.exceptions table {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    width:  100%;
+}
+
+/* --- TOC --- */
+.toc a {
+    text-decoration:    none;
+}
+
+a .secno {
+    color:  #000;
+}
+
+/* --- TABLE --- */
+table.simple {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    border-bottom:  3px solid #005a9c;
+}
+
+.simple th {
+    background: #005a9c;
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+}
+
+.simple th[scope="row"] {
+    background: inherit;
+    color:  inherit;
+    border-top: 1px solid #ddd;
+}
+
+.simple td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+    background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+    margin-top: 0;
+}
+
+.section dd > p:last-child {
+    margin-bottom: 0;
+}
+
+.section dd {
+    margin-bottom:  1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+    margin-bottom:  0;
+}
+
+/* --- EXAMPLES --- */
+pre.example {
+    border-top: 1px solid #ff4500;
+    border-bottom: 1px solid #ff4500;
+    padding:    1em;
+    margin-top: 1em;
+}
+
+pre.example::before {
+    content:    "Example";
+    display:    block;
+    width:      150px;
+    background: #ff4500;
+    color:  #fff;
+    font-family:    initial;
+    padding:    3px;
+    font-weight:    bold;
+    margin: -1em 0 1em -1em;
+}
+
+/* --- EDITORIAL NOTES --- */
+.issue {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #ffc;
+}
+
+.issue::before {
+    content:    "Issue";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.note {
+    margin: 1em 0em 0em;
+    padding:    1em;
+    border: 2px solid #cff6d9;
+    background: #e2fff0;
+}
+
+.note::before {
+    content:    "Note";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #cff6d9;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+/* --- Best Practices --- */
+div.practice {
+    border: solid #bebebe 1px;
+    margin: 2em 1em 1em 2em;
+}
+
+span.practicelab {
+    margin: 1.5em 0.5em 1em 1em;
+    font-weight: bold;
+    font-style: italic;
+}
+
+span.practicelab   { background: #dfffff; }
+
+span.practicelab {
+    position: relative;
+    padding: 0 0.5em;
+    top: -1.5em;
+}
+
+p.practicedesc {
+    margin: 1.5em 0.5em 1em 1em;
+}
+
[email protected] screen {
+    p.practicedesc {
+        position: relative;
+        top: -2em;
+        padding: 0;
+        margin: 1.5em 0.5em -1em 1em;
+    }
+}
+
+/* --- SYNTAX HIGHLIGHTING --- */
+pre.sh_sourceCode {
+  background-color: white;
+  color: black;
+  font-style: normal;
+  font-weight: normal;
+}
+
+pre.sh_sourceCode .sh_keyword { color: #005a9c; font-weight: bold; }           /* language keywords */
+pre.sh_sourceCode .sh_type { color: #666; }                            /* basic types */
+pre.sh_sourceCode .sh_usertype { color: teal; }                             /* user defined types */
+pre.sh_sourceCode .sh_string { color: red; font-family: monospace; }        /* strings and chars */
+pre.sh_sourceCode .sh_regexp { color: orange; font-family: monospace; }     /* regular expressions */
+pre.sh_sourceCode .sh_specialchar { color: 	#ffc0cb; font-family: monospace; }  /* e.g., \n, \t, \\ */
+pre.sh_sourceCode .sh_comment { color: #A52A2A; font-style: italic; }         /* comments */
+pre.sh_sourceCode .sh_number { color: purple; }                             /* literal numbers */
+pre.sh_sourceCode .sh_preproc { color: #00008B; font-weight: bold; }       /* e.g., #include, import */
+pre.sh_sourceCode .sh_symbol { color: blue; }                            /* e.g., *, + */
+pre.sh_sourceCode .sh_function { color: black; font-weight: bold; }         /* function calls and declarations */
+pre.sh_sourceCode .sh_cbracket { color: red; }                              /* block brackets (e.g., {, }) */
+pre.sh_sourceCode .sh_todo { font-weight: bold; background-color: #00FFFF; }   /* TODO and FIXME */
+
+/* Predefined variables and functions (for instance glsl) */
+pre.sh_sourceCode .sh_predef_var { color: #00008B; }
+pre.sh_sourceCode .sh_predef_func { color: #00008B; font-weight: bold; }
+
+/* for OOP */
+pre.sh_sourceCode .sh_classname { color: teal; }
+
+/* line numbers (not yet implemented) */
+pre.sh_sourceCode .sh_linenum { display: none; }
+
+/* Internet related */
+pre.sh_sourceCode .sh_url { color: blue; text-decoration: underline; font-family: monospace; }
+
+/* for ChangeLog and Log files */
+pre.sh_sourceCode .sh_date { color: blue; font-weight: bold; }
+pre.sh_sourceCode .sh_time, pre.sh_sourceCode .sh_file { color: #00008B; font-weight: bold; }
+pre.sh_sourceCode .sh_ip, pre.sh_sourceCode .sh_name { color: #006400; }
+
+/* for Prolog, Perl... */
+pre.sh_sourceCode .sh_variable { color: #006400; }
+
+/* for LaTeX */
+pre.sh_sourceCode .sh_italics { color: #006400; font-style: italic; }
+pre.sh_sourceCode .sh_bold { color: #006400; font-weight: bold; }
+pre.sh_sourceCode .sh_underline { color: #006400; text-decoration: underline; }
+pre.sh_sourceCode .sh_fixed { color: green; font-family: monospace; }
+pre.sh_sourceCode .sh_argument { color: #006400; }
+pre.sh_sourceCode .sh_optionalargument { color: purple; }
+pre.sh_sourceCode .sh_math { color: orange; }
+pre.sh_sourceCode .sh_bibtex { color: blue; }
+
+/* for diffs */
+pre.sh_sourceCode .sh_oldfile { color: orange; }
+pre.sh_sourceCode .sh_newfile { color: #006400; }
+pre.sh_sourceCode .sh_difflines { color: blue; }
+
+/* for css */
+pre.sh_sourceCode .sh_selector { color: purple; }
+pre.sh_sourceCode .sh_property { color: blue; }
+pre.sh_sourceCode .sh_value { color: #006400; font-style: italic; }
+
+/* other */
+pre.sh_sourceCode .sh_section { color: black; font-weight: bold; }
+pre.sh_sourceCode .sh_paren { color: red; }
+pre.sh_sourceCode .sh_attribute { color: #006400; }
+
+</style><link href="trig_files/W3C-WD.css" rel="stylesheet" type="text/css" charset="utf-8"></head>
+	<body style="display: inherit;"><div class="head"><p><a href="http://www.w3.org/"><img alt="W3C" src="trig_files/w3c_home.png" height="48" width="72"></a></p><h1 id="title" class="title" property="dcterms:title">TriG</h1><h2 id="subtitle" property="bibo:subtitle"><abbr title="Resource Description Framework">RDF</abbr> Dataset Language</h2><h2 content="2013-04-01T22:00:00+0000" datatype="xsd:dateTime" property="dcterms:issued" id="w3c-working-draft-02-april-2013"><acronym title="World Wide Web Consortium">W3C</acronym> Working Draft 02 April 2013</h2><dl><dt>This version:</dt><dd><a href="http://www.w3.org/TR/2013/WD-trig-20130402/">http://www.w3.org/TR/2013/WD-trig-20130402/</a></dd><dt>Latest published version:</dt><dd><a href="http://www.w3.org/TR/trig/">http://www.w3.org/TR/trig/</a></dd><dt>Latest editor's draft:</dt><dd><a href="http://dvcs.w3.org/hg/rdf/raw-file/default/trig/index.html">http://dvcs.w3.org/hg/rdf/raw-file/default/trig/index.html</a></dd><dt>Editor:</dt><dd rel="bibo:editor"><span typeof="foaf:Person"><a href="http://gavin.carothers.name/" content="Gavin Carothers" property="foaf:name" rel="foaf:homepage">Gavin Carothers</a>, <a href="https://lexmachina.com/" rel="foaf:workplaceHomepage">Lex Machina</a></span>
+</dd>
+<dt>Authors:</dt><dd rel="dcterms:contributor"><span typeof="foaf:Person"><a href="http://www.bizer.de/" content="Chris Bizer" property="foaf:name" rel="foaf:homepage">Chris Bizer</a>, <a href="http://www.fu-berlin.de/" rel="foaf:workplaceHomepage">Freie Universität Berlin</a></span>
+</dd>
+<dd rel="dcterms:contributor"><span typeof="foaf:Person"><a href="http://richard.cyganiak.de/" content="Richard Cyganiak" property="foaf:name" rel="foaf:homepage">Richard Cyganiak</a>, <a href="http://www.fu-berlin.de/" rel="foaf:workplaceHomepage">Freie Universität Berlin</a></span>
+</dd>
+</dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright" rel="license">Copyright</a> © 2010-2013 <span rel="dcterms:publisher"><span typeof="foaf:Organization"><a href="http://www.w3.org/" content="World Wide Web Consortium" property="foaf:name" rel="foaf:homepage"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup></span></span> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. <acronym title="World Wide Web Consortium">W3C</acronym> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p><hr></div>
+		<div id="abstract" class="introductory section" property="dcterms:abstract" datatype="" typeof="bibo:Chapter" resource="#abstract" rel="bibo:chapter"><h2>Abstract</h2>
+			<p>The Resource Description Framework
+			(<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> format.
+			</p>
+		</div><div class="introductory section" id="sotd" typeof="bibo:Chapter" resource="#sotd" rel="bibo:chapter"><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 <acronym title="World Wide Web Consortium">W3C</acronym> publications and the latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/"><acronym title="World Wide Web Consortium">W3C</acronym> technical reports index</a> at http://www.w3.org/TR/.</em></p>
+<p>This document is intended the meet the requirement stated in the charter
+<a href="http://www.w3.org/2011/rdf-wg/"><abbr title="Resource Description Framework">RDF</abbr> Working Group</a> to
+define a syntax for multiple graphs. The current document is based on
+the original proposal by Chris Bizer and Richard Cyganiak.</p> 
+                <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 First Public Working Draft. This document is intended to become a <acronym title="World Wide Web Consortium">W3C</acronym> Recommendation. If you wish to make comments regarding this document, please send them to <a href="mailto:[email protected]">[email protected]</a> (<a href="mailto:[email protected]?subject=subscribe">subscribe</a>, <a href="http://lists.w3.org/Archives/Public/public-rdf-comments/">archives</a>). All feedback is welcome.</p><p>Publication as a Working Draft does not imply endorsement by the <acronym title="World Wide Web Consortium">W3C</acronym>
+ 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 <acronym title="World Wide Web Consortium">W3C</acronym> Patent Policy</a>. <acronym title="World Wide Web Consortium">W3C</acronym> maintains a <a rel="disclosure" href="http://www.w3.org/2004/01/pp-impl/46168/status">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 <acronym title="World Wide Web Consortium">W3C</acronym> Patent Policy</a>.</p></div><div id="toc" typeof="bibo:Chapter" resource="#toc" rel="bibo:chapter" class="section"><h2 class="introductory">Table of Contents</h2><ul class="toc"><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>An Introduction to TriG</a><ul class="toc"><li class="tocline"><a href="#sec-graph-statements" class="tocxref"><span class="secno">2.1 </span>Graph Statements</a></li><li class="tocline"><a href="#other-terms" class="tocxref"><span class="secno">2.2 </span>Other Terms</a><ul class="toc"><li class="tocline"><a href="#terms-blanks-nodes" class="tocxref"><span class="secno">2.2.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></li><li class="tocline"><a href="#sec-differences" class="tocxref"><span class="secno">A </span>Differences from previous TriG</a></li><li class="tocline"><a href="#sec-mediaReg" class="tocxref"><span class="secno">B </span>Internet Media Type, File Extension and Macintosh File Type</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">C </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">C.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">C.2 </span>Informative references</a></li></ul></li></ul></div>
+
+	        
+
+		<div id="sec-intro" typeof="bibo:Chapter" resource="#sec-intro" rel="bibo:chapter" class="section">
+			<h2><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
+			<a href="https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html"><abbr title="Resource Description Framework">RDF</abbr> Concepts and Abstract Syntax</a> 
+			([<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-CONCEPTS">RDF-CONCEPTS</a></cite>]) <acronym title="World Wide Web Consortium">W3C</acronym> Recommendation. TriG is an extension of 
+			<a href="http://www.w3.org/TR/Turtle">Turtle</a> ([<cite><a class="bibref" rel="biblioentry" href="#bib-TURTLE-TR">TURTLE-TR</a></cite>]), extended 
+			to support representing a complete <abbr title="Resource Description Framework">RDF</abbr> Dataset.
+		</p></div>
+
+		<div class="informative section" id="sec-trig-intro" typeof="bibo:Chapter" resource="#sec-trig-intro" rel="bibo:chapter">
+			<h2><span class="secno">2 </span>An Introduction to TriG</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, 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 and a group of triple statements
+			surrounded by <code>{}</code>. The IRI of the graph statement may be
+			used in another graph statement which implies merging the tripes generated
+			by each graph statement, and may reoccur as part of any triple statement. 
+			Optionally one 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 class="sectionRef" href="#sec-grammar">section 4 TriG Grammar</a> and <a class="sectionRef" href="#sec-parsing">section 5 Parsing</a>.
+			</p>
+
+			<div id="sec-graph-statements" typeof="bibo:Chapter" resource="#sec-graph-statements" rel="bibo:chapter" class="section">
+				<h3><span class="secno">2.1 </span>Graph Statements</h3>
+				
+				<p>A graph statement pairs an IRI 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 <em class="rfc2119" title="may">may</em>
+ be used to label more then one graph. The IRI 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>
+
+				<p>A <abbr title="Resource Description Framework">RDF</abbr> Dataset may contain only a single graph.</p>
+				<pre class="example"><span># This document encodes one graph.
[email protected] ex: &lt;http://www.example.org/vocabulary#&gt; .
[email protected] : &lt;http://www.example.org/exampleDocument#&gt; .
+
+:G1 { :Monica a ex:Person ;
+              ex:name "Monica Murphy" ;      
+              ex:homepage &lt;http://www.monicamurphy.org&gt; ;
+              ex:email &lt;mailto:[email protected]&gt; ;
+              ex:hasSkill ex:Management ,
+                          ex:Programming . } 
+</span></pre>
+				<p>A <abbr title="Resource Description Framework">RDF</abbr> Dataset may contain a default graph, and named graphs.</p>
+				<pre class="example"><span># This document contains a default graph and two named graphs.
+
[email protected] rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; .
[email protected] dc: &lt;http://purl.org/dc/terms/&gt; .
[email protected] foaf: &lt;http://xmlns.com/foaf/0.1/&gt; .
+
+# default graph
+    { 
+      &lt;http://example.org/bob&gt; dc:publisher "Bob" . 
+      &lt;http://example.org/alice&gt; dc:publisher "Alice" .
+    }
+
+&lt;http://example.org/bob&gt; 
+    { 
+       _:a foaf:name "Bob" . 
+       _:a foaf:mbox &lt;mailto:[email protected]&gt; .
+    }
+ 
+&lt;http://example.org/alice&gt;
+    { 
+       _:a foaf:name "Alice" . 
+       _:a foaf:mbox &lt;mailto:[email protected]&gt; .
+    }				</span></pre>
+				<p class="issue">
+				A providence example
+				</p>
+				<p class="issue">A verisions example</p>
+				<p class="issue">A web snapshot example</p>
+			</div>
+			<div id="other-terms" typeof="bibo:Chapter" resource="#other-terms" rel="bibo:chapter" class="section">
+				<h3><span class="secno">2.2 </span>Other Terms</h3>
+				<p>All other terms and directives come from Turtle.</p>
+				<div id="terms-blanks-nodes" typeof="bibo:Chapter" resource="#terms-blanks-nodes" rel="bibo:chapter" class="section">
+					<h4><span class="secno">2.2.1 </span>Special Considerations for Blank Nodes</h4>
+					<p>BlankNodes sharing the same label in differently labeled graph statements <em class="rfc2119" title="must">must</em> be considered to be the same BlankNode.</p>
+				</div>
+			</div>
+		</div>
+        <div id="conformance" typeof="bibo:Chapter" resource="#conformance" rel="bibo:chapter" class="section"><h2><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" rel="biblioentry" href="#bib-RFC2119">RFC2119</a></cite>].</p>
+
+        	<p>This specification defines conformance criteria for:</p>
+        			<ul>
+        				<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 class="sectionRef" href="#sec-grammar">section 4 TriG Grammar</a>, starting with the <a href="#grammar-production-turtleDoc"><code>turtleDoc</code> production</a>. A Turtle 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 class="sectionRef" href="#sec-parsing">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 class="note">This specification does not define how TriG parsers handle non-conforming input documents.</p>
+	        <div id="sec-mime" typeof="bibo:Chapter" resource="#sec-mime" rel="bibo:chapter" class="section">
+	          <h3><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. 
+	          </p>
+	        </div>
+        </div>
+
+		<div id="sec-grammar" typeof="bibo:Chapter" resource="#sec-grammar" rel="bibo:chapter" class="section">
+			<h2><span class="secno">4 </span>TriG Grammar</h2>
+          <p>A TriG document is a
+          Unicode[<cite><a class="bibref" rel="biblioentry" href="#bib-UNICODE">UNICODE</a></cite>]
+          character string encoded in UTF-8.
+          Unicode characters only in the range U+0000 to U+10FFFF inclusive are
+          allowed.
+          </p>
+          <div id="sec-grammar-ws" typeof="bibo:Chapter" resource="#sec-grammar-ws" rel="bibo:chapter" class="section">
+            <h3><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>
+          </div>
+          <div id="sec-grammar-comments" typeof="bibo:Chapter" resource="#sec-grammar-comments" rel="bibo:chapter" class="section">
+            <h3><span class="secno">4.2 </span>Comments</h3>
+
+            <p>Comments in TriG take the form of '#', outside an
+            <a href="#grammar-production-IRIREF">IRIREF</a> or <a href="#grammar-production-String">String</a>,
+            and continue to the end of line (marked by characters U+000D or U+000A)
+            or end of file if there is no end of line after the comment
+            marker.  Comments are treated as white space.
+
+            </p>
+          </div>
+          <div id="sec-iri-references" typeof="bibo:Chapter" resource="#sec-iri-references" rel="bibo:chapter" class="section">
+          	<h3><span class="secno">4.3 </span>IRI References</h3>
+  					<p>
+					  Relative IRIs are resolved with base IRIs as per <a class="norm" href="http://www.ietf.org/rfc/rfc3986.txt">Uniform Resource Identifier (URI): Generic Syntax</a> [<a href="#rfc3986">RFC3986</a>]
+ 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 class="norm" href="http://www.ietf.org/rfc/rfc3987.txt">Internationalized Resource Identifiers (IRIs)</a> [<a href="#rfc3987">RFC3987</a>].
+					</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".
+					  Section 5.1.2, "Base URI from the Encapsulating Entity" defines 
+how the In-Scope Base IRI may come from an encapsulating document, such 
+as a SOAP envelope with an xml:base directive or a mime multipart 
+document with a Content-Location header.
+					  The "Retrieval URI" identified in 5.1.3, Base "URI from the 
+Retrieval URI", is the URL from which a particular Turtle document was 
+retrieved.
+					  If none of the above specifies the Base URI, the default Base URI
+ (section 5.1.4, "Default Base URI") is used.
+					  Each <code>@base</code> directive sets a new In-Scope Base URI, relative to the previous one.
+					</p>
+			</div>
+
+          <div id="sec-escapes" typeof="bibo:Chapter" resource="#sec-escapes" rel="bibo:chapter" class="section">
+            <h3><span class="secno">4.4 </span>Escape Sequences</h3>
+
+	    <p>
+	      There are three forms of escapes used in TriG documents:
+	    </p>
+
+	    <ul>
+	      <li>
+		<p>
+		  <em id="numeric">numeric escape sequences</em> represent Unicode code points:
+		</p>
+
+		<table>
+		  <thead>
+		    <tr>
+		      <th>Escape sequence</th>
+
+		      <th>Unicode code point</th>
+
+		    </tr>
+		  </thead>
+		  <tbody>
+
+		    <tr>
+		      <td>'\u' <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a> <a href="#rHEX">hex</a></td>
+		      <td>A Unicode character in the range U+0000 to U+FFFF inclusive
+		      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>
+
+		      <td>A Unicode character in the range U+0000 to U+10FFFF 
+inclusive
+		      corresponding to the value encoded by the eight hexadecimal 
+digits interpreted from most significant to least significant digit.</td>
+		    </tr>
+
+		  </tbody>
+		</table>
+
+		<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> 
+		  ::= [0-9] | [A-F] | [a-f]</span></p>
+
+		</blockquote>
+	      </li>
+
+	      <li>
+		<p>
+		  <em id="string">string escape sequences</em> represent the characters traditionally escaped in string literals:
+		</p>
+
+		<table>
+		  <thead>
+		    <tr>
+		      <th>Escape sequence</th>
+
+		      <th>Unicode code point</th>
+
+		    </tr>
+		  </thead>
+		  <tbody>
+
+		    <tr>
+		      <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>
+
+		      <td>U+005C</td>
+		    </tr>
+
+		  </tbody>
+		</table>
+	      </li>
+
+	      <li>
+		<p>
+		  <em id="reserved">reserved character escape sequences</em> consist of a '\' followed by one of <code>~.-!$&amp;'()*+,;=/?#@%_</code> and represent the character to the right of the '\'.
+		</p>
+	      </li>
+
+	    </ul>
+
+	    <table class="separated" id="term2escape">
+		  <caption>Context where each kind of escape sequence can be used</caption>
+	      <thead>
+		<tr>
+		  <th></th>
+		  <th><a href="#numeric">numeric<br>escapes</a></th>
+		  <th><a href="#string">string<br>escapes</a></th>
+		  <th><a href="#reserved">reserved character<br>escapes</a></th>
+		</tr>
+	      </thead>
+	      <tbody>
+		<tr>
+		  <td class="r"><span style="font-weight:bold;">IRI</span>s, used as <a href="#grammar-production-IRIref"><abbr title="Resource Description Framework">RDF</abbr> terms</a> or as in <a href="#grammar-production-prefixID">@prefix</a> or <a href="#grammar-production-base">@base</a> declarations</td>
+		  <td style="background-color: green; border:1px solid black;">yes</td>
+		  <td>no</td>
+		  <td>no</td>
+		</tr>
+		<tr>
+		  <td class="r"><a href="#grammar-production-PN_LOCAL"><span style="font-weight:bold;">local name</span>s</a></td>
+		  <td>no</td>
+		  <td>no</td>
+		  <td style="background-color: green; border:1px solid black;">yes</td>
+		</tr>
+		<tr>
+		  <td class="r"><span style="font-weight:bold;">String</span>s</td>
+		  <td style="background-color: green; border:1px solid black;">yes</td>
+		  <td style="background-color: green; border:1px solid black;">yes</td>
+		  <td>no</td>
+		</tr>
+	      </tbody>
+	    </table>
+	    <p class="note">%-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>&lt;http://a.example/%66oo-bar&gt;</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: &lt;http://a.example/&gt;</code> also designates the IRI <code>http://a.example/%66oo-bar</code>.</p>
+
+          </div>
+			<div id="grammar-ebnf" typeof="bibo:Chapter" resource="#grammar-ebnf" rel="bibo:chapter" class="section">
+				<h3><span class="secno">4.5 </span>Grammar</h3>
+            <p>The <abbr title="Extended Backus–Naur Form">EBNF</abbr> used here is defined in XML 1.0
+            [<cite><a class="bibref" rel="biblioentry" 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 Turtle grammar [<cite><a class="bibref" rel="biblioentry" href="#bib-TURTLE-TR">TURTLE-TR</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" rel="biblioentry" href="#bib-RDF-SPARQL-QUERY">RDF-SPARQL-QUERY</a></cite>].
+            </p>
+            	<div><table class="grammar">
+    <tbody class="grammar-productions">
+            <tr data-grammar-expression="('*', ('id', 'graph_statement'))" data-grammar-original="[1g] trigDoc ::= (graph_statement)*" id="grammar-production-trigDoc">
+    <td>[1g]</td>
+    <td><code>trigDoc</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-graph_statement">graph_statement</a><code class="grammar-star">*</code></td>
+</tr>
+            <tr data-grammar-expression="('|', [('id', 'directive'), ('id', 'graph')])" data-grammar-original="[2g] graph_statement ::= directive| graph" id="grammar-production-graph_statement">
+    <td>[2g]</td>
+    <td><code>graph_statement</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-directive">directive</a> <code>| </code> <a href="#grammar-production-graph">graph</a></td>
+</tr>
+            <tr data-grammar-expression="(',', [('?', ('id', 'graphIri')), (&quot;'&quot;, '{'), ('*', (',', [('id', 'triples'), (&quot;'&quot;, '.')])), (&quot;'&quot;, '}')])" data-grammar-original="[3g] graph ::= graphIri? &quot;{&quot; (triples &quot;.&quot;)* &quot;}&quot;" id="grammar-production-graph">
+    <td>[3g]</td>
+    <td><code>graph</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-graphIri">graphIri</a>? '<code class="grammar-literal">{</code>' (<a href="#grammar-production-triples">triples</a> '<code class="grammar-literal">.</code>')<code class="grammar-star">*</code> '<code class="grammar-literal">}</code>'</td>
+</tr>
+            <tr data-grammar-expression="('id', 'iri')" data-grammar-original="[4g] graphIri ::= iri" id="grammar-production-graphIri">
+    <td>[4g]</td>
+    <td><code>graphIri</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-iri">iri</a></td>
+</tr>
+            <tr data-grammar-expression="('|', [('id', 'prefixID'), ('id', 'base'), ('id', 'sparqlPrefix'), ('id', 'sparqlBase')])" data-grammar-original="[3] directive ::= prefixID| base | sparqlPrefix | sparqlBase" id="grammar-production-directive">
+    <td>[3]</td>
+    <td><code>directive</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-prefixID">prefixID</a> <code>| </code> <a href="#grammar-production-base">base</a> <code>| </code> <a href="#grammar-production-sparqlPrefix">sparqlPrefix</a> <code>| </code> <a href="#grammar-production-sparqlBase">sparqlBase</a></td>
+</tr>
+            <tr data-grammar-expression="(',', [(&quot;'&quot;, '@prefix'), ('id', 'PNAME_NS'), ('id', 'IRIREF'), (&quot;'&quot;, '.')])" data-grammar-original="[4] prefixID ::= '@prefix' PNAME_NS IRIREF &quot;.&quot;" id="grammar-production-prefixID">
+    <td>[4]</td>
+    <td><code>prefixID</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">@prefix</code>' <a href="#grammar-production-PNAME_NS">PNAME_NS</a> <a href="#grammar-production-IRIREF">IRIREF</a> '<code class="grammar-literal">.</code>'</td>
+</tr>
+            <tr data-grammar-expression="(',', [(&quot;'&quot;, '@base'), ('id', 'IRIREF'), (&quot;'&quot;, '.')])" data-grammar-original="[5] base ::= '@base' IRIREF &quot;.&quot;" id="grammar-production-base">
+    <td>[5]</td>
+    <td><code>base</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">@base</code>' <a href="#grammar-production-IRIREF">IRIREF</a> '<code class="grammar-literal">.</code>'</td>
+</tr>
+            <tr data-grammar-expression="(',', [('[', 'Pp'), ('[', 'Rr'), ('[', 'Ee'), ('[', 'Ff'), ('[', 'Ii'), ('[', 'Xx'), ('id', 'PNAME_NS'), ('id', 'IRIREF')])" data-grammar-original="[28*] sparqlPrefix ::= [Pp][Rr][Ee][Ff][Ii][Xx] PNAME_NS IRIREF" id="grammar-production-sparqlPrefix">
+    <td>[28*]</td>
+    <td><code>sparqlPrefix</code></td>
+    <td>::=</td>
+    <td>[<code class="grammar-chars">Pp</code>] [<code class="grammar-chars">Rr</code>] [<code class="grammar-chars">Ee</code>] [<code class="grammar-chars">Ff</code>] [<code class="grammar-chars">Ii</code>] [<code class="grammar-chars">Xx</code>] <a href="#grammar-production-PNAME_NS">PNAME_NS</a> <a href="#grammar-production-IRIREF">IRIREF</a></td>
+</tr>
+            <tr data-grammar-expression="(',', [('[', 'Bb'), ('[', 'Aa'), ('[', 'Ss'), ('[', 'Ee'), ('id', 'IRIREF')])" data-grammar-original="[29*] sparqlBase ::= [Bb][Aa][Ss][Ee] IRIREF" id="grammar-production-sparqlBase">
+    <td>[29*]</td>
+    <td><code>sparqlBase</code></td>
+    <td>::=</td>
+    <td>[<code class="grammar-chars">Bb</code>] [<code class="grammar-chars">Aa</code>] [<code class="grammar-chars">Ss</code>] [<code class="grammar-chars">Ee</code>] <a href="#grammar-production-IRIREF">IRIREF</a></td>
+</tr>
+            <tr data-grammar-expression="('|', [(',', [('id', 'subject'), ('id', 'predicateObjectList')]), (',', [('id', 'blankNodePropertyList'), ('?', ('id', 'predicateObjectList'))])])" data-grammar-original="[6] triples ::= subject predicateObjectList |blankNodePropertyList predicateObjectList?" id="grammar-production-triples">
+    <td>[6]</td>
+    <td><code>triples</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-subject">subject</a> <a href="#grammar-production-predicateObjectList">predicateObjectList</a> <code>| </code> <a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a> <a href="#grammar-production-predicateObjectList">predicateObjectList</a>?</td>
+</tr>
+            <tr data-grammar-expression="(',', [('id', 'verb'), ('id', 'objectList'), ('*', (',', [(&quot;'&quot;, ';'), ('?', (',', [('id', 'verb'), ('id', 'objectList')]))]))])" data-grammar-original="[7] predicateObjectList ::= verb objectList (';' (verb objectList)? )*" id="grammar-production-predicateObjectList">
+    <td>[7]</td>
+    <td><code>predicateObjectList</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-verb">verb</a> <a href="#grammar-production-objectList">objectList</a> ('<code class="grammar-literal">;</code>' (<a href="#grammar-production-verb">verb</a> <a href="#grammar-production-objectList">objectList</a>)?)<code class="grammar-star">*</code></td>
+</tr>
+            <tr data-grammar-expression="(',', [('id', 'object'), ('*', (',', [(&quot;'&quot;, ','), ('id', 'object')]))])" data-grammar-original="[8] objectList ::= object ( &quot;,&quot; object )*" id="grammar-production-objectList">
+    <td>[8]</td>
+    <td><code>objectList</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-object">object</a> ('<code class="grammar-literal">,</code>' <a href="#grammar-production-object">object</a>)<code class="grammar-star">*</code></td>
+</tr>
+            <tr data-grammar-expression="('|', [('id', 'predicate'), (&quot;'&quot;, 'a')])" data-grammar-original="[9] verb ::= predicate| &quot;a&quot;" id="grammar-production-verb">
+    <td>[9]</td>
+    <td><code>verb</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-predicate">predicate</a> <code>| </code> '<code class="grammar-literal">a</code>'</td>
+</tr>
+            <tr data-grammar-expression="('|', [('id', 'iri'), ('id', 'blank')])" data-grammar-original="[10] subject ::= iri| blank" id="grammar-production-subject">
+    <td>[10]</td>
+    <td><code>subject</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-iri">iri</a> <code>| </code> <a href="#grammar-production-blank">blank</a></td>
+</tr>
+            <tr data-grammar-expression="('id', 'iri')" data-grammar-original="[11] predicate ::= iri" id="grammar-production-predicate">
+    <td>[11]</td>
+    <td><code>predicate</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-iri">iri</a></td>
+</tr>
+            <tr data-grammar-expression="('|', [('id', 'iri'), ('id', 'blank'), ('id', 'blankNodePropertyList'), ('id', 'literal')])" data-grammar-original="[12] object ::= iri| blank| blankNodePropertyList| literal" id="grammar-production-object">
+    <td>[12]</td>
+    <td><code>object</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-iri">iri</a> <code>| </code> <a href="#grammar-production-blank">blank</a> <code>| </code> <a href="#grammar-production-blankNodePropertyList">blankNodePropertyList</a> <code>| </code> <a href="#grammar-production-literal">literal</a></td>
+</tr>
+            <tr data-grammar-expression="('|', [('id', 'RDFLiteral'), ('id', 'NumericLiteral'), ('id', 'BooleanLiteral')])" data-grammar-original="[13] literal ::= RDFLiteral| NumericLiteral| BooleanLiteral" id="grammar-production-literal">
+    <td>[13]</td>
+    <td><code>literal</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-RDFLiteral">RDFLiteral</a> <code>| </code> <a href="#grammar-production-NumericLiteral">NumericLiteral</a> <code>| </code> <a href="#grammar-production-BooleanLiteral">BooleanLiteral</a></td>
+</tr>
+            <tr data-grammar-expression="('|', [('id', 'BlankNode'), ('id', 'collection')])" data-grammar-original="[14] blank ::= BlankNode| collection" id="grammar-production-blank">
+    <td>[14]</td>
+    <td><code>blank</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-BlankNode">BlankNode</a> <code>| </code> <a href="#grammar-production-collection">collection</a></td>
+</tr>
+            <tr data-grammar-expression="(',', [(&quot;'&quot;, '['), ('id', 'predicateObjectList'), (&quot;'&quot;, ']')])" data-grammar-original="[15] blankNodePropertyList ::= &quot;[&quot; predicateObjectList &quot;]&quot;" id="grammar-production-blankNodePropertyList">
+    <td>[15]</td>
+    <td><code>blankNodePropertyList</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">[</code>' <a href="#grammar-production-predicateObjectList">predicateObjectList</a> '<code class="grammar-literal">]</code>'</td>
+</tr>
+            <tr data-grammar-expression="(',', [(&quot;'&quot;, '('), ('*', ('id', 'object')), (&quot;'&quot;, ')')])" data-grammar-original="[16] collection ::= &quot;(&quot; object* &quot;)&quot;" id="grammar-production-collection">
+    <td>[16]</td>
+    <td><code>collection</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">(</code>' <a href="#grammar-production-object">object</a><code class="grammar-star">*</code> '<code class="grammar-literal">)</code>'</td>
+</tr>
+            <tr data-grammar-expression="('|', [('id', 'INTEGER'), ('id', 'DECIMAL'), ('id', 'DOUBLE')])" data-grammar-original="[17] NumericLiteral ::= INTEGER | DECIMAL | DOUBLE" id="grammar-production-NumericLiteral">
+    <td>[17]</td>
+    <td><code>NumericLiteral</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-INTEGER">INTEGER</a> <code>| </code> <a href="#grammar-production-DECIMAL">DECIMAL</a> <code>| </code> <a href="#grammar-production-DOUBLE">DOUBLE</a></td>
+</tr>
+            <tr data-grammar-expression="(',', [('id', 'String'), ('?', ('|', [('id', 'LANGTAG'), (',', [(&quot;'&quot;, '^^'), ('id', 'iri')])]))])" data-grammar-original="[128s] RDFLiteral ::= String ( LANGTAG | ( &quot;^^&quot; iri ) )?" id="grammar-production-RDFLiteral">
+    <td>[128s]</td>
+    <td><code>RDFLiteral</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-String">String</a> (<a href="#grammar-production-LANGTAG">LANGTAG</a> <code>| </code> '<code class="grammar-literal">^^</code>' <a href="#grammar-production-iri">iri</a>)?</td>
+</tr>
+            <tr data-grammar-expression="('|', [(&quot;'&quot;, 'true'), (&quot;'&quot;, 'false')])" data-grammar-original="[133s] BooleanLiteral ::= &quot;true&quot;| &quot;false&quot;" id="grammar-production-BooleanLiteral">
+    <td>[133s]</td>
+    <td><code>BooleanLiteral</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">true</code>' <code>| </code> '<code class="grammar-literal">false</code>'</td>
+</tr>
+            <tr data-grammar-expression="('|', [('id', 'STRING_LITERAL_QUOTE'), ('id', 'STRING_LITERAL_SINGLE_QUOTE'), ('id', 'STRING_LITERAL_LONG_SINGLE_QUOTE'), ('id', 'STRING_LITERAL_LONG_QUOTE')])" data-grammar-original="[18] String ::= STRING_LITERAL_QUOTE| STRING_LITERAL_SINGLE_QUOTE| STRING_LITERAL_LONG_SINGLE_QUOTE| STRING_LITERAL_LONG_QUOTE" id="grammar-production-String">
+    <td>[18]</td>
+    <td><code>String</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-STRING_LITERAL_QUOTE">STRING_LITERAL_QUOTE</a> <code>| </code> <a href="#grammar-production-STRING_LITERAL_SINGLE_QUOTE">STRING_LITERAL_SINGLE_QUOTE</a> <code>| </code> <a href="#grammar-production-STRING_LITERAL_LONG_SINGLE_QUOTE">STRING_LITERAL_LONG_SINGLE_QUOTE</a> <code>| </code> <a href="#grammar-production-STRING_LITERAL_LONG_QUOTE">STRING_LITERAL_LONG_QUOTE</a></td>
+</tr>
+            <tr data-grammar-expression="('|', [('id', 'IRIREF'), ('id', 'PrefixedName')])" data-grammar-original="[135s] iri ::= IRIREF| PrefixedName" id="grammar-production-iri">
+    <td>[135s]</td>
+    <td><code>iri</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-IRIREF">IRIREF</a> <code>| </code> <a href="#grammar-production-PrefixedName">PrefixedName</a></td>
+</tr>
+            <tr data-grammar-expression="('|', [('id', 'PNAME_LN'), ('id', 'PNAME_NS')])" data-grammar-original="[136s] PrefixedName ::= PNAME_LN| PNAME_NS" id="grammar-production-PrefixedName">
+    <td>[136s]</td>
+    <td><code>PrefixedName</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-PNAME_LN">PNAME_LN</a> <code>| </code> <a href="#grammar-production-PNAME_NS">PNAME_NS</a></td>
+</tr>
+            <tr data-grammar-expression="('|', [('id', 'BLANK_NODE_LABEL'), ('id', 'ANON')])" data-grammar-original="[137s] BlankNode ::= BLANK_NODE_LABEL| ANON" id="grammar-production-BlankNode">
+    <td>[137s]</td>
+    <td><code>BlankNode</code></td>
+    <td>::=</td>
+    <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="5"><h4 id="terminals">Productions for terminals</h4></td></tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [(&quot;'&quot;, '&lt;'), ('*', ('|', [('[', '^#x00-#x20&lt;&gt;&quot;{}|^`\\'), ('id', 'UCHAR')])), (&quot;'&quot;, '&gt;')])" data-grammar-original="[19] IRIREF ::=  '&lt;' ([^#x00-#x20&lt;&gt;&quot;{}|^`\] | UCHAR)* '&gt;'" id="grammar-production-IRIREF">
+    <td>[19]</td>
+    <td><code>IRIREF</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">&lt;</code>' ([<code class="grammar-chars">^#x00-#x20&lt;&gt;"{}|^`\</code>] <code>| </code> <a href="#grammar-production-UCHAR">UCHAR</a>)<code class="grammar-star">*</code> '<code class="grammar-literal">&gt;</code>'</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [('?', ('id', 'PN_PREFIX')), (&quot;'&quot;, ':')])" data-grammar-original="[139s] PNAME_NS ::= PN_PREFIX? &quot;:&quot;" id="grammar-production-PNAME_NS">
+    <td>[139s]</td>
+    <td><code>PNAME_NS</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-PN_PREFIX">PN_PREFIX</a>? '<code class="grammar-literal">:</code>'</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [('id', 'PNAME_NS'), ('id', 'PN_LOCAL')])" data-grammar-original="[140s] PNAME_LN ::= PNAME_NS PN_LOCAL" id="grammar-production-PNAME_LN">
+    <td>[140s]</td>
+    <td><code>PNAME_LN</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-PNAME_NS">PNAME_NS</a> <a href="#grammar-production-PN_LOCAL">PN_LOCAL</a></td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [(&quot;'&quot;, '_:'), ('|', [('id', 'PN_CHARS_U'), ('[', '0-9')]), ('?', (',', [('*', ('|', [('id', 'PN_CHARS'), (&quot;'&quot;, '.')])), ('id', 'PN_CHARS')]))])" data-grammar-original="[141s] BLANK_NODE_LABEL ::= '_:' ( PN_CHARS_U | [0-9] ) ((PN_CHARS|'.')* PN_CHARS)?" id="grammar-production-BLANK_NODE_LABEL">
+    <td>[141s]</td>
+    <td><code>BLANK_NODE_LABEL</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">_:</code>' (<a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code>| </code> [<code class="grammar-chars">0-9</code>]) ((<a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>| </code> '<code class="grammar-literal">.</code>')<code class="grammar-star">*</code> <a href="#grammar-production-PN_CHARS">PN_CHARS</a>)?</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [(&quot;'&quot;, '@'), ('+', ('[', 'a-zA-Z')), ('*', (',', [(&quot;'&quot;, '-'), ('+', ('[', 'a-zA-Z0-9'))]))])" data-grammar-original="[144s] LANGTAG ::= &quot;@&quot; [a-zA-Z]+ ( &quot;-&quot; [a-zA-Z0-9]+ )*" id="grammar-production-LANGTAG">
+    <td>[144s]</td>
+    <td><code>LANGTAG</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">@</code>' [<code class="grammar-chars">a-zA-Z</code>]<code class="grammar-plus">+</code> ('<code class="grammar-literal">-</code>' [<code class="grammar-chars">a-zA-Z0-9</code>]<code class="grammar-plus">+</code>)<code class="grammar-star">*</code></td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [('?', ('[', '+-')), ('+', ('[', '0-9'))])" data-grammar-original="[20] INTEGER ::= [+-]? [0-9]+" id="grammar-production-INTEGER">
+    <td>[20]</td>
+    <td><code>INTEGER</code></td>
+    <td>::=</td>
+    <td>[<code class="grammar-chars">+-</code>]? [<code class="grammar-chars">0-9</code>]<code class="grammar-plus">+</code></td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [('?', ('[', '+-')), (',', [('*', ('[', '0-9')), (&quot;'&quot;, '.'), ('+', ('[', '0-9'))])])" data-grammar-original="[21] DECIMAL ::= [+-]?  ( ([0-9])* '.' ([0-9])+  )" id="grammar-production-DECIMAL">
+    <td>[21]</td>
+    <td><code>DECIMAL</code></td>
+    <td>::=</td>
+    <td>[<code class="grammar-chars">+-</code>]? ([<code class="grammar-chars">0-9</code>]<code class="grammar-star">*</code> '<code class="grammar-literal">.</code>' [<code class="grammar-chars">0-9</code>]<code class="grammar-plus">+</code>)</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [('?', ('[', '+-')), ('|', [(',', [('+', ('[', '0-9')), (&quot;'&quot;, '.'), ('*', ('[', '0-9')), ('id', 'EXPONENT')]), (',', [(&quot;'&quot;, '.'), ('+', ('[', '0-9')), ('id', 'EXPONENT')]), (',', [('+', ('[', '0-9')), ('id', 'EXPONENT')])])])" data-grammar-original="[22] DOUBLE ::= [+-]? ( [0-9]+ '.' [0-9]* EXPONENT | '.' ([0-9])+ EXPONENT | ([0-9])+EXPONENT )" id="grammar-production-DOUBLE">
+    <td>[22]</td>
+    <td><code>DOUBLE</code></td>
+    <td>::=</td>
+    <td>[<code class="grammar-chars">+-</code>]? ([<code class="grammar-chars">0-9</code>]<code class="grammar-plus">+</code> '<code class="grammar-literal">.</code>' [<code class="grammar-chars">0-9</code>]<code class="grammar-star">*</code> <a href="#grammar-production-EXPONENT">EXPONENT</a> <code>| </code> '<code class="grammar-literal">.</code>' [<code class="grammar-chars">0-9</code>]<code class="grammar-plus">+</code> <a href="#grammar-production-EXPONENT">EXPONENT</a> <code>| </code> [<code class="grammar-chars">0-9</code>]<code class="grammar-plus">+</code> <a href="#grammar-production-EXPONENT">EXPONENT</a>)</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [('[', 'eE'), ('?', ('[', '+-')), ('+', ('[', '0-9'))])" data-grammar-original="[154s] EXPONENT ::= [eE] [+-]? [0-9]+" id="grammar-production-EXPONENT">
+    <td>[154s]</td>
+    <td><code>EXPONENT</code></td>
+    <td>::=</td>
+    <td>[<code class="grammar-chars">eE</code>] [<code class="grammar-chars">+-</code>]? [<code class="grammar-chars">0-9</code>]<code class="grammar-plus">+</code></td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [(&quot;'&quot;, '&quot;'), ('*', ('|', [('[', '^#x22#x5C#xA#xD'), ('id', 'ECHAR'), ('id', 'UCHAR')])), (&quot;'&quot;, '&quot;')])" data-grammar-original="[23] STRING_LITERAL_QUOTE ::= '&quot;' ( [^#x22#x5C#xA#xD] | ECHAR | UCHAR )* '&quot;'" id="grammar-production-STRING_LITERAL_QUOTE">
+    <td>[23]</td>
+    <td><code>STRING_LITERAL_QUOTE</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">"</code>' ([<code class="grammar-chars">^#x22#x5C#xA#xD</code>] <code>| </code> <a href="#grammar-production-ECHAR">ECHAR</a> <code>| </code> <a href="#grammar-production-UCHAR">UCHAR</a>)<code class="grammar-star">*</code> '<code class="grammar-literal">"</code>'</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [(&quot;'&quot;, &quot;'&quot;), ('*', ('|', [('[', '^#x27#x5C#xA#xD'), ('id', 'ECHAR'), ('id', 'UCHAR')])), (&quot;'&quot;, &quot;'&quot;)])" data-grammar-original="[24] STRING_LITERAL_SINGLE_QUOTE ::= &quot;'&quot; ( [^#x27#x5C#xA#xD] | ECHAR | UCHAR )* &quot;'&quot;" id="grammar-production-STRING_LITERAL_SINGLE_QUOTE">
+    <td>[24]</td>
+    <td><code>STRING_LITERAL_SINGLE_QUOTE</code></td>
+    <td>::=</td>
+    <td>"<code class="grammar-literal">'</code>" ([<code class="grammar-chars">^#x27#x5C#xA#xD</code>] <code>| </code> <a href="#grammar-production-ECHAR">ECHAR</a> <code>| </code> <a href="#grammar-production-UCHAR">UCHAR</a>)<code class="grammar-star">*</code> "<code class="grammar-literal">'</code>"</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [(&quot;'&quot;, &quot;'''&quot;), ('*', (',', [('?', ('|', [(&quot;'&quot;, &quot;'&quot;), (&quot;'&quot;, &quot;''&quot;)])), ('|', [('[', &quot;^'\\&quot;), ('id', 'ECHAR'), ('id', 'UCHAR')])])), (&quot;'&quot;, &quot;'''&quot;)])" data-grammar-original="[25] STRING_LITERAL_LONG_SINGLE_QUOTE ::= &quot;'''&quot; ( ( &quot;'&quot; | &quot;''&quot; )? ( [^'\] | ECHAR | UCHAR ) )* &quot;'''&quot;" id="grammar-production-STRING_LITERAL_LONG_SINGLE_QUOTE">
+    <td>[25]</td>
+    <td><code>STRING_LITERAL_LONG_SINGLE_QUOTE</code></td>
+    <td>::=</td>
+    <td>"<code class="grammar-literal">'''</code>" (("<code class="grammar-literal">'</code>" <code>| </code> "<code class="grammar-literal">''</code>")? [<code class="grammar-chars">^'\</code>] <code>| </code> <a href="#grammar-production-ECHAR">ECHAR</a> <code>| </code> <a href="#grammar-production-UCHAR">UCHAR</a>)<code class="grammar-star">*</code> "<code class="grammar-literal">'''</code>"</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [(&quot;'&quot;, '&quot;&quot;&quot;'), ('*', (',', [('?', ('|', [(&quot;'&quot;, '&quot;'), (&quot;'&quot;, '&quot;&quot;')])), ('|', [('[', '^&quot;\\'), ('id', 'ECHAR'), ('id', 'UCHAR')])])), (&quot;'&quot;, '&quot;&quot;&quot;')])" data-grammar-original="[26] STRING_LITERAL_LONG_QUOTE ::= '&quot;&quot;&quot;' ( ( '&quot;' | '&quot;&quot;' )? ( [^&quot;\] | ECHAR | UCHAR ) )* '&quot;&quot;&quot;'" id="grammar-production-STRING_LITERAL_LONG_QUOTE">
+    <td>[26]</td>
+    <td><code>STRING_LITERAL_LONG_QUOTE</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">"""</code>' (('<code class="grammar-literal">"</code>' <code>| </code> '<code class="grammar-literal">""</code>')? [<code class="grammar-chars">^"\</code>] <code>| </code> <a href="#grammar-production-ECHAR">ECHAR</a> <code>| </code> <a href="#grammar-production-UCHAR">UCHAR</a>)<code class="grammar-star">*</code> '<code class="grammar-literal">"""</code>'</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="('|', [(',', [(&quot;'&quot;, '\\u'), ('id', 'HEX'), ('id', 'HEX'), ('id', 'HEX'), ('id', 'HEX')]), (',', [(&quot;'&quot;, '\\U'), ('id', 'HEX'), ('id', 'HEX'), ('id', 'HEX'), ('id', 'HEX'), ('id', 'HEX'), ('id', 'HEX'), ('id', 'HEX'), ('id', 'HEX')])])" data-grammar-original="[27] UCHAR ::= ( &quot;\u&quot; HEX HEX HEX HEX )| ( &quot;\U&quot; HEX HEX HEX HEX HEX HEX HEX HEX )" id="grammar-production-UCHAR">
+    <td>[27]</td>
+    <td><code>UCHAR</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">\u</code>' <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <code>| </code> '<code class="grammar-literal">\U</code>' <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a></td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [(&quot;'&quot;, '\\'), ('[', 'tbnrf\\&quot;\'')])" data-grammar-original="[159s] ECHAR ::= &quot;\&quot; [tbnrf\&quot;']" id="grammar-production-ECHAR">
+    <td>[159s]</td>
+    <td><code>ECHAR</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">\</code>' [<code class="grammar-chars">tbnrf\"'</code>]</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [(&quot;'&quot;, '('), ('*', ('id', 'WS')), (&quot;'&quot;, ')')])" data-grammar-original="[160s] NIL ::= &quot;(&quot; WS* &quot;)&quot;" id="grammar-production-NIL">
+    <td>[160s]</td>
+    <td><code>NIL</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">(</code>' <a href="#grammar-production-WS">WS</a><code class="grammar-star">*</code> '<code class="grammar-literal">)</code>'</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="('|', [('#', '#x20'), ('#', '#x9'), ('#', '#xD'), ('#', '#xA')])" data-grammar-original="[161s] WS ::= #x20 | #x9 | #xD | #xA" id="grammar-production-WS">
+    <td>[161s]</td>
+    <td><code>WS</code></td>
+    <td>::=</td>
+    <td><code class="grammar-char-escape">#x20</code> <code>| </code> <code class="grammar-char-escape">#x9</code> <code>| </code> <code class="grammar-char-escape">#xD</code> <code>| </code> <code class="grammar-char-escape">#xA</code></td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [(&quot;'&quot;, '['), ('*', ('id', 'WS')), (&quot;'&quot;, ']')])" data-grammar-original="[162s] ANON ::= &quot;[&quot; WS* &quot;]&quot;" id="grammar-production-ANON">
+    <td>[162s]</td>
+    <td><code>ANON</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">[</code>' <a href="#grammar-production-WS">WS</a><code class="grammar-star">*</code> '<code class="grammar-literal">]</code>'</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="('|', [('[', 'A-Z'), ('[', 'a-z'), ('[', '#00C0-#00D6'), ('[', '#00D8-#00F6'), ('[', '#00F8-#02FF'), ('[', '#0370-#037D'), ('[', '#037F-#1FFF'), ('[', '#200C-#200D'), ('[', '#2070-#218F'), ('[', '#2C00-#2FEF'), ('[', '#3001-#D7FF'), ('[', '#F900-#FDCF'), ('[', '#FDF0-#FFFD'), ('[', '#10000-#EFFFF')])" data-grammar-original="[163s] PN_CHARS_BASE ::= [A-Z]| [a-z]| [#00C0-#00D6]| [#00D8-#00F6]| [#00F8-#02FF]| [#0370-#037D]| [#037F-#1FFF]| [#200C-#200D]| [#2070-#218F]| [#2C00-#2FEF]| [#3001-#D7FF]| [#F900-#FDCF]| [#FDF0-#FFFD]| [#10000-#EFFFF]" id="grammar-production-PN_CHARS_BASE">
+    <td>[163s]</td>
+    <td><code>PN_CHARS_BASE</code></td>
+    <td>::=</td>
+    <td>[<code class="grammar-chars">A-Z</code>] <code>| </code> [<code class="grammar-chars">a-z</code>] <code>| </code> [<code class="grammar-chars">#00C0-#00D6</code>] <code>| </code> [<code class="grammar-chars">#00D8-#00F6</code>] <code>| </code> [<code class="grammar-chars">#00F8-#02FF</code>] <code>| </code> [<code class="grammar-chars">#0370-#037D</code>] <code>| </code> [<code class="grammar-chars">#037F-#1FFF</code>] <code>| </code> [<code class="grammar-chars">#200C-#200D</code>] <code>| </code> [<code class="grammar-chars">#2070-#218F</code>] <code>| </code> [<code class="grammar-chars">#2C00-#2FEF</code>] <code>| </code> [<code class="grammar-chars">#3001-#D7FF</code>] <code>| </code> [<code class="grammar-chars">#F900-#FDCF</code>] <code>| </code> [<code class="grammar-chars">#FDF0-#FFFD</code>] <code>| </code> [<code class="grammar-chars">#10000-#EFFFF</code>]</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="('|', [('id', 'PN_CHARS_BASE'), (&quot;'&quot;, '_')])" data-grammar-original="[164s] PN_CHARS_U  ::=  PN_CHARS_BASE| '_'" id="grammar-production-PN_CHARS_U">
+    <td>[164s]</td>
+    <td><code>PN_CHARS_U</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-PN_CHARS_BASE">PN_CHARS_BASE</a> <code>| </code> '<code class="grammar-literal">_</code>'</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="('|', [('id', 'PN_CHARS_U'), (&quot;'&quot;, '-'), ('[', '0-9'), ('#', '#00B7'), ('[', '#0300-#036F'), ('[', '#203F-#2040')])" data-grammar-original="[166s] PN_CHARS ::= PN_CHARS_U| &quot;-&quot;| [0-9]| #00B7| [#0300-#036F]| [#203F-#2040]" id="grammar-production-PN_CHARS">
+    <td>[166s]</td>
+    <td><code>PN_CHARS</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code>| </code> '<code class="grammar-literal">-</code>' <code>| </code> [<code class="grammar-chars">0-9</code>] <code>| </code> <code class="grammar-char-escape">#00B7</code> <code>| </code> [<code class="grammar-chars">#0300-#036F</code>] <code>| </code> [<code class="grammar-chars">#203F-#2040</code>]</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [('id', 'PN_CHARS_BASE'), ('?', (',', [('*', ('|', [('id', 'PN_CHARS'), (&quot;'&quot;, '.')])), ('id', 'PN_CHARS')]))])" data-grammar-original="[167s] PN_PREFIX ::= PN_CHARS_BASE ( ( PN_CHARS | &quot;.&quot; )* PN_CHARS )?" id="grammar-production-PN_PREFIX">
+    <td>[167s]</td>
+    <td><code>PN_PREFIX</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-PN_CHARS_BASE">PN_CHARS_BASE</a> ((<a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>| </code> '<code class="grammar-literal">.</code>')<code class="grammar-star">*</code> <a href="#grammar-production-PN_CHARS">PN_CHARS</a>)?</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [('|', [('id', 'PN_CHARS_U'), (&quot;'&quot;, ':'), ('[', '0-9'), ('id', 'PLX')]), ('?', (',', [('*', ('|', [('id', 'PN_CHARS'), (&quot;'&quot;, '.'), (&quot;'&quot;, ':'), ('id', 'PLX')])), ('|', [('id', 'PN_CHARS'), (&quot;'&quot;, ':'), ('id', 'PLX')])]))])" data-grammar-original="[168s] PN_LOCAL ::= ( PN_CHARS_U | ':' | [0-9] | PLX ) ( ( PN_CHARS | '.' | ':' | PLX )*  ( PN_CHARS | ':' | PLX ) ) ?" id="grammar-production-PN_LOCAL">
+    <td>[168s]</td>
+    <td><code>PN_LOCAL</code></td>
+    <td>::=</td>
+    <td>(<a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code>| </code> '<code class="grammar-literal">:</code>' <code>| </code> [<code class="grammar-chars">0-9</code>] <code>| </code> <a href="#grammar-production-PLX">PLX</a>) ((<a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>| </code> '<code class="grammar-literal">.</code>' <code>| </code> '<code class="grammar-literal">:</code>' <code>| </code> <a href="#grammar-production-PLX">PLX</a>)<code class="grammar-star">*</code> <a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>| </code> '<code class="grammar-literal">:</code>' <code>| </code> <a href="#grammar-production-PLX">PLX</a>)?</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="('|', [('id', 'PERCENT'), ('id', 'PN_LOCAL_ESC')])" data-grammar-original="[169s] PLX ::= PERCENT | PN_LOCAL_ESC" id="grammar-production-PLX">
+    <td>[169s]</td>
+    <td><code>PLX</code></td>
+    <td>::=</td>
+    <td><a href="#grammar-production-PERCENT">PERCENT</a> <code>| </code> <a href="#grammar-production-PN_LOCAL_ESC">PN_LOCAL_ESC</a></td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [(&quot;'&quot;, '%'), ('id', 'HEX'), ('id', 'HEX')])" data-grammar-original="[170s] PERCENT ::= '%' HEX HEX" id="grammar-production-PERCENT">
+    <td>[170s]</td>
+    <td><code>PERCENT</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">%</code>' <a href="#grammar-production-HEX">HEX</a> <a href="#grammar-production-HEX">HEX</a></td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="('|', [('[', '0-9'), ('[', 'A-F'), ('[', 'a-f')])" data-grammar-original="[171s] HEX ::= [0-9] | [A-F] | [a-f]" id="grammar-production-HEX">
+    <td>[171s]</td>
+    <td><code>HEX</code></td>
+    <td>::=</td>
+    <td>[<code class="grammar-chars">0-9</code>] <code>| </code> [<code class="grammar-chars">A-F</code>] <code>| </code> [<code class="grammar-chars">a-f</code>]</td>
+</tr>
+            <tr class="grammar-token" data-grammar-expression="(',', [(&quot;'&quot;, '\\'), ('|', [(&quot;'&quot;, '_'), (&quot;'&quot;, '~'), (&quot;'&quot;, '.'), (&quot;'&quot;, '-'), (&quot;'&quot;, '!'), (&quot;'&quot;, '$'), (&quot;'&quot;, '&amp;'), (&quot;'&quot;, &quot;'&quot;), (&quot;'&quot;, '('), (&quot;'&quot;, ')'), (&quot;'&quot;, '*'), (&quot;'&quot;, '+'), (&quot;'&quot;, ','), (&quot;'&quot;, ';'), (&quot;'&quot;, '='), (&quot;'&quot;, '/'), (&quot;'&quot;, '?'), (&quot;'&quot;, '#'), (&quot;'&quot;, '@'), (&quot;'&quot;, '%')])])" data-grammar-original="[172s] PN_LOCAL_ESC ::= '\' ( '_' | '~' | '.' | '-' | '!' | '$' | '&amp;' | &quot;'&quot; | '(' | ')' | '*' | '+' | ',' | ';' | '=' | '/' | '?' | '#' | '@' | '%' )" id="grammar-production-PN_LOCAL_ESC">
+    <td>[172s]</td>
+    <td><code>PN_LOCAL_ESC</code></td>
+    <td>::=</td>
+    <td>'<code class="grammar-literal">\</code>' ('<code class="grammar-literal">_</code>' <code>| </code> '<code class="grammar-literal">~</code>' <code>| </code> '<code class="grammar-literal">.</code>' <code>| </code> '<code class="grammar-literal">-</code>' <code>| </code> '<code class="grammar-literal">!</code>' <code>| </code> '<code class="grammar-literal">$</code>' <code>| </code> '<code class="grammar-literal">&amp;</code>' <code>| </code> "<code class="grammar-literal">'</code>" <code>| </code> '<code class="grammar-literal">(</code>' <code>| </code> '<code class="grammar-literal">)</code>' <code>| </code> '<code class="grammar-literal">*</code>' <code>| </code> '<code class="grammar-literal">+</code>' <code>| </code> '<code class="grammar-literal">,</code>' <code>| </code> '<code class="grammar-literal">;</code>' <code>| </code> '<code class="grammar-literal">=</code>' <code>| </code> '<code class="grammar-literal">/</code>' <code>| </code> '<code class="grammar-literal">?</code>' <code>| </code> '<code class="grammar-literal">#</code>' <code>| </code> '<code class="grammar-literal">@</code>' <code>| </code> '<code class="grammar-literal">%</code>')</td>
+</tr>
+</tbody></table>
+</div></div>
+		</div>
+		<div id="sec-parsing" typeof="bibo:Chapter" resource="#sec-parsing" rel="bibo:chapter" class="section">
+			<h2><span class="secno">5 </span>Parsing</h2>
+			<p class="issue">
+				Define a method of parsing that treats each graph statement as a 
+Turtle document. Merge any graph statements that have the same label, or
+ if they don't have a label merge to form the default graph.
+			</p>
+		</div>
+      <div class="appendix informative section" id="sec-differences" typeof="bibo:Chapter" resource="#sec-differences" rel="bibo:chapter">
+      	<h2><span class="secno">A </span>Differences from previous TriG</h2><p><em>This section is non-normative.</em></p>
+      	<ul>
+      		<li>No support for optional = graph naming operator or optional "." after each graph. N3 compatibility not supported.</li>
+      		<li>Graph labels do not have to be unique within a TriG document. Reused labels are merged.</li>
+      		<li>Multiple unnamed graphs in the same TriG document are merged</li>
+  		</ul>
+      </div>
+      <div class="appendix section" id="sec-mediaReg" typeof="bibo:Chapter" resource="#sec-mediaReg" rel="bibo:chapter">
+        <h2><span class="secno">B </span>Internet Media Type, File Extension and Macintosh File Type</h2>
+        <dl>
+          <dt>Contact:</dt>
+          <dd>Eric Prud'hommeaux</dd>
+          <dt>See also:</dt>
+
+          <dd><a href="http://www.w3.org/2002/06/registering-mediatype">How to Register a Media Type for a <acronym title="World Wide Web Consortium">W3C</acronym> Specification</a></dd>
+          <dd><a href="http://www.w3.org/2001/tag/2002/0129-mime">Internet Media Type registration, consistency of use</a><br>TAG Finding 3 June 2002 (Revised 4 September 2002)</dd>
+        </dl>
+        <p>The Internet Media Type / MIME Type for TriG is "application/trig".</p>
+        <p>It is recommended that TriG files have the extension ".trig" (all lowercase) on all platforms.</p>
+
+        <p>It is recommended that TriG files stored on Macintosh HFS file systems be given a file type of "TEXT".</p>
+        <p>This information that follows has been <a href="http://www.w3.org/mid/[email protected]">submitted to the IESG</a> for review, approval, and registration with IANA.</p>
+        <dl>
+          <dt>Type name:</dt>
+          <dd>application</dd>
+
+          <dt>Subtype name:</dt>
+          <dd>trig</dd>
+          <dt>Required parameters:</dt>
+          <dd>None</dd>
+          <dt>Optional parameters:</dt>
+          <dd>None</dd>
+
+          <dt>Encoding considerations:</dt>
+          <dd>The syntax of TriG is expressed over code points in Unicode [<cite><a class="bibref" rel="biblioentry" href="#bib-UNICODE">UNICODE</a></cite>]. The encoding is always UTF-8 [<cite><a class="bibref" rel="biblioentry" href="#bib-UTF-8">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" rel="biblioentry" 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 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 Turtle 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 
+Turtle 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" rel="biblioentry" href="#bib-RFC3023">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 href="http://www.ietf.org/rfc/rfc3987.txt" class="norm">Internationalized Resource Identifiers (IRIs)</a> [<cite><a class="bibref" rel="biblioentry" href="#bib-RFC3987">RFC3987</a></cite>] Section 8, as well as
+      <a href="http://www.ietf.org/rfc/rfc3986.txt" class="norm">Uniform Resource Identifier (URI): Generic Syntax</a> [<cite><a class="bibref" rel="biblioentry" href="#bib-RFC3986">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 
+    as LATIN SMALL LETTER E WITH ACUTE).
+    
+<!--  (<code>foo:resum&#40751;code> and <code>f&#1086;&#1086;:resume&#769;</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 href="http://www.unicode.org/reports/tr36/" class="inform">Unicode Security 
+    Considerations</a> [<cite><a class="bibref" rel="biblioentry" href="#bib-UNISEC">UNISEC</a></cite>] and
+    <a href="http://www.ietf.org/rfc/rfc3987.txt" class="norm">Internationalized Resource 
+    Identifiers (IRIs)</a> [<cite><a class="bibref" rel="biblioentry" href="#bib-RFC3987">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>
+          <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>
+          <dt>File extension(s):</dt>
+          <dd>".trig"</dd>
+
+          <dt>Base URI:</dt>
+          <dd>The TriG '@base &lt;IRIref&gt;' term can change the 
+current base URI for relative IRIrefs in the query language that are 
+used sequentially later in the document.</dd>
+          <dt>Macintosh file type code(s):</dt>
+          <dd>"TEXT"</dd>
+          <dt>Person &amp; email address to contact for further information:</dt>
+
+          <dd>Eric Prud'hommeaux &lt;[email protected]&gt;</dd>
+          <dt>Intended usage:</dt>
+          <dd>COMMON</dd>
+          <dt>Restrictions on usage:</dt>
+          <dd>None</dd>
+          <dt>Author/Change controller:</dt>
+
+          <dd>The TriG specification is the product of the <abbr title="Resource Description Framework">RDF</abbr> WG. The <acronym title="World Wide Web Consortium">W3C</acronym> reserves change control over this specifications.</dd>
+        </dl>
+      </div>
+	
+<div id="references" class="appendix section" typeof="bibo:Chapter" resource="#references" rel="bibo:chapter"><h2><span class="secno">C </span>References</h2><div id="normative-references" typeof="bibo:Chapter" resource="#normative-references" rel="bibo:chapter" class="section"><h3><span class="secno">C.1 </span>Normative references</h3><dl class="bibliography" about=""><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 J. Carroll. <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210"><cite>Resource Description Framework (RDF): Concepts and Abstract Syntax.</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210">http://www.w3.org/TR/2004/REC-rdf-concepts-20040210</a> 
+</dd><dt id="bib-RFC2119">[RFC2119]</dt><dd rel="dcterms:requires">S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key words for use in RFCs to Indicate Requirement Levels.</cite></a> March 1997. Internet RFC 2119.  URL: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a> 
+</dd><dt id="bib-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</cite></a> January 2001. Internet RFC 3023. 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.</cite></a> January 2005. Internet RFC 3986. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a> 
+</dd><dt id="bib-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. Internet RFC 3987. URL: <a href="http://www.ietf.org/rfc/rfc3987.txt">http://www.ietf.org/rfc/rfc3987.txt</a> 
+</dd><dt id="bib-TURTLE-TR">[TURTLE-TR]</dt><dd rel="dcterms:requires">Gavin Carothers; Eric Prud'hommeaux. <a href="http://www.w3.org/TR/2013/CR-turtle-20130219/"><cite>Turtle: Terse Triple Language</cite></a> 19 February 2013. W3C Candidate Recommendation. URL: <a href="http://www.w3.org/TR/2013/CR-turtle-20130219/">http://www.w3.org/TR/2013/CR-turtle-20130219/</a>
+</dd><dt id="bib-UNICODE">[UNICODE]</dt><dd rel="dcterms:requires">The Unicode Consortium. <a href="http://www.unicode.org/unicode/standard/versions/enumeratedversions.html"><cite>The Unicode Standard.</cite></a>.
+ Defined by: The Unicode Standard, Version 6.2.0, (Mountain View, CA: 
+The Unicode Consortium, 2012. ISBN 978-1-936213-07-8) , as updated from 
+time to time by the publication of new versions URL: <a href="http://www.unicode.org/unicode/standard/versions/enumeratedversions.html">http://www.unicode.org/unicode/standard/versions/enumeratedversions.html</a> 
+</dd><dt id="bib-UTF-8">[UTF-8]</dt><dd rel="dcterms:requires">F. Yergeau. <a href="http://www.ietf.org/rfc/rfc3629.txt"><cite>UTF-8, a transformation format of ISO 10646</cite></a>. IETF RFC 3629. November 2003. URL: <a href="http://www.ietf.org/rfc/rfc3629.txt">http://www.ietf.org/rfc/rfc3629.txt</a>
+</dd></dl></div><div id="informative-references" typeof="bibo:Chapter" resource="#informative-references" rel="bibo:chapter" class="section"><h3><span class="secno">C.2 </span>Informative references</h3><dl class="bibliography" about=""><dt id="bib-RDF-SPARQL-QUERY">[RDF-SPARQL-QUERY]</dt><dd rel="dcterms:references">Andy Seaborne; Eric Prud'hommeaux. <a href="http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115"><cite>SPARQL Query Language for RDF.</cite></a> 15 January 2008. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115">http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115</a> 
+</dd><dt id="bib-UNISEC">[UNISEC]</dt><dd rel="dcterms:references">Mark Davis; Michel Suignard. <a href="http://www.unicode.org/reports/tr36/"><cite>Unicode Security Considerations</cite></a> 4 August 2010. URL: <a href="http://www.unicode.org/reports/tr36/">http://www.unicode.org/reports/tr36/</a>
+</dd></dl></div></div></body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/drafts/trig_files/W3C-WD.css	Sun Mar 31 23:55:51 2013 +0200
@@ -0,0 +1,86 @@
+
+/* Style for a public "Working Draft" */
+
+/*
+   Copyright 1997-2003 W3C (MIT, ERCIM, Keio). All Rights Reserved.
+   The following software licensing rules apply:
+   http://www.w3.org/Consortium/Legal/copyright-software */
+
+/* $Id: base.css,v 1.27 2013-01-14 15:02:50 denis Exp $ */
+
+body {
+  padding: 2em 1em 2em 70px;
+  margin: 0;
+  font-family: sans-serif;
+  color: black;
+  background: white;
+  background-position: top left;
+  background-attachment: fixed;
+  background-repeat: no-repeat;
+}
+:link { color: #00C; background: transparent }
+:visited { color: #609; background: transparent }
+a:active { color: #C00; background: transparent }
+
+a:link img, a:visited img { border-style: none } /* no border on img links */
+
+a img { color: white; }        /* trick to hide the border in Netscape 4 */
[email protected] all {                   /* hide the next rule from Netscape 4 */
+  a img { color: inherit; }    /* undo the color change above */
+}
+
+th, td { /* ns 4 */
+  font-family: sans-serif;
+}
+
+h1, h2, h3, h4, h5, h6 { text-align: left }
+/* background should be transparent, but WebTV has a bug */
+h1, h2, h3 { color: #005A9C; background: white }
+h1 { font: 170% sans-serif }
+h2 { font: 140% sans-serif }
+h3 { font: 120% sans-serif }
+h4 { font: bold 100% sans-serif }
+h5 { font: italic 100% sans-serif }
+h6 { font: small-caps 100% sans-serif }
+
+.hide { display: none }
+
+div.head { margin-bottom: 1em }
+div.head h1 { margin-top: 2em; clear: both }
+div.head table { margin-left: 2em; margin-top: 2em }
+
+p.copyright { font-size: small }
+p.copyright small { font-size: small }
+
[email protected] screen {  /* hide from IE3 */
+a[href]:hover { background: #ffa }
+}
+
+pre { margin-left: 2em }
+/*
+p {
+  margin-top: 0.6em;
+  margin-bottom: 0.6em;
+}
+*/
+dt, dd { margin-top: 0; margin-bottom: 0 } /* opera 3.50 */
+dt { font-weight: bold }
+
+ul.toc, ol.toc {
+  list-style: disc;		/* Mac NS has problem with 'none' */
+  list-style: none;
+}
+
[email protected] aural {  
+  h1, h2, h3 { stress: 20; richness: 90 }
+  .hide { speak: none }
+  p.copyright { volume: x-soft; speech-rate: x-fast }
+  dt { pause-before: 63ms }
+  pre { speak-punctuation: code } 
+}
+
+
+
+body {
+  background-image: url(//www.w3.org/StyleSheets/TR/logo-WD);
+}
Binary file drafts/trig_files/w3c_home.png has changed