This document report test subject conformance for and related specifications for TriG [[TRIG]] according to the requirements of the Evaluation and Report Language (EARL) 1.0 Schema [[EARL10-SCHEMA]].
This report is also available in alternate formats: Turtle and JSON-LD
Tests should be run using the test manifests defined in the Test Manifests Section.
The assumed base URI for the tests is <http://example/base/>
if needed.
Reports should be submitted in Turtle format to public-rdf-comments@w3.org
and include an earl:Assertion
for each test, referencing the test resource from the associated manifest
and the test subject being reported upon. An example test entry is be the following:
[ a earl:Assertion;
earl:assertedBy <http://greggkellogg.net/foaf#me>;
earl:subject <http://rubygems.org/gems/rdf-turtle>;
earl:test <http://www.w3.org/2013/TurtleTests/manifest.ttl#turtle-syntax-file-01>;
earl:result [
a earl:TestResult;
earl:outcome earl:passed;
dc:date "2013-02-22T15:12:30-08:00"^^xsd:dateTime];
earl:mode earl:automatic ] .
The Test Subject should be defined as a doap:Project
, including the name,
homepage and developer(s) of the software (see [[DOAP]]). Optionally, including the
project description and programming language. An example test subject description is the following:
<> foaf:primaryTopic <http://rubygems.org/gems/rdf-trig>
dc:issued "2013-06-18T17:30:22-07:00"^^xsd:dateTime ;
foaf:maker <http://greggkellogg.net/foaf#me> .
<http://rubygems.org/gems/rdf-trig> a doap:Project, earl:TestSubject, earl:Software ;
doap:name "RDF::TriG" ;
doap:homepage <http://ruby-rdf.github.com/rdf-trig> ;
doap:license <http://creativecommons.org/licenses/publicdomain/> ;
doap:description "RDF::TriG is an TriG reader/writer for the RDF.rb library suite."@en ;
doap:created "2011-08-29"^^xsd:date ;
doap:programming-language "Ruby" ;
doap:implements <http://www.w3.org/TR/trig/> ;
doap:category <http://dbpedia.org/resource/Resource_Description_Framework>,
<http://dbpedia.org/resource/Ruby_(programming_language)> ;
doap:developer <http://greggkellogg.net/foaf#me> ;
dc:title "RDF::TriG" ;
dc:description "RDF::TriG is an TriG reader/writer for the RDF.rb library suite."@en ;
dc:date "2011-08-29"^^xsd:date ;
.
The software developer, either an organization or one or more individuals SHOULD be
referenced from doap:developer
using [[FOAF]]. For example:
<http://greggkellogg.net/foaf#me> a foaf:Person, earl:Assertor;
foaf:name "Gregg Kellogg";
foaf:title "Implementor";
foaf:homepage <http://greggkellogg.net/> .
See Turtle Test Suite Wiki for more information.
This report was tested using the following test subjects:
335/335 (100.0%) |
335/335 (100.0%) |
335/335 (100.0%) |
Individual test results used to construct this report are available here:
anonymous blank node graph
[] {<http://a.example/s> <http://a.example/p> <http://a.example/o> .}
<http://a.example/s> <http://a.example/p> <http://a.example/o> _:b1 .
labeled blank node graph
_:g {<http://a.example/s> <http://a.example/p> <http://a.example/o> .}
<http://a.example/s> <http://a.example/p> <http://a.example/o> _:b1 .
alternating graphs with IRI names
@prefix : <http://example/> .
{:a :b :c.}
:G {:a :b :d.}
{:a :b :e.}
:G {:a :b :f.}
<http://example/a> <http://example/b> <http://example/c> .
<http://example/a> <http://example/b> <http://example/d> <http://example/G> .
<http://example/a> <http://example/b> <http://example/e> .
<http://example/a> <http://example/b> <http://example/f> <http://example/G> .
alternating graphs with BNode names
@prefix : <http://example/> .
{:a :b :c.}
_:G {:a :b :d.}
{:a :b :e.}
_:G {:a :b :f.}
<http://example/a> <http://example/b> <http://example/c> .
<http://example/a> <http://example/b> <http://example/d> _:G .
<http://example/a> <http://example/b> <http://example/e> .
<http://example/a> <http://example/b> <http://example/f> _:G .
@base inside graph (negative test)
# @base inside graph
{
@base <http://example/> .
}
BASE inside graph (negative test)
# BASE inside graph
{
BASE <http://example/>
}
@prefix inside graph (negative test)
# @prefix inside graph
{
@prefix ex: <http://example/> .
}
PREFIX inside graph (negative test)
# PREFIX inside graph
{
PREFIX ex: <http://example/>
}
missing '.'
# No DOT
{<http://example/s> <http://example/p> <http://example/o>}
trailing ';' no '.'
# Trailing ;
{<http://example/s> <http://example/p> <http://example/o> ;}
tests absense of whitespace in various positions
BASE<http://example/base>
@base<http://example/base>.
PREFIX :<http://example/a/>
PREFIX b:<http://example/b/>
@prefix:<http://example/c/>.
@prefix
d:<http://example/d/>.
{<http://example/s><http://example/p><http://example/o>.<http://example/s><http://example/p>"Alice".<http://example/s><http://example/p>_:o.}
{:s :p :o .:s :p"Alice".:s :p _:o.}
{b:s b:p b:o .b:s b:p"Alice".b:s b:p _:o.}
{_:s:p :o ._:s:p"Alice". _:s:p _:o .}
{[:p :o].[:p"Alice"].[:p _:o].}
{[:p(:o)].[:p(_:o)].[:p("Alice")].[:p(<http://example/o>)].}
{:s :p :o,:o2 .:s :p"Alice","Ted".:s :p _:o,_:o2.}
{:s :p :o;:p2 :o2 .:s :p"Alice";:p2 "Ted".:s :p _:o;:p2 _:o2.}
<http://example/g>{:s :p :o .:s :p"Alice".:s :p _:o.}
:s{:s :p :o .:s :p"Alice".:s :p _:o.}
_:s{:s :p :o .:s :p"Alice".:s :p _:o.}
:{: : :}{: : :}:{: : :}
:{():()}{():[]}:{[]:[]}
IRI subject
{<http://a.example/s> <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> <http://a.example/o> .}
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
<http://a.example/s> <http://a.example/p> <http://a.example/o> <http://example/graph> .
IRI with four digit numeric escape (\u)
{<http://a.example/\u0073> <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {<http://a.example/\u0073> <http://a.example/p> <http://a.example/o> .}
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
<http://a.example/s> <http://a.example/p> <http://a.example/o> <http://example/graph> .
IRI with eight digit numeric escape (\U)
{<http://a.example/\U00000073> <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {<http://a.example/\U00000073> <http://a.example/p> <http://a.example/o> .}
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
<http://a.example/s> <http://a.example/p> <http://a.example/o> <http://example/graph> .
IRI with all punctuation
{<scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {<scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> <http://a.example/p> <http://a.example/o> .}
<scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> <http://a.example/p> <http://a.example/o> .
<scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> <http://a.example/p> <http://a.example/o> <http://example/graph> .
bareword a predicate
{<http://a.example/s> a <http://a.example/o> .}
<http://example/graph> {<http://a.example/s> a <http://a.example/o> .}
<http://a.example/s> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://a.example/o> .
<http://a.example/s> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://a.example/o> <http://example/graph> .
old-style prefix
@prefix p: <http://a.example/>.
{p:s <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {p:s <http://a.example/p> <http://a.example/o> .}
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
<http://a.example/s> <http://a.example/p> <http://a.example/o> <http://example/graph> .
SPARQL-style prefix
PREFIX p: <http://a.example/>
{p:s <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {p:s <http://a.example/p> <http://a.example/o> .}
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
<http://a.example/s> <http://a.example/p> <http://a.example/o> <http://example/graph> .
prefixed IRI predicate
@prefix p: <http://a.example/>.
{<http://a.example/s> p:p <http://a.example/o> .}
<http://example/graph> {<http://a.example/s> p:p <http://a.example/o> .}
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
<http://a.example/s> <http://a.example/p> <http://a.example/o> <http://example/graph> .
prefixed IRI object
@prefix p: <http://a.example/>.
{<http://a.example/s> <http://a.example/p> p:o .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> p:o .}
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
<http://a.example/s> <http://a.example/p> <http://a.example/o> <http://example/graph> .
prefix-only IRI (p:)
@prefix p: <http://a.example/s>.
{p: <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {p: <http://a.example/p> <http://a.example/o> .}
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
<http://a.example/s> <http://a.example/p> <http://a.example/o> <http://example/graph> .
prefix with PN CHARS BASE character boundaries (prefix: AZazÀÖØöø...:)
@prefix AZazÀÖØöø˿ͰͽͿ⁰Ⰰ、豈﷏ﷰ�𐀀: <http://a.example/> .
{<http://a.example/s> <http://a.example/p> AZazÀÖØöø˿ͰͽͿ⁰Ⰰ、豈﷏ﷰ�𐀀:o}
<http://example/graph> {<http://a.example/s> <http://a.example/p> AZazÀÖØöø˿ͰͽͿ⁰Ⰰ、豈﷏ﷰ�𐀀:o}
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
<http://a.example/s> <http://a.example/p> <http://a.example/o> <http://example/graph> .
prefix with_non_leading_extras (_:a·̀ͯ‿.⁀)
@prefix a·̀ͯ‿.⁀: <http://a.example/>.
{a·̀ͯ‿.⁀:s <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {a·̀ͯ‿.⁀:s <http://a.example/p> <http://a.example/o> .}
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
<http://a.example/s> <http://a.example/p> <http://a.example/o> <http://example/graph> .
default namespace IRI (:ln)
@prefix : <http://a.example/>.
{:s <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {:s <http://a.example/p> <http://a.example/o> .}
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
<http://a.example/s> <http://a.example/p> <http://a.example/o> <http://example/graph> .
prefix reassigned and used
@prefix p: <http://a.example/>.
@prefix p: <http://b.example/>.
{p:s <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {p:s <http://a.example/p> <http://a.example/o> .}
<http://b.example/s> <http://a.example/p> <http://a.example/o> .
<http://b.example/s> <http://a.example/p> <http://a.example/o> <http://example/graph> .
reserved-escaped local name
@prefix p: <http://a.example/>.
{p:\_\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\%00 <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {p:\_\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\%00 <http://a.example/p> <http://a.example/o> .}
<http://a.example/_~.-!$&'()*+,;=/?#@%00> <http://a.example/p> <http://a.example/o> .
<http://a.example/_~.-!$&'()*+,;=/?#@%00> <http://a.example/p> <http://a.example/o> <http://example/graph> .
percent-escaped local name
@prefix p: <http://a.example/>.
{p:%25 <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {p:%25 <http://a.example/p> <http://a.example/o> .}
<http://a.example/%25> <http://a.example/p> <http://a.example/o> .
<http://a.example/%25> <http://a.example/p> <http://a.example/o> <http://example/graph> .
HYPHEN-MINUS in local name
@prefix p: <http://a.example/>.
{p:s- <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {p:s- <http://a.example/p> <http://a.example/o> .}
<http://a.example/s-> <http://a.example/p> <http://a.example/o> .
<http://a.example/s-> <http://a.example/p> <http://a.example/o> <http://example/graph> .
underscore in local name
@prefix p: <http://a.example/>.
{p:s_ <http://a.example/p> <http://a.example/o> .}
<http://a.example/s_> <http://a.example/p> <http://a.example/o> .
localname with COLON
@prefix p: <http://a.example/>.
{p:s: <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {p:s: <http://a.example/p> <http://a.example/o> .}
<http://a.example/s:> <http://a.example/p> <http://a.example/o> .
<http://a.example/s:> <http://a.example/p> <http://a.example/o> <http://example/graph>.
localName with assigned, NFC-normalized, basic-multilingual-plane PN CHARS BASE character boundaries (p:AZazÀÖØöø...)
@prefix p: <http://a.example/> .
{<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿Ͱͽ΄῾⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿Ͱͽ΄῾⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ .}
<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00C0\u00D6\u00D8\u00F6\u00F8\u02FF\u0370\u037D\u0384\u1FFE\u200C\u200D\u2070\u2189\u2C00\u2FD5\u3001\uD7FB\uFA0E\uFDC7\uFDF0\uFFEF> .
<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00C0\u00D6\u00D8\u00F6\u00F8\u02FF\u0370\u037D\u0384\u1FFE\u200C\u200D\u2070\u2189\u2C00\u2FD5\u3001\uD7FB\uFA0E\uFDC7\uFDF0\uFFEF> <http://example/graph> .
localName with assigned, NFC-normalized PN CHARS BASE character boundaries (p:AZazÀÖØöø...)
@prefix p: <http://a.example/> .
{<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿Ͱͽ΄῾⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ𐀀󠇯 .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿Ͱͽ΄῾⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ𐀀󠇯 .}
<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00C0\u00D6\u00D8\u00F6\u00F8\u02FF\u0370\u037D\u0384\u1FFE\u200C\u200D\u2070\u2189\u2C00\u2FD5\u3001\uD7FB\uFA0E\uFDC7\uFDF0\uFFEF\U00010000\U000E01EF> .
<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00C0\u00D6\u00D8\u00F6\u00F8\u02FF\u0370\u037D\u0384\u1FFE\u200C\u200D\u2070\u2189\u2C00\u2FD5\u3001\uD7FB\uFA0E\uFDC7\uFDF0\uFFEF\U00010000\U000E01EF> <http://example/graph> .
localName with nfc-normalize PN CHARS BASE character boundaries (p:AZazÀÖØöø...)
@prefix p: <http://a.example/> .
{<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿ͰͽͿ⁰Ⰰ、﨎﷏ﷰ𐀀 .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿ͰͽͿ⁰Ⰰ、﨎﷏ﷰ𐀀 .}
<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00C0\u00D6\u00D8\u00F6\u00F8\u02FF\u0370\u037D\u037F\u1FFF\u200C\u200D\u2070\u218F\u2C00\u2FEF\u3001\uD7FF\uFA0E\uFDCF\uFDF0\uFFEF\U00010000\U000EFFFD> .
<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00C0\u00D6\u00D8\u00F6\u00F8\u02FF\u0370\u037D\u037F\u1FFF\u200C\u200D\u2070\u218F\u2C00\u2FEF\u3001\uD7FF\uFA0E\uFDCF\uFDF0\uFFEF\U00010000\U000EFFFD> <http://example/graph> .
localName with leading underscore (p:_)
@prefix p: <http://a.example/>.
{p:_ <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {p:_ <http://a.example/p> <http://a.example/o> .}
<http://a.example/_> <http://a.example/p> <http://a.example/o> .
<http://a.example/_> <http://a.example/p> <http://a.example/o> <http://example/graph> .
localName with leading digit (p:_)
@prefix p: <http://a.example/>.
{p:0 <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {p:0 <http://a.example/p> <http://a.example/o> .}
<http://a.example/0> <http://a.example/p> <http://a.example/o> .
<http://a.example/0> <http://a.example/p> <http://a.example/o> <http://example/graph> .
localName with_non_leading_extras (_:a·̀ͯ‿.⁀)
@prefix p: <http://a.example/>.
{p:a·̀ͯ‿.⁀ <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {p:a·̀ͯ‿.⁀ <http://a.example/p> <http://a.example/o> .}
<http://a.example/a·̀ͯ‿.⁀> <http://a.example/p> <http://a.example/o> .
<http://a.example/a·̀ͯ‿.⁀> <http://a.example/p> <http://a.example/o> <http://example/graph> .
old-style base
@base <http://a.example/>.
{<s> <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {<s> <http://a.example/p> <http://a.example/o> .}
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
<http://a.example/s> <http://a.example/p> <http://a.example/o> <http://example/graph> .
SPARQL-style base
BASE <http://a.example/>
{<s> <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {<s> <http://a.example/p> <http://a.example/o> .}
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
<http://a.example/s> <http://a.example/p> <http://a.example/o> <http://example/graph> .
labeled blank node subject
{_:s <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {_:s <http://a.example/p> <http://a.example/o> .}
_:b1 <http://a.example/p> <http://a.example/o> .
_:b1 <http://a.example/p> <http://a.example/o> <http://example/graph> .
labeled blank node object
{<http://a.example/s> <http://a.example/p> _:o .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> _:o .}
<http://a.example/s> <http://a.example/p> _:b1 .
<http://a.example/s> <http://a.example/p> _:b1 <http://example/graph> .
labeled blank node with PN_CHARS_BASE character boundaries (_:AZazÀÖØöø...)
{<http://a.example/s> <http://a.example/p> _:AZazÀÖØöø˿ͰͽͿ⁰Ⰰ、豈﷏ﷰ�𐀀 .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> _:AZazÀÖØöø˿ͰͽͿ⁰Ⰰ、豈﷏ﷰ�𐀀 .}
<http://a.example/s> <http://a.example/p> _:b1 .
<http://a.example/s> <http://a.example/p> _:b1 <http://example/graph> .
labeled blank node with_leading_underscore (_:_)
{<http://a.example/s> <http://a.example/p> _:_ .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> _:_ .}
<http://a.example/s> <http://a.example/p> _:b1 .
<http://a.example/s> <http://a.example/p> _:b1 <http://example/graph> .
labeled blank node with_leading_digit (_:0)
{<http://a.example/s> <http://a.example/p> _:0 .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> _:0 .}
<http://a.example/s> <http://a.example/p> _:b1 .
<http://a.example/s> <http://a.example/p> _:b1 <http://example/graph> .
labeled blank node with_non_leading_extras (_:a·̀ͯ‿.⁀)
{<http://a.example/s> <http://a.example/p> _:a·̀ͯ‿.⁀ .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> _:a·̀ͯ‿.⁀ .}
<http://a.example/s> <http://a.example/p> _:b1 .
<http://a.example/s> <http://a.example/p> _:b1 <http://example/graph> .
anonymous blank node subject
{[] <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {[] <http://a.example/p> <http://a.example/o> .}
_:b1 <http://a.example/p> <http://a.example/o> .
_:b2 <http://a.example/p> <http://a.example/o> <http://example/graph> .
anonymous blank node object
{<http://a.example/s> <http://a.example/p> [] .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> [] .}
<http://a.example/s> <http://a.example/p> _:b1 .
<http://a.example/s> <http://a.example/p> _:b2 <http://example/graph> .
sole blankNodePropertyList [ <p> <o> ] .
{[ <http://a.example/p> <http://a.example/o> ] .}
<http://example/graph> { [ <http://a.example/p> <http://a.example/o> ] .}
<http://example/graph> { [ <http://a.example/p> <http://a.example/o> ] }
_:b1 <http://a.example/p> <http://a.example/o> .
_:b2 <http://a.example/p> <http://a.example/o> <http://example/graph> .
_:b3 <http://a.example/p> <http://a.example/o> <http://example/graph> .
blankNodePropertyList as subject [ … ] <p> <o> .
{[ <http://a.example/p> <http://a.example/o> ] <http://a.example/p2> <http://a.example/o2> .}
<http://example/graph> {[ <http://a.example/p> <http://a.example/o> ] <http://a.example/p2> <http://a.example/o2> .}
_:b1 <http://a.example/p> <http://a.example/o> .
_:b1 <http://a.example/p2> <http://a.example/o2> .
_:b2 <http://a.example/p> <http://a.example/o> <http://example/graph> .
_:b2 <http://a.example/p2> <http://a.example/o2> <http://example/graph> .
blankNodePropertyList as object <s> <p> [ … ] .
{<http://a.example/s> <http://a.example/p> [ <http://a.example/p2> <http://a.example/o2> ] .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> [ <http://a.example/p2> <http://a.example/o2> ] .}
<http://a.example/s> <http://a.example/p> _:b1 .
_:b1 <http://a.example/p2> <http://a.example/o2> .
<http://a.example/s> <http://a.example/p> _:b2 <http://example/graph> .
_:b2 <http://a.example/p2> <http://a.example/o2> <http://example/graph> .
blankNodePropertyList with multiple triples [ <s> <p> ; <s2> <p2> ]
{[ <http://a.example/p1> <http://a.example/o1> ; <http://a.example/p2> <http://a.example/o2> ] <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {[ <http://a.example/p1> <http://a.example/o1> ; <http://a.example/p2> <http://a.example/o2> ] <http://a.example/p> <http://a.example/o> .}
_:b1 <http://a.example/p1> <http://a.example/o1> .
_:b1 <http://a.example/p2> <http://a.example/o2> .
_:b1 <http://a.example/p> <http://a.example/o> .
_:b2 <http://a.example/p1> <http://a.example/o1> <http://example/graph> .
_:b2 <http://a.example/p2> <http://a.example/o2> <http://example/graph> .
_:b2 <http://a.example/p> <http://a.example/o> <http://example/graph> .
nested blankNodePropertyLists [ <p1> [ <p2> <o2> ] ; <p3> <o3> ]
{[ <http://a.example/p1> [ <http://a.example/p2> <http://a.example/o2> ] ; <http://a.example/p> <http://a.example/o> ].}
<http://example/graph> {[ <http://a.example/p1> [ <http://a.example/p2> <http://a.example/o2> ] ; <http://a.example/p> <http://a.example/o> ].}
_:b1 <http://a.example/p1> _:b2 .
_:b2 <http://a.example/p2> <http://a.example/o2> .
_:b1 <http://a.example/p> <http://a.example/o> .
_:b3 <http://a.example/p1> _:b4 <http://example/graph> .
_:b4 <http://a.example/p2> <http://a.example/o2> <http://example/graph> .
_:b3 <http://a.example/p> <http://a.example/o> <http://example/graph> .
blankNodePropertyList containing collection [ <p1> ( … ) ]
{[ <http://a.example/p1> (1) ] .}
<http://example/graph> {[ <http://a.example/p1> (1) ] .}
_:b1 <http://a.example/p1> _:el1 .
_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:b2 <http://a.example/p1> _:el2 <http://example/graph> .
_:el2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> <http://example/graph> .
_:el2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <http://example/graph> .
collection subject
{(1) <http://a.example/p> <http://a.example/o> .}
<http://example/graph> {(1) <http://a.example/p> <http://a.example/o> .}
_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:el1 <http://a.example/p> <http://a.example/o> .
_:el2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> <http://example/graph> .
_:el2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <http://example/graph> .
_:el2 <http://a.example/p> <http://a.example/o> <http://example/graph> .
collection object
{<http://a.example/s> <http://a.example/p> (1) .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> (1) .}
<http://a.example/s> <http://a.example/p> _:el1 .
_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
<http://a.example/s> <http://a.example/p> _:el2 <http://example/graph> .
_:el2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> <http://example/graph> .
_:el2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <http://example/graph> .
empty collection ()
{<http://a.example/s> <http://a.example/p> () .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> () .}
<http://a.example/s> <http://a.example/p> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
<http://a.example/s> <http://a.example/p> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <http://example/graph> .
nested collection (())
{<http://a.example/s> <http://a.example/p> ((1)) .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> ((1)) .}
<http://a.example/s> <http://a.example/p> _:outerEl1 .
_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl1 .
_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
<http://a.example/s> <http://a.example/p> _:outerEl3 <http://example/graph> .
_:outerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl3 <http://example/graph> .
_:innerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> <http://example/graph> .
_:innerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <http://example/graph> .
_:outerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <http://example/graph> .
first, not last, non-empty nested collection
{<http://a.example/s> <http://a.example/p> ((1) 2) .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> ((1) 2) .}
<http://a.example/s> <http://a.example/p> _:outerEl1 .
_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl1 .
_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:outerEl2 .
_:outerEl2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:outerEl2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
<http://a.example/s> <http://a.example/p> _:outerEl3 <http://example/graph> .
_:outerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl3 <http://example/graph> .
_:innerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> <http://example/graph> .
_:innerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <http://example/graph> .
_:outerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:outerEl4 <http://example/graph> .
_:outerEl4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2"^^<http://www.w3.org/2001/XMLSchema#integer> <http://example/graph> .
_:outerEl4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <http://example/graph> .
last, not first, non-empty nested collection
{<http://a.example/s> <http://a.example/p> (1 (2)) .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> (1 (2)) .}
<http://a.example/s> <http://a.example/p> _:outerEl1 .
_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:outerEl2 .
_:outerEl2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl1 .
_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:outerEl2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
<http://a.example/s> <http://a.example/p> _:outerEl3 <http://example/graph> .
_:outerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> <http://example/graph> .
_:outerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:outerEl4 <http://example/graph> .
_:outerEl4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl3 <http://example/graph> .
_:innerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2"^^<http://www.w3.org/2001/XMLSchema#integer> <http://example/graph> .
_:innerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <http://example/graph> .
_:outerEl4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <http://example/graph> .
LITERAL1 'x'
{<http://a.example/s> <http://a.example/p> 'x' .}
<http://example/graph> {<http://a.example/s> <http://a.example/p> 'x' .}
<http://a.example/s> <http://a.example/p> "x" .
<http://a.example/s> <http://a.example/p> "x" <http://example/graph> .
LITERAL1_ascii_boundaries '\x00\x09\x0b\x0c\x0e\x26\x28...'
{<http://a.example/s> <http://a.example/p> '