Turtle Implementation Report

This document report test subject conformance for and related specifications for Turtle [[TURTLE]] 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

See also the Implementation report for PR transition (a step in the W3C Process ).

## Instructions for submitting implementation reports

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-turtle>
        dc:issued "2013-06-18T17:30:22-07:00"^^xsd:dateTime ;
        foaf:maker <http://greggkellogg.net/foaf#me> .

      <http://rubygems.org/gems/rdf-turtle> a doap:Project, earl:TestSubject, earl:Software ;
        doap:name          "RDF::Turtle" ;
        doap:homepage      <http://ruby-rdf.github.com/rdf-turtle> ;
        doap:license       <http://creativecommons.org/licenses/publicdomain/> ;
        doap:description   "RDF::Turtle is an Turtle 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/turtle/> ;
        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::Turtle" ;
        dc:description     "RDF::Turtle is an Turtle 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.

## Test Manifests

##

Test | ["Apache Jena", "Apache Jena RIOT"] | Chelona | Wesin | SWObjects | EYE | N3.js | dotNetRDF | Green Turtle | Raptor | RDF::Trine | RDF::Turtle | rdflib | Serd | Turtle Parser
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
IRI_subject | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
IRI_with_four_digit_numeric_escape | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
IRI_with_eight_digit_numeric_escape | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
IRI_with_all_punctuation | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
bareword_a_predicate | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
old_style_prefix | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
SPARQL_style_prefix | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | UNTESTED | PASS
prefixed_IRI_predicate | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
prefixed_IRI_object | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
prefix_only_IRI | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
prefix_with_PN_CHARS_BASE_character_boundaries | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
prefix_with_non_leading_extras | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
default_namespace_IRI | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
prefix_reassigned_and_used | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
reserved_escaped_localName | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
percent_escaped_localName | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
HYPHEN_MINUS_in_localName | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
underscore_in_localName | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
localname_with_COLON | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
localName_with_nfc_PN_CHARS_BASE_character_boundaries | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
localName_with_leading_underscore | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
localName_with_leading_digit | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
localName_with_non_leading_extras | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
old_style_base | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
SPARQL_style_base | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | UNTESTED | PASS
labeled_blank_node_subject | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
labeled_blank_node_object | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
labeled_blank_node_with_PN_CHARS_BASE_character_boundaries | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
labeled_blank_node_with_leading_underscore | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
labeled_blank_node_with_leading_digit | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
labeled_blank_node_with_non_leading_extras | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
anonymous_blank_node_subject | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
anonymous_blank_node_object | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
sole_blankNodePropertyList | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
blankNodePropertyList_as_subject | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
blankNodePropertyList_as_object | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
blankNodePropertyList_with_multiple_triples | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
nested_blankNodePropertyLists | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
blankNodePropertyList_containing_collection | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
collection_subject | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
collection_object | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
empty_collection | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
nested_collection | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
first | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
last | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL1 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL1_ascii_boundaries | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL1_with_UTF8_boundaries | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL1_all_controls | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL1_all_punctuation | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL_LONG1 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL_LONG1_ascii_boundaries | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL_LONG1_with_UTF8_boundaries | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL_LONG1_with_1_squote | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL_LONG1_with_2_squotes | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL2 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL2_ascii_boundaries | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL2_with_UTF8_boundaries | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL_LONG2 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL_LONG2_ascii_boundaries | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL_LONG2_with_UTF8_boundaries | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL_LONG2_with_1_squote | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
LITERAL_LONG2_with_2_squotes | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_with_CHARACTER_TABULATION | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_with_BACKSPACE | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_with_LINE_FEED | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_with_CARRIAGE_RETURN | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_with_FORM_FEED | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_with_REVERSE_SOLIDUS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_with_escaped_CHARACTER_TABULATION | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_with_escaped_BACKSPACE | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_with_escaped_LINE_FEED | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_with_escaped_CARRIAGE_RETURN | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_with_escaped_FORM_FEED | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_with_numeric_escape4 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_with_numeric_escape8 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
IRIREF_datatype | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
prefixed_name_datatype | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
bareword_integer | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
bareword_decimal | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
bareword_double | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
double_lower_case_e | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
negative_numeric | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
positive_numeric | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
numeric_with_leading_0 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_true | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
literal_false | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
langtagged_non_LONG | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
langtagged_LONG | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
lantag_with_subtag | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
objectList_with_two_objects | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
predicateObjectList_with_two_objectLists | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
repeated_semis_at_end | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
repeated_semis_not_at_end | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
comment_following_localName | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | UNTESTED | PASS | PASS
number_sign_following_localName | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | UNTESTED | PASS | PASS
comment_following_PNAME_NS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | UNTESTED | PASS | PASS
number_sign_following_PNAME_NS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | UNTESTED | PASS | PASS
LITERAL_LONG2_with_REVERSE_SOLIDUS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-num-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
two_LITERAL_LONG2s | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
langtagged_LONG_with_subtag | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-file-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-file-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-file-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-uri-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-uri-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-uri-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-uri-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-base-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-base-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | UNTESTED | PASS
turtle-syntax-base-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-base-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | UNTESTED | PASS
turtle-syntax-prefix-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-prefix-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | UNTESTED | PASS
turtle-syntax-prefix-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | UNTESTED | PASS
turtle-syntax-prefix-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-prefix-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-prefix-06 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-prefix-07 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-prefix-08 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-prefix-09 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-string-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-string-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-string-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-string-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-string-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-string-06 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-string-07 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-string-08 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-string-09 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-string-10 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-string-11 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-str-esc-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-str-esc-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-str-esc-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-pname-esc-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-pname-esc-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-pname-esc-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bnode-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bnode-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bnode-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bnode-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bnode-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bnode-06 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bnode-07 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bnode-08 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bnode-09 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bnode-10 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-number-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-number-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-number-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-number-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-number-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-number-06 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-number-07 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-number-08 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-number-09 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-number-10 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-number-11 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-datatypes-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-datatypes-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-kw-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-kw-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-kw-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-struct-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-struct-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-struct-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-struct-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-struct-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-lists-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-lists-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-lists-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-lists-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-lists-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-uri-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-uri-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-uri-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-uri-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-uri-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-prefix-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-prefix-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-prefix-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-prefix-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-prefix-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-base-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-base-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-base-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-06 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-07 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-kw-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-kw-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-kw-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-kw-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-kw-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-n3-extras-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-n3-extras-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-n3-extras-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-n3-extras-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-n3-extras-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-n3-extras-06 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-n3-extras-07 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-n3-extras-08 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-n3-extras-09 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-n3-extras-10 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-n3-extras-11 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-n3-extras-12 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-n3-extras-13 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-08 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-09 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-10 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-11 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-12 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-13 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-14 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-15 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-16 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-struct-17 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-lang-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-esc-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-esc-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-esc-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-esc-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-pname-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-pname-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-pname-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-string-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-string-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-string-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-string-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-string-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-string-06 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-string-07 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-num-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-num-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-num-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-num-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-num-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-eval-struct-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-eval-struct-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-05 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-06 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-07 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-08 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-09 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-10 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-11 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-12 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-13 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-14 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-15 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-16 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-17 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-18 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-19 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-20 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-21 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-22 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-23 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-24 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-25 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-26 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-subm-27 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-eval-bad-01 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-eval-bad-02 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-eval-bad-03 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-eval-bad-04 | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-blank-label-dot-end | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-ln-dash-start | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-ln-escape-start | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-ln-escape | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-missing-ns-dot-end | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-missing-ns-dot-start | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-ns-dot-end | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-ns-dot-start | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-bad-number-dot-in-anon | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-blank-label | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-ln-colons | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-ln-dots | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
turtle-syntax-ns-dots | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS
Percentage passed out of 291 Tests | 100.0% | 100.0% | 100.0% | 100.0% | 100.0% | 100.0% | 100.0% | 100.0% | 100.0% | 100.0% | 100.0% | 98.6% | 97.9% | 100.0%

## Test Subjects

This report was tested using the following test subjects:

["Apache Jena", "Apache Jena RIOT"]
  Programming Language
    Java
  Home Page
    http://jena.apache.org
  Developer
    Rob Vesse
    Paolo Castagna
    Chris Dollin
    Stephen Allen
    Ian Dickinson
    Damian Steer
    Andy Seaborne
    Claude Warren
    Dave Reynolds
    Rob Vesse
    Paolo Castagna
    Chris Dollin
    Stephen Allen
    Ian Dickinson
    Damian Steer
    Andy Seaborne
    Claude Warren
    Dave Reynolds
  Test Suite Compliance

    291/291 (100.0%)

Chelona
  Programming Language
    Scala
  Home Page
    https://github.com/JuPfu/chelona
  Developer
    Jürgen Pfundt
  Test Suite Compliance

    291/291 (100.0%)

Wesin
  Programming Language
    Scala
  Developer
    Jose Emilio Labra Gayo
  Test Suite Compliance

    291/291 (100.0%)

SWObjects
  Home Page
    http://swobjects.org/
  Developer
    Eric Prud'hommeaux
  Test Suite Compliance

    291/291 (100.0%)

EYE
  Programming Language
    Prolog
  Home Page
    http://eulersharp.sourceforge.net/
  Developer
    Jos De Roo
  Test Suite Compliance

    291/291 (100.0%)

N3.js
  Programming Language
    JavaScript
  Home Page
    https://github.com/RubenVerborgh/N3.js
  Developer
    Ruben Verborgh
  Test Suite Compliance

    291/291 (100.0%)

dotNetRDF
  Programming Language
    C# .Net
  Home Page
    http://www.dotnetrdf.org
  Developer
    Rob Vesse
    Tomasz Pluskiewicz
    Graham Moore
    Khalil Ahmed
    Ron Michael Zettlemoyer
  Test Suite Compliance

    291/291 (100.0%)

Green Turtle
  Programming Language
    Javascript
  Home Page
    https://code.google.com/p/green-turtle/
  Developer
    Alex Milowski
  Test Suite Compliance

    291/291 (100.0%)

Raptor
  Programming Language
    C
  Home Page
    http://librdf.org/raptor/
  Developer
    Dave Beckett
  Test Suite Compliance

    291/291 (100.0%)

RDF::Trine
  Programming Language
    perl
  Developer
    Gregory Todd Williams
  Test Suite Compliance

    291/291 (100.0%)

RDF::Turtle
  Programming Language
    Ruby
  Home Page
    http://ruby-rdf.github.com/rdf-turtle
  Developer
    Gregg Kellogg
  Test Suite Compliance

    291/291 (100.0%)

rdflib
  Home Page
    https://github.com/RDFLib/rdflib
  Developer
    Gunnar Aastrand Grimnes
  Test Suite Compliance

    287/291 (98.6%)

Serd
  Programming Language
    C
  Home Page
    http://drobilla.net/software/serd
  Developer
    David Robillard
  Test Suite Compliance

    285/291 (97.9%)

Turtle Parser
  Programming Language
    Java
  Home Page
    https://github.com/peteroupc/TurtleParserJava
  Developer
    Peter Occil
  Test Suite Compliance

    291/291 (100.0%)

## Individual Test Results

Individual test results used to construct this report are available here:

- RIOT-jena-details.ttl
- Cheló̱na-earl.ttl
- EarlReportWesin-2013-08-29.ttl
- SWObjects-Turtle-EARL-2013-08-11.ttl
- earl-eye-2013-08-19.ttl
- n3js-earl-report-turtle.ttl
- earl-turtle-v101-2013-08-19.ttl
- green-turtle-earl-2013-08-13.ttl
- raptor2012-earl-turtle.ttl
- rdf-trine-turtle-2013-08-10.ttl
- rdf.rb-earl-2013-08-10.ttl
- rdflib_turtle-2013-12-22T19-13-51.ttl
- serd_turtle_tests_earl-2013-12-24.ttl
- turtleparserjava-earl-2013-08-10.ttl

## Test Definitions

Test IRI_subject

  IRI subject

      <http://a.example/s> <http://a.example/p> <http://a.example/o> .

      <http://a.example/s> <http://a.example/p> <http://a.example/o> .

Test IRI_with_four_digit_numeric_escape

  IRI with four digit numeric escape (\u)

      <http://a.example/\u0073> <http://a.example/p> <http://a.example/o> .

      <http://a.example/s> <http://a.example/p> <http://a.example/o> .

Test IRI_with_eight_digit_numeric_escape

  IRI with eight digit numeric escape (\U)

      <http://a.example/\U00000073> <http://a.example/p> <http://a.example/o> .

      <http://a.example/s> <http://a.example/p> <http://a.example/o> .

Test IRI_with_all_punctuation

  IRI with all punctuation

      <scheme:!$%25&amp;'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> <http://a.example/p> <http://a.example/o> .

      <scheme:!$%25&amp;'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> <http://a.example/p> <http://a.example/o> .

Test bareword_a_predicate

  bareword a predicate

      <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> .

Test old_style_prefix

  old-style prefix

      @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> .

Test SPARQL_style_prefix

  SPARQL-style prefix

      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> .

Test prefixed_IRI_predicate

  prefixed IRI predicate

      @prefix p: <http://a.example/>.
      <http://a.example/s> p:p <http://a.example/o> .

      <http://a.example/s> <http://a.example/p> <http://a.example/o> .

Test prefixed_IRI_object

  prefixed IRI object

      @prefix p: <http://a.example/>.
      <http://a.example/s> <http://a.example/p> p:o .

      <http://a.example/s> <http://a.example/p> <http://a.example/o> .

Test prefix_only_IRI

  prefix-only IRI (p:)

      @prefix p: <http://a.example/s>.
      p: <http://a.example/p> <http://a.example/o> .

      <http://a.example/s> <http://a.example/p> <http://a.example/o> .

Test prefix_with_PN_CHARS_BASE_character_boundaries

  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://a.example/s> <http://a.example/p> <http://a.example/o> .

Test prefix_with_non_leading_extras

  prefix with_non_leading_extras (_:a·̀ͯ‿.⁀)

      @prefix a·̀ͯ‿.⁀: <http://a.example/>.
      a·̀ͯ‿.⁀:s <http://a.example/p> <http://a.example/o> .

      <http://a.example/s> <http://a.example/p> <http://a.example/o> .

Test default_namespace_IRI

  default namespace IRI (:ln)

      @prefix : <http://a.example/>.
      :s <http://a.example/p> <http://a.example/o> .

      <http://a.example/s> <http://a.example/p> <http://a.example/o> .

Test prefix_reassigned_and_used

  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://b.example/s> <http://a.example/p> <http://a.example/o> .

Test reserved_escaped_localName

  reserved-escaped local name

      @prefix p: <http://a.example/>.
      p:\_\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\%00 <http://a.example/p> <http://a.example/o> .

      <http://a.example/_~.-!$&'()*+,;=/?#@%00> <http://a.example/p> <http://a.example/o> .

Test percent_escaped_localName

  percent-escaped local name

      @prefix p: <http://a.example/>.
      p:%25 <http://a.example/p> <http://a.example/o> .

      <http://a.example/%25> <http://a.example/p> <http://a.example/o> .

Test HYPHEN_MINUS_in_localName

  HYPHEN-MINUS 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> .

Test underscore_in_localName

  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> .

Test localname_with_COLON

  localname with COLON

      @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> .

Test localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries

  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://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> .

Test localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries

  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://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> .

Test localName_with_nfc_PN_CHARS_BASE_character_boundaries

  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://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> .

Test localName_with_leading_underscore

  localName with leading underscore (p:_)

      @prefix p: <http://a.example/>.
      p:_ <http://a.example/p> <http://a.example/o> .

      <http://a.example/_> <http://a.example/p> <http://a.example/o> .

Test localName_with_leading_digit

  localName with leading digit (p:_)

      @prefix p: <http://a.example/>.
      p:0 <http://a.example/p> <http://a.example/o> .

      <http://a.example/0> <http://a.example/p> <http://a.example/o> .

Test localName_with_non_leading_extras

  localName with_non_leading_extras (_:a·̀ͯ‿.⁀)

      @prefix p: <http://a.example/>.
      p:a·̀ͯ‿.⁀ <http://a.example/p> <http://a.example/o> .

      <http://a.example/a\u00b7\u0300\u036f\u203f\u002e\u2040> <http://a.example/p> <http://a.example/o> .

Test old_style_base

  old-style base

      @base <http://a.example/>.
      <s> <http://a.example/p> <http://a.example/o> .

      <http://a.example/s> <http://a.example/p> <http://a.example/o> .

Test SPARQL_style_base

  SPARQL-style base

      BASE <http://a.example/>
      <s> <http://a.example/p> <http://a.example/o> .

      <http://a.example/s> <http://a.example/p> <http://a.example/o> .

Test labeled_blank_node_subject

  labeled blank node subject

      _:s <http://a.example/p> <http://a.example/o> .

      _:b1 <http://a.example/p> <http://a.example/o> .

Test labeled_blank_node_object

  labeled blank node object

      <http://a.example/s> <http://a.example/p> _:o .

      <http://a.example/s> <http://a.example/p> _:b1 .

Test labeled_blank_node_with_PN_CHARS_BASE_character_boundaries

  labeled blank node with PN_CHARS_BASE character boundaries (_:AZazÀÖØöø...)

      <http://a.example/s> <http://a.example/p> _:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽 .

      <http://a.example/s> <http://a.example/p> _:b1 .

Test labeled_blank_node_with_leading_underscore

  labeled blank node with_leading_underscore (_:_)

      <http://a.example/s> <http://a.example/p> _:_ .

      <http://a.example/s> <http://a.example/p> _:b1 .

Test labeled_blank_node_with_leading_digit

  labeled blank node with_leading_digit (_:0)

      <http://a.example/s> <http://a.example/p> _:0 .

      <http://a.example/s> <http://a.example/p> _:b1 .

Test labeled_blank_node_with_non_leading_extras

  labeled blank node with_non_leading_extras (_:a·̀ͯ‿.⁀)

      <http://a.example/s> <http://a.example/p> _:a·̀ͯ‿.⁀ .

      <http://a.example/s> <http://a.example/p> _:b1 .

Test anonymous_blank_node_subject

  anonymous blank node subject

      [] <http://a.example/p> <http://a.example/o> .

      _:b1 <http://a.example/p> <http://a.example/o> .

Test anonymous_blank_node_object

  anonymous blank node object

      <http://a.example/s> <http://a.example/p> [] .

      <http://a.example/s> <http://a.example/p> _:b1 .

Test sole_blankNodePropertyList

  sole blankNodePropertyList [ <p> <o> ] .

      [ <http://a.example/p> <http://a.example/o> ] .

      _:b1 <http://a.example/p> <http://a.example/o> .

Test blankNodePropertyList_as_subject

  blankNodePropertyList as subject [ … ] <p> <o> .

      [ <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> .

Test blankNodePropertyList_as_object

  blankNodePropertyList as object <s> <p> [ … ] .

      <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> .

Test blankNodePropertyList_with_multiple_triples

  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> .

      _: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> .

Test nested_blankNodePropertyLists

  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> ].

      _:b1 <http://a.example/p1> _:b2 .
      _:b2 <http://a.example/p2> <http://a.example/o2> .
      _:b1 <http://a.example/p> <http://a.example/o> .

Test blankNodePropertyList_containing_collection

  blankNodePropertyList containing collection [ <p1> ( … ) ]

      [ <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> .

Test collection_subject

  collection subject

      (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> .

Test collection_object

  collection object

      <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> .

Test empty_collection

  empty collection ()

      <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> .

Test nested_collection

  nested collection (())

      <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> .

Test first

  first, not last, non-empty nested collection

      <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> .

Test last

  last, not first, non-empty nested collection

      <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> .

Test LITERAL1

  LITERAL1 'x'

      <http://a.example/s> <http://a.example/p> 'x' .

      <http://a.example/s> <http://a.example/p> "x" .

Test LITERAL1_ascii_boundaries

  LITERAL1_ascii_boundaries '\x00\x09\x0b\x0c\x0e\x26\x28...'

      <http://a.example/s> <http://a.example/p> '	&([]' .

      <http://a.example/s> <http://a.example/p> "\u0000\t\u000B\u000C\u000E&([]\u007F" .

Test LITERAL1_with_UTF8_boundaries

  LITERAL1_with_UTF8_boundaries '\x80\x7ff\x800\xfff...'

      <http://a.example/s> <http://a.example/p> '߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽' .

      <http://a.example/s> <http://a.example/p> "\u0080\u07FF\u0800\u0FFF\u1000\uCFFF\uD000\uD7FF\uE000\uFFFD\U00010000\U0003FFFD\U00040000\U000FFFFD\U00100000\U0010FFFD" .

Test LITERAL1_all_controls

  LITERAL1_all_controls '\x00\x01\x02\x03\x04...'

      <http://a.example/s> <http://a.example/p> '	' .

      <http://a.example/s> <http://a.example/p> "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\t\u000B\u000C\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" .

Test LITERAL1_all_punctuation

  LITERAL1_all_punctuation '!"#$%&()...'

      <http://a.example/s> <http://a.example/p> ' !"#$%&():;<=>?@[]^_`{|}~' .

      <http://a.example/s> <http://a.example/p> " !\"#$%&():;<=>?@[]^_`{|}~" .

Test LITERAL_LONG1

  LITERAL_LONG1 '''x'''

      <http://a.example/s> <http://a.example/p> '''x''' .

      <http://a.example/s> <http://a.example/p> "x" .

Test LITERAL_LONG1_ascii_boundaries

  LITERAL_LONG1_ascii_boundaries '\x00\x26\x28...'

      <http://a.example/s> <http://a.example/p> '&([]' .

      <http://a.example/s> <http://a.example/p> "\u0000&([]\u007F" .

Test LITERAL_LONG1_with_UTF8_boundaries

  LITERAL_LONG1_with_UTF8_boundaries '\x80\x7ff\x800\xfff...'

      <http://a.example/s> <http://a.example/p> '''߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽''' .

      <http://a.example/s> <http://a.example/p> "\u0080\u07FF\u0800\u0FFF\u1000\uCFFF\uD000\uD7FF\uE000\uFFFD\U00010000\U0003FFFD\U00040000\U000FFFFD\U00100000\U0010FFFD" .

Test LITERAL_LONG1_with_1_squote

  LITERAL_LONG1 with 1 squote '''a'b'''

      <http://a.example/s> <http://a.example/p> '''x'y''' .

      <http://a.example/s> <http://a.example/p> "x'y" .

Test LITERAL_LONG1_with_2_squotes

  LITERAL_LONG1 with 2 squotes '''a''b'''

      <http://a.example/s> <http://a.example/p> '''x''y''' .

      <http://a.example/s> <http://a.example/p> "x''y" .

Test LITERAL2

  LITERAL2 "x"

      <http://a.example/s> <http://a.example/p> "x" .

      <http://a.example/s> <http://a.example/p> "x" .

Test LITERAL2_ascii_boundaries

  LITERAL2_ascii_boundaries '\x00\x09\x0b\x0c\x0e\x21\x23...'

      <http://a.example/s> <http://a.example/p> "	!#[]" .

      <http://a.example/s> <http://a.example/p> "\u0000\t\u000B\u000C\u000E!#[]\u007F" .

Test LITERAL2_with_UTF8_boundaries

  LITERAL2_with_UTF8_boundaries '\x80\x7ff\x800\xfff...'

      <http://a.example/s> <http://a.example/p> "߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽" .

      <http://a.example/s> <http://a.example/p> "\u0080\u07FF\u0800\u0FFF\u1000\uCFFF\uD000\uD7FF\uE000\uFFFD\U00010000\U0003FFFD\U00040000\U000FFFFD\U00100000\U0010FFFD" .

Test LITERAL_LONG2

  LITERAL_LONG2 """x"""

      <http://a.example/s> <http://a.example/p> """x""" .

      <http://a.example/s> <http://a.example/p> "x" .

Test LITERAL_LONG2_ascii_boundaries

  LITERAL_LONG2_ascii_boundaries '\x00\x21\x23...'

      <http://a.example/s> <http://a.example/p> "!#[]" .

      <http://a.example/s> <http://a.example/p> "\u0000!#[]\u007F" .

Test LITERAL_LONG2_with_UTF8_boundaries

  LITERAL_LONG2_with_UTF8_boundaries '\x80\x7ff\x800\xfff...'

      <http://a.example/s> <http://a.example/p> """߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽""" .

      <http://a.example/s> <http://a.example/p> "\u0080\u07FF\u0800\u0FFF\u1000\uCFFF\uD000\uD7FF\uE000\uFFFD\U00010000\U0003FFFD\U00040000\U000FFFFD\U00100000\U0010FFFD" .

Test LITERAL_LONG2_with_1_squote

  LITERAL_LONG2 with 1 squote """a"b"""

      <http://a.example/s> <http://a.example/p> """x"y""" .

      <http://a.example/s> <http://a.example/p> "x\"y" .

Test LITERAL_LONG2_with_2_squotes

  LITERAL_LONG2 with 2 squotes """a""b"""

      <http://a.example/s> <http://a.example/p> """x""y""" .

      <http://a.example/s> <http://a.example/p> "x\"\"y" .

Test literal_with_CHARACTER_TABULATION

  literal with CHARACTER TABULATION

      <http://a.example/s> <http://a.example/p> '	' .

      <http://a.example/s> <http://a.example/p> "\t" .

Test literal_with_BACKSPACE

  literal with BACKSPACE

      <http://a.example/s> <http://a.example/p> '' .

      <http://a.example/s> <http://a.example/p> "\u0008" .

Test literal_with_LINE_FEED

  literal with LINE FEED

      <http://a.example/s> <http://a.example/p> '''
      ''' .

      <http://a.example/s> <http://a.example/p> "\n" .

Test literal_with_CARRIAGE_RETURN

  literal with CARRIAGE RETURN

      <http://a.example/s> <http://a.example/p> '''
      ''' .

      <http://a.example/s> <http://a.example/p> "\r" .

Test literal_with_FORM_FEED

  literal with FORM FEED

      <http://a.example/s> <http://a.example/p> '' .

      <http://a.example/s> <http://a.example/p> "\u000C" .

Test literal_with_REVERSE_SOLIDUS

  literal with REVERSE SOLIDUS

      <http://a.example/s> <http://a.example/p> '\\' .

      <http://a.example/s> <http://a.example/p> "\\" .

Test literal_with_escaped_CHARACTER_TABULATION

  literal with escaped CHARACTER TABULATION

      <http://a.example/s> <http://a.example/p> '\t' .

      <http://a.example/s> <http://a.example/p> "\t" .

Test literal_with_escaped_BACKSPACE

  literal with escaped BACKSPACE

      <http://a.example/s> <http://a.example/p> '\b' .

      <http://a.example/s> <http://a.example/p> "\u0008" .

Test literal_with_escaped_LINE_FEED

  literal with escaped LINE FEED

      <http://a.example/s> <http://a.example/p> '\n' .

      <http://a.example/s> <http://a.example/p> "\n" .

Test literal_with_escaped_CARRIAGE_RETURN

  literal with escaped CARRIAGE RETURN

      <http://a.example/s> <http://a.example/p> '\r' .

      <http://a.example/s> <http://a.example/p> "\r" .

Test literal_with_escaped_FORM_FEED

  literal with escaped FORM FEED

      <http://a.example/s> <http://a.example/p> '\f' .

      <http://a.example/s> <http://a.example/p> "\u000C" .

Test literal_with_numeric_escape4

  literal with numeric escape4 \u

      <http://a.example/s> <http://a.example/p> '\u006F' .

      <http://a.example/s> <http://a.example/p> "o" .

Test literal_with_numeric_escape8

  literal with numeric escape8 \U

      <http://a.example/s> <http://a.example/p> '\U0000006F' .

      <http://a.example/s> <http://a.example/p> "o" .

Test IRIREF_datatype

  IRIREF datatype ""^^<t>

      <http://a.example/s> <http://a.example/p> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .

      <http://a.example/s> <http://a.example/p> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .

Test prefixed_name_datatype

  prefixed name datatype ""^^p:t

      @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
      <http://a.example/s> <http://a.example/p> "1"^^xsd:integer .

      <http://a.example/s> <http://a.example/p> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .

Test bareword_integer

  bareword integer

      <http://a.example/s> <http://a.example/p> 1 .

      <http://a.example/s> <http://a.example/p> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .

Test bareword_decimal

  bareword decimal

      <http://a.example/s> <http://a.example/p> 1.0 .

      <http://a.example/s> <http://a.example/p> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .

Test bareword_double

  bareword double

      <http://a.example/s> <http://a.example/p> 1E0 .

      <http://a.example/s> <http://a.example/p> "1E0"^^<http://www.w3.org/2001/XMLSchema#double> .

Test double_lower_case_e

  double lower case e

      <http://a.example/s> <http://a.example/p> 1e0 .

      <http://a.example/s> <http://a.example/p> "1e0"^^<http://www.w3.org/2001/XMLSchema#double> .

Test negative_numeric

  negative numeric

      <http://a.example/s> <http://a.example/p> -1 .

      <http://a.example/s> <http://a.example/p> "-1"^^<http://www.w3.org/2001/XMLSchema#integer> .

Test positive_numeric

  positive numeric

      <http://a.example/s> <http://a.example/p> +1 .

      <http://a.example/s> <http://a.example/p> "+1"^^<http://www.w3.org/2001/XMLSchema#integer> .

Test numeric_with_leading_0

  numeric with leading 0

      <http://a.example/s> <http://a.example/p> 01 .

      <http://a.example/s> <http://a.example/p> "01"^^<http://www.w3.org/2001/XMLSchema#integer> .

Test literal_true

  literal true

      <http://a.example/s> <http://a.example/p> true .

      <http://a.example/s> <http://a.example/p> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .

Test literal_false

  literal false

      <http://a.example/s> <http://a.example/p> false .

      <http://a.example/s> <http://a.example/p> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .

Test langtagged_non_LONG

  langtagged non-LONG "x"@en

      <http://a.example/s> <http://a.example/p> "chat"@en .

      <http://a.example/s> <http://a.example/p> "chat"@en .

Test langtagged_LONG

  langtagged LONG """x"""@en

      <http://a.example/s> <http://a.example/p> """chat"""@en .

      <http://a.example/s> <http://a.example/p> "chat"@en .

Test lantag_with_subtag

  lantag with subtag "x"@en-us

      <http://a.example/s> <http://a.example/p> "chat"@en-us .

      <http://a.example/s> <http://a.example/p> "chat"@en-us .

Test objectList_with_two_objects

  objectList with two objects … <o1>,<o2>

      <http://a.example/s> <http://a.example/p> <http://a.example/o1>, <http://a.example/o2> .

      <http://a.example/s> <http://a.example/p> <http://a.example/o1> .
      <http://a.example/s> <http://a.example/p> <http://a.example/o2> .

Test predicateObjectList_with_two_objectLists

  predicateObjectList with two objectLists … <o1>,<o2>

      <http://a.example/s> <http://a.example/p1> <http://a.example/o1>; <http://a.example/p2> <http://a.example/o2> .

      <http://a.example/s> <http://a.example/p1> <http://a.example/o1> .
      <http://a.example/s> <http://a.example/p2> <http://a.example/o2> .

Test repeated_semis_at_end

  repeated semis at end <s> <p> <o> ;; <p2> <o2> .

      <http://a.example/s> <http://a.example/p1> <http://a.example/o1>;; <http://a.example/p2> <http://a.example/o2> .

      <http://a.example/s> <http://a.example/p1> <http://a.example/o1> .
      <http://a.example/s> <http://a.example/p2> <http://a.example/o2> .

Test repeated_semis_not_at_end

  repeated semis not at end <s> <p> <o> ;;.

      <http://a.example/s> <http://a.example/p1> <http://a.example/o1>;; .

      <http://a.example/s> <http://a.example/p1> <http://a.example/o1> .

Test comment_following_localName

  comment following localName

      @prefix p: <http://a.example/> .
      <http://a.example/s> <http://a.example/p> p:o#comment
      .

      <http://a.example/s> <http://a.example/p> <http://a.example/o> .

Test number_sign_following_localName

  number sign following localName

      @prefix p: <http://a.example/> .
      <http://a.example/s> <http://a.example/p> p:o\#numbersign
      .

      <http://a.example/s> <http://a.example/p> <http://a.example/o#numbersign> .

Test comment_following_PNAME_NS

  comment following PNAME_NS

      @prefix p: <http://a.example/> .
      <http://a.example/s> <http://a.example/p> p:#comment
      .

      <http://a.example/s> <http://a.example/p> <http://a.example/> .

Test number_sign_following_PNAME_NS

  number sign following PNAME_NS

      @prefix p: <http://a.example/>.
      <http://a.example/s> <http://a.example/p> p:\#numbersign
      .

      <http://a.example/s> <http://a.example/p> <http://a.example/#numbersign> .

Test LITERAL_LONG2_with_REVERSE_SOLIDUS

  REVERSE SOLIDUS at end of LITERAL_LONG2

      @prefix : <http://example.org/ns#> .

      :s :p1 """test-\\""" .

      <http://example.org/ns#s> <http://example.org/ns#p1> "test-\\" .

Test turtle-syntax-bad-num-05

  Bad number format (negative test)

      <http://example.org/resource> <http://example.org#pred> "value"@en^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .

Test two_LITERAL_LONG2s

  two LITERAL_LONG2s testing quote delimiter overrun

      # Test long literal twice to ensure it does not over-quote
      @prefix :  <http://example.org/ex#> .
      :a :b """first long literal""" .
      :c :d """second long literal""" .

      <http://example.org/ex#a> <http://example.org/ex#b> "first long literal" .
      <http://example.org/ex#c> <http://example.org/ex#d> "second long literal" .

Test langtagged_LONG_with_subtag

  langtagged LONG with subtag """Cheers"""@en-UK

      # Test long literal with lang tag
      @prefix :  <http://example.org/ex#> .
      :a :b """Cheers"""@en-UK .

      <http://example.org/ex#a> <http://example.org/ex#b> "Cheers"@en-UK .

Test turtle-syntax-file-01

  Empty file

Test turtle-syntax-file-02

  Only comment

      #Empty file.

Test turtle-syntax-file-03

  One comment, one empty line

      #One comment, one empty line.

Test turtle-syntax-uri-01

  Only IRIs

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-syntax-uri-02

  IRIs with Unicode escape

      # x53 is capital S
      <http://www.w3.org/2013/TurtleTests/\u0053> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-syntax-uri-03

  IRIs with long Unicode escape

      # x53 is capital S
      <http://www.w3.org/2013/TurtleTests/\U00000053> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-syntax-uri-04

  Legal IRIs

      # IRI with all chars in it.
      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p>
      <scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> .

Test turtle-syntax-base-01

  @base

      @base <http://www.w3.org/2013/TurtleTests/> .

Test turtle-syntax-base-02

  BASE

      BASE <http://www.w3.org/2013/TurtleTests/>

Test turtle-syntax-base-03

  @base with relative IRIs

      @base <http://www.w3.org/2013/TurtleTests/> .
      <s> <p> <o> .

Test turtle-syntax-base-04

  base with relative IRIs

      base <http://www.w3.org/2013/TurtleTests/>
      <s> <p> <o> .

Test turtle-syntax-prefix-01

  @prefix

      @prefix : <http://www.w3.org/2013/TurtleTests/> .

Test turtle-syntax-prefix-02

  PreFIX

      PreFIX : <http://www.w3.org/2013/TurtleTests/>

Test turtle-syntax-prefix-03

  Empty PREFIX

      PREFIX : <http://www.w3.org/2013/TurtleTests/>
      :s :p :123 .

Test turtle-syntax-prefix-04

  Empty @prefix with % escape

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p :%20 .

Test turtle-syntax-prefix-05

  @prefix with no suffix

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      : : : .

Test turtle-syntax-prefix-06

  colon is a legal pname character

      # colon is a legal pname character
      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      @prefix x: <http://www.w3.org/2013/TurtleTests/> .
      :a:b:c  x:d:e:f :::: .

Test turtle-syntax-prefix-07

  dash is a legal pname character

      # dash is a legal pname character
      @prefix x: <http://www.w3.org/2013/TurtleTests/> .
      x:a-b-c  x:p x:o .

Test turtle-syntax-prefix-08

  underscore is a legal pname character

      # underscore is a legal pname character
      @prefix x: <http://www.w3.org/2013/TurtleTests/> .
      x:_  x:p_1 x:o .

Test turtle-syntax-prefix-09

  percents in pnames

      # percents
      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      @prefix x: <http://www.w3.org/2013/TurtleTests/> .
      :a%3E  x:%25 :a%3Eb .

Test turtle-syntax-string-01

  string literal

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "string" .

Test turtle-syntax-string-02

  langString literal

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "string"@en .

Test turtle-syntax-string-03

  langString literal with region

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "string"@en-uk .

Test turtle-syntax-string-04

  squote string literal

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 'string' .

Test turtle-syntax-string-05

  squote langString literal

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 'string'@en .

Test turtle-syntax-string-06

  squote langString literal with region

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 'string'@en-uk .

Test turtle-syntax-string-07

  long string literal with embedded single- and double-quotes

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> """abc""def''ghi""" .

Test turtle-syntax-string-08

  long string literal with embedded newline

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> """abc
      def""" .

Test turtle-syntax-string-09

  squote long string literal with embedded single- and double-quotes

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> '''abc
      def''' .

Test turtle-syntax-string-10

  long langString literal with embedded newline

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> """abc
      def"""@en .

Test turtle-syntax-string-11

  squote long langString literal with embedded newline

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> '''abc
      def'''@en .

Test turtle-syntax-str-esc-01

  string literal with escaped newline

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "a\n" .

Test turtle-syntax-str-esc-02

  string literal with Unicode escape

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "a\u0020b" .

Test turtle-syntax-str-esc-03

  string literal with long Unicode escape

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "a\U00000020b" .

Test turtle-syntax-pname-esc-01

  pname with back-slash escapes

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p :\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\_\%AA .

Test turtle-syntax-pname-esc-02

  pname with back-slash escapes (2)

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p :0123\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\_\%AA123 .

Test turtle-syntax-pname-esc-03

  pname with back-slash escapes (3)

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :xyz\~ :abc\.:  : .

Test turtle-syntax-bnode-01

  bnode subject

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      [] :p :o .

Test turtle-syntax-bnode-02

  bnode object

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p [] .

Test turtle-syntax-bnode-03

  bnode property list object

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p [ :q :o ] .

Test turtle-syntax-bnode-04

  bnode property list object (2)

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p [ :q1 :o1 ; :q2 :o2 ] .

Test turtle-syntax-bnode-05

  bnode property list subject

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      [ :q1 :o1 ; :q2 :o2 ] :p :o .

Test turtle-syntax-bnode-06

  labeled bnode subject

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      _:a  :p :o .

Test turtle-syntax-bnode-07

  labeled bnode subject and object

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s  :p _:a .
      _:a  :p :o .

Test turtle-syntax-bnode-08

  bare bnode property list

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      [ :p  :o ] .

Test turtle-syntax-bnode-09

  bnode property list

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      [ :p  :o1,:2 ] .
      :s :p :o  .

Test turtle-syntax-bnode-10

  mixed bnode property list and triple

      @prefix : <http://www.w3.org/2013/TurtleTests/> .

      :s1 :p :o .
      [ :p1  :o1 ; :p2 :o2 ] .
      :s2 :p :o .

Test turtle-syntax-number-01

  integer literal

      <s> <p> 123 .

Test turtle-syntax-number-02

  negative integer literal

      <s> <p> -123 .

Test turtle-syntax-number-03

  positive integer literal

      <s> <p> +123 .

Test turtle-syntax-number-04

  decimal literal

      # This is a decimal.
      <s> <p> 123.0 .

Test turtle-syntax-number-05

  decimal literal (no leading digits)

      # This is a decimal.
      <s> <p> .1 .

Test turtle-syntax-number-06

  negative decimal literal

      # This is a decimal.
      <s> <p> -123.0 .

Test turtle-syntax-number-07

  positive decimal literal

      # This is a decimal.
      <s> <p> +123.0 .

Test turtle-syntax-number-08

  integer literal with decimal lexical confusion

      # This is an integer
      <s> <p> 123.

Test turtle-syntax-number-09

  double literal

      <s> <p> 123.0e1 .

Test turtle-syntax-number-10

  negative double literal

      <s> <p> -123e-1 .

Test turtle-syntax-number-11

  double literal no fraction

      <s> <p> 123.E+1 .

Test turtle-syntax-datatypes-01

  xsd:byte literal

      @prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
      <s> <p> "123"^^xsd:byte .

Test turtle-syntax-datatypes-02

  integer as xsd:string

      @prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
      @prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
      <s> <p> "123"^^xsd:string .

Test turtle-syntax-kw-01

  boolean literal (true)

      <s> <p> true .

Test turtle-syntax-kw-02

  boolean literal (false)

      <s> <p> false .

Test turtle-syntax-kw-03

  'a' as keyword

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s a :C .

Test turtle-syntax-struct-01

  object list

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p :o1 , :o2 .

Test turtle-syntax-struct-02

  predicate list with object list

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p1 :o1 ;
         :p2 :o2 .

Test turtle-syntax-struct-03

  predicate list with object list and dangling ';'

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p1 :o1 ;
         :p2 :o2 ;
         .

Test turtle-syntax-struct-04

  predicate list with multiple ;;

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p1 :o1 ;;
         :p2 :o2
         .

Test turtle-syntax-struct-05

  predicate list with multiple ;;

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p1 :o1 ;
         :p2 :o2 ;;
         .

Test turtle-syntax-lists-01

  empty list

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p () .

Test turtle-syntax-lists-02

  mixed list

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p (1 "2" :o) .

Test turtle-syntax-lists-03

  isomorphic list as subject and object

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      (1) :p (1) .

Test turtle-syntax-lists-04

  lists of lists

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      (()) :p (()) .

Test turtle-syntax-lists-05

  mixed lists with embedded lists

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      (1 2 (1 2)) :p (( "a") "b" :o) .

Test turtle-syntax-bad-uri-01

  Bad IRI : space (negative test)

      # Bad IRI : space.
      <http://www.w3.org/2013/TurtleTests/ space> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-syntax-bad-uri-02

  Bad IRI : bad escape (negative test)

      # Bad IRI : bad escape
      <http://www.w3.org/2013/TurtleTests/\u00ZZ11> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-syntax-bad-uri-03

  Bad IRI : bad long escape (negative test)

      # Bad IRI : bad escape
      <http://www.w3.org/2013/TurtleTests/\U00ZZ1111> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-syntax-bad-uri-04

  Bad IRI : character escapes not allowed (negative test)

      # Bad IRI : character escapes not allowed.
      <http://www.w3.org/2013/TurtleTests/\n> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-syntax-bad-uri-05

  Bad IRI : character escapes not allowed (2) (negative test)

      # Bad IRI : character escapes not allowed.
      <http://www.w3.org/2013/TurtleTests/\/> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-syntax-bad-prefix-01

  No prefix (negative test)

      # No prefix
      :s <http://www.w3.org/2013/TurtleTests/p> "x" .

Test turtle-syntax-bad-prefix-02

  No prefix (2) (negative test)

      # No prefix
      @prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
      <http://www.w3.org/2013/TurtleTests/s> rdf:type :C .

Test turtle-syntax-bad-prefix-03

  @prefix without URI (negative test)

      # @prefix without URI.
      @prefix ex: .

Test turtle-syntax-bad-prefix-04

  @prefix without prefix name (negative test)

      # @prefix without prefix name .
      @prefix <http://www.w3.org/2013/TurtleTests/> .

Test turtle-syntax-bad-prefix-05

  @prefix without ':' (negative test)

      # @prefix without :
      @prefix x <http://www.w3.org/2013/TurtleTests/> .

Test turtle-syntax-bad-base-01

  @base without URI (negative test)

      # @base without URI.
      @base .

Test turtle-syntax-bad-base-02

  @base in wrong case (negative test)

      # @base in wrong case.
      @BASE <http://www.w3.org/2013/TurtleTests/> .

Test turtle-syntax-bad-base-03

  BASE without URI (negative test)

      # FULL STOP used after SPARQL BASE
      BASE <http://www.w3.org/2013/TurtleTests/> .
      <s> <p> <o> .

Test turtle-syntax-bad-struct-01

  Turtle is not TriG (negative test)

      # Turtle is not TriG
      { <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> }

Test turtle-syntax-bad-struct-02

  Turtle is not N3 (negative test)

      # Turtle is not N3
      <http://www.w3.org/2013/TurtleTests/s> = <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-syntax-bad-struct-03

  Turtle is not NQuads (negative test)

      # Turtle is not NQuads
      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> <http://www.w3.org/2013/TurtleTests/g> .

Test turtle-syntax-bad-struct-04

  Turtle does not allow literals-as-subjects (negative test)

      # Turtle does not allow literals-as-subjects
      "hello" <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-syntax-bad-struct-05

  Turtle does not allow literals-as-predicates (negative test)

      # Turtle does not allow literals-as-predicates
      <http://www.w3.org/2013/TurtleTests/s> "hello" <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-syntax-bad-struct-06

  Turtle does not allow bnodes-as-predicates (negative test)

      # Turtle does not allow bnodes-as-predicates
      <http://www.w3.org/2013/TurtleTests/s> [] <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-syntax-bad-struct-07

  Turtle does not allow labeled bnodes-as-predicates (negative test)

      # Turtle does not allow bnodes-as-predicates
      <http://www.w3.org/2013/TurtleTests/s> _:p <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-syntax-bad-kw-01

  'A' is not a keyword (negative test)

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s A :C .

Test turtle-syntax-bad-kw-02

  'a' cannot be used as subject (negative test)

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      a :p :o .

Test turtle-syntax-bad-kw-03

  'a' cannot be used as object (negative test)

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p a .

Test turtle-syntax-bad-kw-04

  'true' cannot be used as subject (negative test)

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      true :p :o .

Test turtle-syntax-bad-kw-05

  'true' cannot be used as object (negative test)

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s true :o .

Test turtle-syntax-bad-n3-extras-01

  {} fomulae not in Turtle (negative test)

      # {} fomulae not in Turtle
      @prefix : <http://www.w3.org/2013/TurtleTests/> .

      { :a :q :c . } :p :z .

Test turtle-syntax-bad-n3-extras-02

  = is not Turtle (negative test)

      # = is not Turtle
      @prefix : <http://www.w3.org/2013/TurtleTests/> .

      :a = :b .

Test turtle-syntax-bad-n3-extras-03

  N3 paths not in Turtle (negative test)

      # N3 paths
      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      @prefix ns: <http://www.w3.org/2013/TurtleTests/p#> .

      :x.
        ns:p.
          ns:q :p :z .

Test turtle-syntax-bad-n3-extras-04

  N3 paths not in Turtle (negative test)

      # N3 paths
      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      @prefix ns: <http://www.w3.org/2013/TurtleTests/p#> .

      :x^ns:p :p :z .

Test turtle-syntax-bad-n3-extras-05

  N3 is...of not in Turtle (negative test)

      # N3 is...of
      @prefix : <http://www.w3.org/2013/TurtleTests/> .

      :z is :p of :x .

Test turtle-syntax-bad-n3-extras-06

  N3 paths not in Turtle (negative test)

      # = is not Turtle
      @prefix : <http://www.w3.org/2013/TurtleTests/> .

      :a.:b.:c .

Test turtle-syntax-bad-n3-extras-07

  @keywords is not Turtle (negative test)

      # @keywords is not Turtle
      @keywords a .
      x a Item .

Test turtle-syntax-bad-n3-extras-08

  @keywords is not Turtle (negative test)

      # @keywords is not Turtle
      @keywords a .
      x a Item .

Test turtle-syntax-bad-n3-extras-09

  => is not Turtle (negative test)

      # => is not Turtle
      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s => :o .

Test turtle-syntax-bad-n3-extras-10

  <= is not Turtle (negative test)

      # <= is not Turtle
      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s <= :o .

Test turtle-syntax-bad-n3-extras-11

  @forSome is not Turtle (negative test)

      # @forSome is not Turtle
      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      @forSome :x .

Test turtle-syntax-bad-n3-extras-12

  @forAll is not Turtle (negative test)

      # @forAll is not Turtle
      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      @forAll :x .

Test turtle-syntax-bad-n3-extras-13

  @keywords is not Turtle (negative test)

      # @keywords is not Turtle
      @keywords .
      x @a Item .

Test turtle-syntax-bad-struct-08

  missing '.' (negative test)

      # No DOT
      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o>

Test turtle-syntax-bad-struct-09

  extra '.' (negative test)

      # Too many DOT
      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> . .

Test turtle-syntax-bad-struct-10

  extra '.' (negative test)

      # Too many DOT
      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> . .
      <http://www.w3.org/2013/TurtleTests/s1> <http://www.w3.org/2013/TurtleTests/p1> <http://www.w3.org/2013/TurtleTests/o1> .

Test turtle-syntax-bad-struct-11

  trailing ';' no '.' (negative test)

      # Trailing ;
      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> ;

Test turtle-syntax-bad-struct-12

  subject, predicate, no object (negative test)

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p>

Test turtle-syntax-bad-struct-13

  subject, predicate, no object (negative test)

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p>

Test turtle-syntax-bad-struct-14

  literal as subject (negative test)

      # Literal as subject
      "abc" <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/p>  .

Test turtle-syntax-bad-struct-15

  literal as predicate (negative test)

      # Literal as predicate
      <http://www.w3.org/2013/TurtleTests/s> "abc" <http://www.w3.org/2013/TurtleTests/p>  .

Test turtle-syntax-bad-struct-16

  bnode as predicate (negative test)

      # BNode as predicate
      <http://www.w3.org/2013/TurtleTests/s> [] <http://www.w3.org/2013/TurtleTests/p>  .

Test turtle-syntax-bad-struct-17

  labeled bnode as predicate (negative test)

      # BNode as predicate
      <http://www.w3.org/2013/TurtleTests/s> _:a <http://www.w3.org/2013/TurtleTests/p>  .

Test turtle-syntax-bad-lang-01

  langString with bad lang (negative test)

      # Bad lang tag
      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "string"@1 .

Test turtle-syntax-bad-esc-01

  Bad string escape (negative test)

      # Bad string escape
      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "a\zb" .

Test turtle-syntax-bad-esc-02

  Bad string escape (negative test)

      # Bad string escape
      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "\uWXYZ" .

Test turtle-syntax-bad-esc-03

  Bad string escape (negative test)

      # Bad string escape
      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "\U0000WXYZ" .

Test turtle-syntax-bad-esc-04

  Bad string escape (negative test)

      # Bad string escape
      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "\U0000WXYZ" .

Test turtle-syntax-bad-pname-01

  '~' must be escaped in pname (negative test)

      # ~ must be escaped.
      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :a~b :p :o .

Test turtle-syntax-bad-pname-02

  Bad %-sequence in pname (negative test)

      # Bad %-sequence
      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :a%2 :p :o .

Test turtle-syntax-bad-pname-03

  Bad unicode escape in pname (negative test)

      # No \u (x39 is "9")
      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :a\u0039 :p :o .

Test turtle-syntax-bad-string-01

  mismatching string literal open/close (negative test)

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p "abc' .

Test turtle-syntax-bad-string-02

  mismatching string literal open/close (negative test)

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p 'abc" .

Test turtle-syntax-bad-string-03

  mismatching string literal long/short (negative test)

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p '''abc' .

Test turtle-syntax-bad-string-04

  mismatching long string literal open/close (negative test)

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p """abc''' .

Test turtle-syntax-bad-string-05

  Long literal with missing end (negative test)

      # Long literal with missing end
      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p """abc
      def

Test turtle-syntax-bad-string-06

  Long literal with extra quote (negative test)

      # Long literal with 4"
      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p """abc""""@en .

Test turtle-syntax-bad-string-07

  Long literal with extra squote (negative test)

      # Long literal with 4'
      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p '''abc''''@en .

Test turtle-syntax-bad-num-01

  Bad number format (negative test)

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 123.abc .

Test turtle-syntax-bad-num-02

  Bad number format (negative test)

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 123e .

Test turtle-syntax-bad-num-03

  Bad number format (negative test)

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 123abc .

Test turtle-syntax-bad-num-04

  Bad number format (negative test)

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 0x123 .

Test turtle-syntax-bad-num-05

  Bad number format (negative test)

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> +-1 .

Test turtle-eval-struct-01

  triple with IRIs

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-eval-struct-02

  triple with IRIs and embedded whitespace

      <http://www.w3.org/2013/TurtleTests/s>
            <http://www.w3.org/2013/TurtleTests/p1> <http://www.w3.org/2013/TurtleTests/o1> ;
            <http://www.w3.org/2013/TurtleTests/p2> <http://www.w3.org/2013/TurtleTests/o2> ;
            .

      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p1> <http://www.w3.org/2013/TurtleTests/o1> .
      <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p2> <http://www.w3.org/2013/TurtleTests/o2> .

Test turtle-subm-01

  Blank subject

      @prefix : <#> .
      [] :x :y .

      _:genid1 <http://www.w3.org/2013/TurtleTests/turtle-subm-01.ttl#x> <http://www.w3.org/2013/TurtleTests/turtle-subm-01.ttl#y> .

Test turtle-subm-02

  @prefix and qnames

      # Test @prefix and qnames
      @prefix :  <http://example.org/base1#> .
      @prefix a: <http://example.org/base2#> .
      @prefix b: <http://example.org/base3#> .
      :a :b :c .
      a:a a:b a:c .
      :a a:a b:a .

      <http://example.org/base1#a> <http://example.org/base1#b> <http://example.org/base1#c> .
      <http://example.org/base2#a> <http://example.org/base2#b> <http://example.org/base2#c> .
      <http://example.org/base1#a> <http://example.org/base2#a> <http://example.org/base3#a> .

Test turtle-subm-03

  , operator

      # Test , operator
      @prefix : <http://example.org/base#> .
      :a :b :c,
            :d,
            :e .

      <http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#c> .
      <http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#d> .
      <http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#e> .

Test turtle-subm-04

  ; operator

      # Test ; operator
      @prefix : <http://example.org/base#> .
      :a :b :c ;
         :d :e ;
         :f :g .

      <http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#c> .
      <http://example.org/base#a> <http://example.org/base#d> <http://example.org/base#e> .
      <http://example.org/base#a> <http://example.org/base#f> <http://example.org/base#g> .

Test turtle-subm-05

  empty [] as subject and object

      # Test empty [] operator; not allowed as predicate
      @prefix : <http://example.org/base#> .
      [] :a :b .
      :c :d [] .

      _:genid1 <http://example.org/base#a> <http://example.org/base#b> .
      <http://example.org/base#c> <http://example.org/base#d> _:genid2 .

Test turtle-subm-06

  non-empty [] as subject and object

      # Test non empty [] operator; not allowed as predicate
      @prefix : <http://example.org/base#> .
      [ :a :b ] :c :d .
      :e :f [ :g :h ] .

      _:genid1 <http://example.org/base#a> <http://example.org/base#b> .
      _:genid1 <http://example.org/base#c> <http://example.org/base#d> .
      _:genid2 <http://example.org/base#g> <http://example.org/base#h> .
      <http://example.org/base#e> <http://example.org/base#f> _:genid2 .

Test turtle-subm-07

  'a' as predicate

      # 'a' only allowed as a predicate
      @prefix : <http://example.org/base#> .
      :a a :b .

      <http://example.org/base#a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/base#b> .

Test turtle-subm-08

  simple collection

      @prefix : <http://example.org/stuff/1.0/> .
      :a :b ( "apple" "banana" ) .

      _:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "banana" .
      _:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
      _:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "apple" .
      _:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:genid1 .
      <http://example.org/stuff/1.0/a> <http://example.org/stuff/1.0/b> _:genid2 .

Test turtle-subm-09

  empty collection

      @prefix : <http://example.org/stuff/1.0/> .
      :a :b ( ) .

      <http://example.org/stuff/1.0/a> <http://example.org/stuff/1.0/b> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .

Test turtle-subm-10

  integer datatyped literal

      # Test integer datatyped literals using an OWL cardinality constraint
      @prefix owl: <http://www.w3.org/2002/07/owl#> .

      # based on examples in the OWL Reference

      _:hasParent a owl:ObjectProperty .

      [] a owl:Restriction ;
        owl:onProperty _:hasParent ;
        owl:maxCardinality 2 .

      _:hasParent <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> .
      _:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> .
      _:genid1 <http://www.w3.org/2002/07/owl#onProperty> _:hasParent .
      _:genid1 <http://www.w3.org/2002/07/owl#maxCardinality> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .

Test turtle-subm-11

  decimal integer canonicalization

      <http://example.org/res1> <http://example.org/prop1> 000000 .
      <http://example.org/res2> <http://example.org/prop2> 0 .
      <http://example.org/res3> <http://example.org/prop3> 000001 .
      <http://example.org/res4> <http://example.org/prop4> 2 .
      <http://example.org/res5> <http://example.org/prop5> 4 .

      <http://example.org/res1> <http://example.org/prop1> "000000"^^<http://www.w3.org/2001/XMLSchema#integer> .
      <http://example.org/res2> <http://example.org/prop2> "0"^^<http://www.w3.org/2001/XMLSchema#integer> .
      <http://example.org/res3> <http://example.org/prop3> "000001"^^<http://www.w3.org/2001/XMLSchema#integer> .
      <http://example.org/res4> <http://example.org/prop4> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
      <http://example.org/res5> <http://example.org/prop5> "4"^^<http://www.w3.org/2001/XMLSchema#integer> .

Test turtle-subm-12

  - and _ in names and qnames

      # Tests for - and _ in names, qnames
      @prefix ex1: <http://example.org/ex1#> .
      @prefix ex-2: <http://example.org/ex2#> .
      @prefix ex3_: <http://example.org/ex3#> .
      @prefix ex4-: <http://example.org/ex4#> .

      ex1:foo-bar ex1:foo_bar "a" .
      ex-2:foo-bar ex-2:foo_bar "b" .
      ex3_:foo-bar ex3_:foo_bar "c" .
      ex4-:foo-bar ex4-:foo_bar "d" .

      <http://example.org/ex1#foo-bar> <http://example.org/ex1#foo_bar> "a" .
      <http://example.org/ex2#foo-bar> <http://example.org/ex2#foo_bar> "b" .
      <http://example.org/ex3#foo-bar> <http://example.org/ex3#foo_bar> "c" .
      <http://example.org/ex4#foo-bar> <http://example.org/ex4#foo_bar> "d" .

Test turtle-subm-13

  tests for rdf:_<numbers> and other qnames starting with _

      # Tests for rdf:_<numbers> and other qnames starting with _
      @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
      @prefix ex:  <http://example.org/ex#> .
      @prefix :    <http://example.org/myprop#> .

      ex:foo rdf:_1 "1" .
      ex:foo rdf:_2 "2" .
      ex:foo :_abc "def" .
      ex:foo :_345 "678" .

      <http://example.org/ex#foo> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> "1" .
      <http://example.org/ex#foo> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2> "2" .
      <http://example.org/ex#foo> <http://example.org/myprop#_abc> "def" .
      <http://example.org/ex#foo> <http://example.org/myprop#_345> "678" .

Test turtle-subm-14

  bare : allowed

      # Test for : allowed
      @prefix :    <http://example.org/ron> .

      [] : [] .

      : : : .

      _:genid1 <http://example.org/ron> _:genid2 .
      <http://example.org/ron> <http://example.org/ron> <http://example.org/ron> .

Test turtle-subm-15

  simple long literal

      # Test long literal
      @prefix :  <http://example.org/ex#> .
      :a :b """a long
      	literal
      with
      newlines""" .

      <http://example.org/ex#a> <http://example.org/ex#b> "a long\n\tliteral\nwith\nnewlines" .

Test turtle-subm-16

  long literals with escapes

      @prefix : <http://example.org/foo#> .

      ## \U00015678 is a not a legal codepoint
      ## :a :b """\nthis \ris a \U00015678long\t
      ## literal\uABCD
      ## """ .
      ##
      ## :d :e """\tThis \uABCDis\r \U00015678another\n
      ## one
      ## """ .

      # \U00015678 is a not a legal codepoint
      # \U00012451 in Cuneiform numeric ban 3
      :a :b """\nthis \ris a \U00012451long\t
      literal\uABCD
      """ .

      :d :e """\tThis \uABCDis\r \U00012451another\n
      one
      """ .

      <http://example.org/foo#a> <http://example.org/foo#b> "\nthis \ris a \U00012451long\t\nliteral\uABCD\n" .
      <http://example.org/foo#d> <http://example.org/foo#e> "\tThis \uABCDis\r \U00012451another\n\none\n" .

Test turtle-subm-17

  floating point number

      @prefix : <http://example.org/#> .

      :a :b  1.0 .

      <http://example.org/#a> <http://example.org/#b> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .

Test turtle-subm-18

  empty literals, normal and long variant

      @prefix : <http://example.org/#> .

      :a :b "" .

      :c :d """""" .

      <http://example.org/#a> <http://example.org/#b> "" .
      <http://example.org/#c> <http://example.org/#d> "" .

Test turtle-subm-19

  positive integer, decimal and doubles

      @prefix : <http://example.org#> .
      :a :b 1.0 .
      :c :d 1 .
      :e :f 1.0e0 .

      <http://example.org#a> <http://example.org#b> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org#c> <http://example.org#d> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
      <http://example.org#e> <http://example.org#f> "1.0e0"^^<http://www.w3.org/2001/XMLSchema#double> .

Test turtle-subm-20

  negative integer, decimal and doubles

      @prefix : <http://example.org#> .
      :a :b -1.0 .
      :c :d -1 .
      :e :f -1.0e0 .

      <http://example.org#a> <http://example.org#b> "-1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org#c> <http://example.org#d> "-1"^^<http://www.w3.org/2001/XMLSchema#integer> .
      <http://example.org#e> <http://example.org#f> "-1.0e0"^^<http://www.w3.org/2001/XMLSchema#double> .

Test turtle-subm-21

  long literal ending in double quote

      # Test long literal
      @prefix :  <http://example.org/ex#> .
      :a :b """John said: "Hello World!\"""" .

      <http://example.org/ex#a> <http://example.org/ex#b> "John said: \"Hello World!\"" .

Test turtle-subm-22

  boolean literals

      @prefix : <http://example.org#> .
      :a :b true .
      :c :d false .

      <http://example.org#a> <http://example.org#b> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .
      <http://example.org#c> <http://example.org#d> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .

Test turtle-subm-23

  comments

      # comment test
      @prefix : <http://example.org/#> .
      :a :b :c . # end of line comment
      :d # ignore me
        :e # and me
            :f # and me
              .
      :g :h #ignore me
           :i,  # and me
           :j . # and me

      :k :l :m ; #ignore me
         :n :o ; # and me
         :p :q . # and me

      <http://example.org/#a> <http://example.org/#b> <http://example.org/#c> .
      <http://example.org/#d> <http://example.org/#e> <http://example.org/#f> .
      <http://example.org/#g> <http://example.org/#h> <http://example.org/#i> .
      <http://example.org/#g> <http://example.org/#h> <http://example.org/#j> .
      <http://example.org/#k> <http://example.org/#l> <http://example.org/#m> .
      <http://example.org/#k> <http://example.org/#n> <http://example.org/#o> .
      <http://example.org/#k> <http://example.org/#p> <http://example.org/#q> .

Test turtle-subm-24

  no final mewline

      # comment line with no final newline test
      @prefix : <http://example.org/#> .
      :a :b :c .
      #foo

      <http://example.org/#a> <http://example.org/#b> <http://example.org/#c> .

Test turtle-subm-25

  repeating a @prefix changes pname definition

      @prefix foo: <http://example.org/foo#>  .
      @prefix foo: <http://example.org/bar#>  .

      foo:blah foo:blah foo:blah .

      <http://example.org/bar#blah> <http://example.org/bar#blah> <http://example.org/bar#blah> .

Test turtle-subm-26

  Variations on decimal canonicalization

      <http://example.org/foo> <http://example.org/bar> "2.345"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "1"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "1."^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "1.000000000"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.3"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.234000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.2340000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.23400000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.234000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.2340000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.23400000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.234000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.2340000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.23400000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.234000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.2340000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.23400000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.234000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.2340000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.23400000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "1.2345678901234567890123457890"^^<http://www.w3.org/2001/XMLSchema#decimal> .

      <http://example.org/foo> <http://example.org/bar> "2.345"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "1"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "1."^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "1.000000000"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.3"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.234000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.2340000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.23400000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.234000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.2340000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.23400000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.234000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.2340000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.23400000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.234000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.2340000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.23400000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.234000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.2340000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "2.23400000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
      <http://example.org/foo> <http://example.org/bar> "1.2345678901234567890123457890"^^<http://www.w3.org/2001/XMLSchema#decimal> .

Test turtle-subm-27

  Repeating @base changes base for relative IRI lookup

      # In-scope base URI is <http://www.w3.org/2013/TurtleTests/turtle-subm-27.ttl> at this point
      <a1> <b1> <c1> .
      @base <http://example.org/ns/> .
      # In-scope base URI is http://example.org/ns/ at this point
      <a2> <http://example.org/ns/b2> <c2> .
      @base <foo/> .
      # In-scope base URI is http://example.org/ns/foo/ at this point
      <a3> <b3> <c3> .
      @prefix : <bar#> .
      :a4 :b4 :c4 .
      @prefix : <http://example.org/ns2#> .
      :a5 :b5 :c5 .

      <http://www.w3.org/2013/TurtleTests/a1> <http://www.w3.org/2013/TurtleTests/b1> <http://www.w3.org/2013/TurtleTests/c1> .
      <http://example.org/ns/a2> <http://example.org/ns/b2> <http://example.org/ns/c2> .
      <http://example.org/ns/foo/a3> <http://example.org/ns/foo/b3> <http://example.org/ns/foo/c3> .
      <http://example.org/ns/foo/bar#a4> <http://example.org/ns/foo/bar#b4> <http://example.org/ns/foo/bar#c4> .
      <http://example.org/ns2#a5> <http://example.org/ns2#b5> <http://example.org/ns2#c5> .

Test turtle-eval-bad-01

  Bad IRI : good escape, bad charcater (negative evaluation test)

      # Bad IRI : good escape, bad charcater
      <http://www.w3.org/2013/TurtleTests/\u0020> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-eval-bad-02

  Bad IRI : hex 3C is < (negative evaluation test)

      # Bad IRI : hex 3C is <
      <http://www.w3.org/2013/TurtleTests/\u003C> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-eval-bad-03

  Bad IRI : hex 3E is (negative evaluation test)

      # Bad IRI : hex 3E is >
      <http://www.w3.org/2013/TurtleTests/\u003E> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-eval-bad-04

  Bad IRI : {abc} (negative evaluation test)

      # Bad IRI
      <http://www.w3.org/2013/TurtleTests/{abc}> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .

Test turtle-syntax-bad-blank-label-dot-end

  Blank node label must not end in dot

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      _:b1. :p :o .

Test turtle-syntax-bad-ln-dash-start

  Local name must not begin with dash

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p :-o .

Test turtle-syntax-bad-ln-escape-start

  Bad hex escape at start of local name

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p :%2o .

Test turtle-syntax-bad-ln-escape

  Bad hex escape in local name

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s :p :o%2 .

Test turtle-syntax-bad-missing-ns-dot-end

  Prefix must not end in dot (error in triple, not prefix directive like turtle-syntax-bad-ns-dot-end)

      valid:s valid:p invalid.:o .

Test turtle-syntax-bad-missing-ns-dot-start

  Prefix must not start with dot (error in triple, not prefix directive like turtle-syntax-bad-ns-dot-end)

      .undefined:s .undefined:p .undefined:o .

Test turtle-syntax-bad-ns-dot-end

  Prefix must not end in dot

      @prefix eg. : <http://www.w3.org/2013/TurtleTests/> .
      eg.:s eg.:p eg.:o .

Test turtle-syntax-bad-ns-dot-start

  Prefix must not start with dot

      @prefix .eg : <http://www.w3.org/2013/TurtleTests/> .
      .eg:s .eg:p .eg:o .

Test turtle-syntax-bad-number-dot-in-anon

  Dot delimeter may not appear in anonymous nodes

      @prefix : <http://www.w3.org/2013/TurtleTests/> .

      :s
      	:p [
      		:p1 27.
      	] .

Test turtle-syntax-blank-label

  Characters allowed in blank node labels

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      _:0b :p :o . # Starts with digit
      _:_b :p :o . # Starts with underscore
      _:b.0 :p :o . # Contains dot, ends with digit

Test turtle-syntax-ln-colons

  Colons in pname local names

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s:1 :p:1 :o:1 .
      :s::2 :p::2 :o::2 .
      :3:s :3:p :3 .
      ::s ::p ::o .
      ::s: ::p: ::o: .

Test turtle-syntax-ln-dots

  Dots in pname local names

      @prefix : <http://www.w3.org/2013/TurtleTests/> .
      :s.1 :p.1 :o.1 .
      :s..2 :p..2 :o..2.
      :3.s :3.p :3.

Test turtle-syntax-ns-dots

  Dots in namespace names

      @prefix e.g: <http://www.w3.org/2013/TurtleTests/> .
      e.g:s e.g:p e.g:o .

## Report Generation Software

This report generated by earl-report version an Unlicensed Ruby application. More information is available at https://github.com/gkellogg/earl-report .

This software is provided by Gregg Kellogg in hopes that it might make the lives of conformance testers easier.