You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2013/06/14 20:19:48 UTC

svn commit: r1493193 [3/5] - in /jena/trunk/jena-arq: src/main/java/org/apache/jena/common/ src/main/java/org/apache/jena/riot/ src/main/java/org/apache/jena/riot/lang/ src/main/java/org/apache/jena/riot/system/ src/test/java/com/hp/hpl/jena/sparql/ sr...

Added: jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/manifest.ttl
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/manifest.ttl?rev=1493193&view=auto
==============================================================================
--- jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/manifest.ttl (added)
+++ jena/trunk/jena-arq/testing/RIOT/Lang/TurtleStd/manifest.ttl Fri Jun 14 18:19:42 2013
@@ -0,0 +1,2471 @@
+## Distributed under both the W3C Test Suite License[1] and the W3C 3-
+## clause BSD License[2]. To contribute to a W3C Test Suite, see the
+## policies and contribution forms [3]
+##
+## 1. http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
+## 2. http://www.w3.org/Consortium/Legal/2008/03-bsd-license
+## 3. http://www.w3.org/2004/10/27-testcases
+
+# Test named *subm* are (c) W3C and taken from the Turtle submission.
+
+@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix mf: <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
+@prefix qt:     <http://www.w3.org/2001/sw/DataAccess/tests/test-query#> .
+
+@prefix rdft:   <http://www.w3.org/ns/rdftest#> .
+
+<>  rdf:type mf:Manifest ;
+    rdfs:comment "Turtle tests" ;
+    mf:entries
+    (
+
+    # atomic tests
+    <#IRI_subject>
+    <#IRI_with_four_digit_numeric_escape>
+    <#IRI_with_eight_digit_numeric_escape>
+    <#IRI_with_all_punctuation>
+    <#bareword_a_predicate>
+    <#old_style_prefix>
+    <#SPARQL_style_prefix>
+    <#prefixed_IRI_predicate>
+    <#prefixed_IRI_object>
+    <#prefix_only_IRI>
+    <#prefix_with_PN_CHARS_BASE_character_boundaries>
+    <#prefix_with_non_leading_extras>
+    <#default_namespace_IRI>
+    <#prefix_reassigned_and_used>
+    <#reserved_escaped_localName>
+    <#percent_escaped_localName>
+    <#HYPHEN_MINUS_in_localName>
+    <#underscore_in_localName>
+    <#localname_with_COLON>
+    <#localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries>
+    <#localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries>
+    <#localName_with_nfc_PN_CHARS_BASE_character_boundaries>
+#    <#localName_with_PN_CHARS_BASE_character_boundaries>
+    <#localName_with_leading_underscore>
+    <#localName_with_leading_digit>
+    <#localName_with_non_leading_extras>
+    <#old_style_base>
+    <#SPARQL_style_base>
+    <#labeled_blank_node_subject>
+    <#labeled_blank_node_object>
+    <#labeled_blank_node_with_PN_CHARS_BASE_character_boundaries>
+    <#labeled_blank_node_with_leading_underscore>
+    <#labeled_blank_node_with_leading_digit>
+    <#labeled_blank_node_with_non_leading_extras>
+    <#anonymous_blank_node_subject>
+    <#anonymous_blank_node_object>
+    <#sole_blankNodePropertyList>
+    <#blankNodePropertyList_as_subject>
+    <#blankNodePropertyList_as_object>
+    <#blankNodePropertyList_with_multiple_triples>
+    <#nested_blankNodePropertyLists>
+    <#blankNodePropertyList_containing_collection>
+    <#collection_subject>
+    <#collection_object>
+    <#empty_collection>
+    <#nested_collection>
+    <#first>
+    <#last>
+    <#LITERAL1>
+    <#LITERAL1_ascii_boundaries>
+    <#LITERAL1_with_UTF8_boundaries>
+    <#LITERAL1_all_controls>
+    <#LITERAL1_all_punctuation>
+    <#LITERAL_LONG1>
+    <#LITERAL_LONG1_ascii_boundaries>
+    <#LITERAL_LONG1_with_UTF8_boundaries>
+    <#LITERAL_LONG1_with_1_squote>
+    <#LITERAL_LONG1_with_2_squotes>
+    <#LITERAL2>
+    <#LITERAL2_ascii_boundaries>
+    <#LITERAL2_with_UTF8_boundaries>
+    <#LITERAL_LONG2>
+    <#LITERAL_LONG2_ascii_boundaries>
+    <#LITERAL_LONG2_with_UTF8_boundaries>
+    <#LITERAL_LONG2_with_1_squote>
+    <#LITERAL_LONG2_with_2_squotes>
+    <#literal_with_CHARACTER_TABULATION>
+    <#literal_with_BACKSPACE>
+    <#literal_with_LINE_FEED>
+    <#literal_with_CARRIAGE_RETURN>
+    <#literal_with_FORM_FEED>
+    <#literal_with_REVERSE_SOLIDUS>
+    <#literal_with_escaped_CHARACTER_TABULATION>
+    <#literal_with_escaped_BACKSPACE>
+    <#literal_with_escaped_LINE_FEED>
+    <#literal_with_escaped_CARRIAGE_RETURN>
+    <#literal_with_escaped_FORM_FEED>
+    <#literal_with_numeric_escape4>
+    <#literal_with_numeric_escape8>
+    <#IRIREF_datatype>
+    <#prefixed_name_datatype>
+    <#bareword_integer>
+    <#bareword_decimal>
+    <#bareword_double>
+    <#double_lower_case_e>
+    <#negative_numeric>
+    <#positive_numeric>
+    <#numeric_with_leading_0>
+    <#literal_true>
+    <#literal_false>
+    <#langtagged_non_LONG>
+    <#langtagged_LONG>
+    <#lantag_with_subtag>
+    <#objectList_with_two_objects>
+    <#predicateObjectList_with_two_objectLists>
+    <#repeated_semis_at_end>
+    <#repeated_semis_not_at_end>
+
+    # original tests-ttl
+    <#turtle-syntax-file-01>
+    <#turtle-syntax-file-02>
+    <#turtle-syntax-file-03>
+    <#turtle-syntax-uri-01>
+    <#turtle-syntax-uri-02>
+    <#turtle-syntax-uri-03>
+    <#turtle-syntax-uri-04>
+    <#turtle-syntax-base-01>
+    <#turtle-syntax-base-02>
+    <#turtle-syntax-base-03>
+    <#turtle-syntax-base-04>
+    <#turtle-syntax-prefix-01>
+    <#turtle-syntax-prefix-02>
+    <#turtle-syntax-prefix-03>
+    <#turtle-syntax-prefix-04>
+    <#turtle-syntax-prefix-05>
+    <#turtle-syntax-prefix-06>
+    <#turtle-syntax-prefix-07>
+    <#turtle-syntax-prefix-08>
+    <#turtle-syntax-prefix-09>
+    <#turtle-syntax-string-01>
+    <#turtle-syntax-string-02>
+    <#turtle-syntax-string-03>
+    <#turtle-syntax-string-04>
+    <#turtle-syntax-string-05>
+    <#turtle-syntax-string-06>
+    <#turtle-syntax-string-07>
+    <#turtle-syntax-string-08>
+    <#turtle-syntax-string-09>
+    <#turtle-syntax-string-10>
+    <#turtle-syntax-string-11>
+    <#turtle-syntax-str-esc-01>
+    <#turtle-syntax-str-esc-02>
+    <#turtle-syntax-str-esc-03>
+    <#turtle-syntax-pname-esc-01>
+    <#turtle-syntax-pname-esc-02>
+    <#turtle-syntax-pname-esc-03>
+    <#turtle-syntax-bnode-01>
+    <#turtle-syntax-bnode-02>
+    <#turtle-syntax-bnode-03>
+    <#turtle-syntax-bnode-04>
+    <#turtle-syntax-bnode-05>
+    <#turtle-syntax-bnode-06>
+    <#turtle-syntax-bnode-07>
+    <#turtle-syntax-bnode-08>
+    <#turtle-syntax-bnode-09>
+    <#turtle-syntax-bnode-10>
+    <#turtle-syntax-number-01>
+    <#turtle-syntax-number-02>
+    <#turtle-syntax-number-03>
+    <#turtle-syntax-number-04>
+    <#turtle-syntax-number-05>
+    <#turtle-syntax-number-06>
+    <#turtle-syntax-number-07>
+    <#turtle-syntax-number-08>
+    <#turtle-syntax-number-09>
+    <#turtle-syntax-number-10>
+    <#turtle-syntax-number-11>
+    <#turtle-syntax-datatypes-01>
+    <#turtle-syntax-datatypes-02>
+    <#turtle-syntax-kw-01>
+    <#turtle-syntax-kw-02>
+    <#turtle-syntax-kw-03>
+    <#turtle-syntax-struct-01>
+    <#turtle-syntax-struct-02>
+    <#turtle-syntax-struct-03>
+    <#turtle-syntax-struct-04>
+    <#turtle-syntax-struct-05>
+    <#turtle-syntax-lists-01>
+    <#turtle-syntax-lists-02>
+    <#turtle-syntax-lists-03>
+    <#turtle-syntax-lists-04>
+    <#turtle-syntax-lists-05>
+    <#turtle-syntax-bad-uri-01>
+    <#turtle-syntax-bad-uri-02>
+    <#turtle-syntax-bad-uri-03>
+    <#turtle-syntax-bad-uri-04>
+    <#turtle-syntax-bad-uri-05>
+    <#turtle-syntax-bad-prefix-01>
+    <#turtle-syntax-bad-prefix-02>
+    <#turtle-syntax-bad-prefix-03>
+    <#turtle-syntax-bad-prefix-04>
+    <#turtle-syntax-bad-prefix-05>
+    <#turtle-syntax-bad-base-01>
+    <#turtle-syntax-bad-base-02>
+    <#turtle-syntax-bad-base-03>
+    <#turtle-syntax-bad-struct-01>
+    <#turtle-syntax-bad-struct-02>
+    <#turtle-syntax-bad-struct-03>
+    <#turtle-syntax-bad-struct-04>
+    <#turtle-syntax-bad-struct-05>
+    <#turtle-syntax-bad-struct-06>
+    <#turtle-syntax-bad-struct-07>
+    <#turtle-syntax-bad-kw-01>
+    <#turtle-syntax-bad-kw-02>
+    <#turtle-syntax-bad-kw-03>
+    <#turtle-syntax-bad-kw-04>
+    <#turtle-syntax-bad-kw-05>
+    <#turtle-syntax-bad-n3-extras-01>
+    <#turtle-syntax-bad-n3-extras-02>
+    <#turtle-syntax-bad-n3-extras-03>
+    <#turtle-syntax-bad-n3-extras-04>
+    <#turtle-syntax-bad-n3-extras-05>
+    <#turtle-syntax-bad-n3-extras-06>
+    <#turtle-syntax-bad-n3-extras-07>
+    <#turtle-syntax-bad-n3-extras-08>
+    <#turtle-syntax-bad-n3-extras-09>
+    <#turtle-syntax-bad-n3-extras-10>
+    <#turtle-syntax-bad-n3-extras-11>
+    <#turtle-syntax-bad-n3-extras-12>
+    <#turtle-syntax-bad-n3-extras-13>
+    <#turtle-syntax-bad-struct-08>
+    <#turtle-syntax-bad-struct-09>
+    <#turtle-syntax-bad-struct-10>
+    <#turtle-syntax-bad-struct-11>
+    <#turtle-syntax-bad-struct-12>
+    <#turtle-syntax-bad-struct-13>
+    <#turtle-syntax-bad-struct-14>
+    <#turtle-syntax-bad-struct-15>
+    <#turtle-syntax-bad-struct-16>
+    <#turtle-syntax-bad-struct-17>
+    <#turtle-syntax-bad-lang-01>
+    <#turtle-syntax-bad-esc-01>
+    <#turtle-syntax-bad-esc-02>
+    <#turtle-syntax-bad-esc-03>
+    <#turtle-syntax-bad-esc-04>
+    <#turtle-syntax-bad-pname-01>
+    <#turtle-syntax-bad-pname-02>
+    <#turtle-syntax-bad-pname-03>
+    <#turtle-syntax-bad-string-01>
+    <#turtle-syntax-bad-string-02>
+    <#turtle-syntax-bad-string-03>
+    <#turtle-syntax-bad-string-04>
+    <#turtle-syntax-bad-string-05>
+    <#turtle-syntax-bad-string-06>
+    <#turtle-syntax-bad-string-07>
+    <#turtle-syntax-bad-num-01>
+    <#turtle-syntax-bad-num-02>
+    <#turtle-syntax-bad-num-03>
+    <#turtle-syntax-bad-num-04>
+    <#turtle-syntax-bad-num-05>
+    <#turtle-eval-struct-01>
+    <#turtle-eval-struct-02>
+    <#turtle-subm-01>
+    <#turtle-subm-02>
+    <#turtle-subm-03>
+    <#turtle-subm-04>
+    <#turtle-subm-05>
+    <#turtle-subm-06>
+    <#turtle-subm-07>
+    <#turtle-subm-08>
+    <#turtle-subm-09>
+    <#turtle-subm-10>
+    <#turtle-subm-11>
+    <#turtle-subm-12>
+    <#turtle-subm-13>
+    <#turtle-subm-14>
+    <#turtle-subm-15>
+    <#turtle-subm-16>
+    <#turtle-subm-17>
+    <#turtle-subm-18>
+    <#turtle-subm-19>
+    <#turtle-subm-20>
+    <#turtle-subm-21>
+    <#turtle-subm-22>
+    <#turtle-subm-23>
+    <#turtle-subm-24>
+    <#turtle-subm-25>
+    <#turtle-subm-26>
+    <#turtle-subm-27>
+    <#turtle-eval-bad-01>
+    <#turtle-eval-bad-02>
+    <#turtle-eval-bad-03>
+    <#turtle-eval-bad-04>
+
+    # tests from Dave Beckett
+    # http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c28
+    <#LITERAL_LONG2_with_REVERSE_SOLIDUS>
+    <#turtle-syntax-bad-LITERAL2_with_langtag_and_datatype>
+    <#two_LITERAL_LONG2s>
+    <#langtagged_LONG_with_subtag>
+
+    # tests from David Robillard
+    # http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c21
+    <#turtle-syntax-bad-blank-label-dot-end>
+    <#turtle-syntax-bad-ln-dash-start>
+    <#turtle-syntax-bad-ln-escape-start>
+    <#turtle-syntax-bad-ln-escape>
+    <#turtle-syntax-bad-missing-ns-dot-end>
+    <#turtle-syntax-bad-missing-ns-dot-start>
+    <#turtle-syntax-bad-ns-dot-end>
+    <#turtle-syntax-bad-ns-dot-start>
+    <#turtle-syntax-bad-number-dot-in-anon>
+    <#turtle-syntax-blank-label>
+    <#turtle-syntax-ln-colons>
+    <#turtle-syntax-ln-dots>
+    <#turtle-syntax-ns-dots>
+    ) .
+
+# atomic tests
+<#IRI_subject> rdf:type rdft:TestTurtleEval ;
+   mf:name      "IRI_subject" ;
+   rdfs:comment "IRI subject" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <IRI_subject.ttl> ;
+   mf:result    <IRI_spo.nt> ;
+   .
+
+<#IRI_with_four_digit_numeric_escape> rdf:type rdft:TestTurtleEval ;
+   mf:name      "IRI_with_four_digit_numeric_escape" ;
+   rdfs:comment "IRI with four digit numeric escape (\\u)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <IRI_with_four_digit_numeric_escape.ttl> ;
+   mf:result    <IRI_spo.nt> ;
+   .
+
+<#IRI_with_eight_digit_numeric_escape> rdf:type rdft:TestTurtleEval ;
+   mf:name      "IRI_with_eight_digit_numeric_escape" ;
+   rdfs:comment "IRI with eight digit numeric escape (\\U)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <IRI_with_eight_digit_numeric_escape.ttl> ;
+   mf:result    <IRI_spo.nt> ;
+   .
+
+<#IRI_with_all_punctuation> rdf:type rdft:TestTurtleEval ;
+   mf:name      "IRI_with_all_punctuation" ;
+   rdfs:comment "IRI with all punctuation" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <IRI_with_all_punctuation.ttl> ;
+   mf:result    <IRI_with_all_punctuation.nt> ;
+   .
+
+<#bareword_a_predicate> rdf:type rdft:TestTurtleEval ;
+   mf:name      "bareword_a_predicate" ;
+   rdfs:comment "bareword a predicate" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <bareword_a_predicate.ttl> ;
+   mf:result    <bareword_a_predicate.nt> ;
+   .
+
+<#old_style_prefix> rdf:type rdft:TestTurtleEval ;
+   mf:name      "old_style_prefix" ;
+   rdfs:comment "old-style prefix" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <old_style_prefix.ttl> ;
+   mf:result    <IRI_spo.nt> ;
+   .
+
+<#SPARQL_style_prefix> rdf:type rdft:TestTurtleEval ;
+   mf:name      "SPARQL_style_prefix" ;
+   rdfs:comment "SPARQL-style prefix" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <SPARQL_style_prefix.ttl> ;
+   mf:result    <IRI_spo.nt> ;
+   .
+
+<#prefixed_IRI_predicate> rdf:type rdft:TestTurtleEval ;
+   mf:name      "prefixed_IRI_predicate" ;
+   rdfs:comment "prefixed IRI predicate" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <prefixed_IRI_predicate.ttl> ;
+   mf:result    <IRI_spo.nt> ;
+   .
+
+<#prefixed_IRI_object> rdf:type rdft:TestTurtleEval ;
+   mf:name      "prefixed_IRI_object" ;
+   rdfs:comment "prefixed IRI object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <prefixed_IRI_object.ttl> ;
+   mf:result    <IRI_spo.nt> ;
+   .
+
+<#prefix_only_IRI> rdf:type rdft:TestTurtleEval ;
+   mf:name      "prefix_only_IRI" ;
+   rdfs:comment "prefix-only IRI (p:)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <prefix_only_IRI.ttl> ;
+   mf:result    <IRI_spo.nt> ;
+   .
+
+<#prefix_with_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ;
+   mf:name      "prefix_with_PN_CHARS_BASE_character_boundaries" ;
+   rdfs:comment "prefix with PN CHARS BASE character boundaries (prefix: AZazÀÖØöø...:)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <prefix_with_PN_CHARS_BASE_character_boundaries.ttl> ;
+   mf:result    <IRI_spo.nt> ;
+   .
+
+<#prefix_with_non_leading_extras> rdf:type rdft:TestTurtleEval ;
+   mf:name      "prefix_with_non_leading_extras" ;
+   rdfs:comment "prefix with_non_leading_extras (_:a·̀ͯ‿.⁀)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <prefix_with_non_leading_extras.ttl> ;
+   mf:result    <IRI_spo.nt> ;
+   .
+
+<#localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ;
+   mf:name      "localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries" ;
+   rdfs:comment "localName with assigned, NFC-normalized, basic-multilingual-plane PN CHARS BASE character boundaries (p:AZazÀÖØöø...)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.ttl> ;
+   mf:result    <localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nt> ;
+   .
+
+<#localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ;
+   mf:name      "localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries" ;
+   rdfs:comment "localName with assigned, NFC-normalized PN CHARS BASE character boundaries (p:AZazÀÖØöø...)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.ttl> ;
+   mf:result    <localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nt> ;
+   .
+
+<#localName_with_nfc_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ;
+   mf:name      "localName_with_nfc_PN_CHARS_BASE_character_boundaries" ;
+   rdfs:comment "localName with nfc-normalize PN CHARS BASE character boundaries (p:AZazÀÖØöø...)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <localName_with_nfc_PN_CHARS_BASE_character_boundaries.ttl> ;
+   mf:result    <localName_with_nfc_PN_CHARS_BASE_character_boundaries.nt> ;
+   .
+
+<#localName_with_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ;
+   mf:name      "localName_with_PN_CHARS_BASE_character_boundaries" ;
+   rdfs:comment "localName with PN CHARS BASE character boundaries (p:AZazÀÖØöø...)" ;
+   rdft:approval rdft:Rejected ;
+   mf:action    <localName_with_PN_CHARS_BASE_character_boundaries.ttl> ;
+   mf:result    <localName_with_PN_CHARS_BASE_character_boundaries.nt> ;
+   .
+
+<#default_namespace_IRI> rdf:type rdft:TestTurtleEval ;
+   mf:name      "default_namespace_IRI" ;
+   rdfs:comment "default namespace IRI (:ln)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <default_namespace_IRI.ttl> ;
+   mf:result    <IRI_spo.nt> ;
+   .
+
+<#prefix_reassigned_and_used> rdf:type rdft:TestTurtleEval ;
+   mf:name      "prefix_reassigned_and_used" ;
+   rdfs:comment "prefix reassigned and used" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <prefix_reassigned_and_used.ttl> ;
+   mf:result    <prefix_reassigned_and_used.nt> ;
+   .
+
+<#reserved_escaped_localName> rdf:type rdft:TestTurtleEval ;
+   mf:name      "reserved_escaped_localName" ;
+   rdfs:comment "reserved-escaped local name" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <reserved_escaped_localName.ttl> ;
+   mf:result    <reserved_escaped_localName.nt> ;
+   .
+
+<#percent_escaped_localName> rdf:type rdft:TestTurtleEval ;
+   mf:name      "percent_escaped_localName" ;
+   rdfs:comment "percent-escaped local name" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <percent_escaped_localName.ttl> ;
+   mf:result    <percent_escaped_localName.nt> ;
+   .
+
+<#HYPHEN_MINUS_in_localName> rdf:type rdft:TestTurtleEval ;
+   mf:name      "HYPHEN_MINUS_in_localName" ;
+   rdfs:comment "HYPHEN-MINUS in local name" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <HYPHEN_MINUS_in_localName.ttl> ;
+   mf:result    <HYPHEN_MINUS_in_localName.nt> ;
+   .
+
+<#underscore_in_localName> rdf:type rdft:TestTurtleEval ;
+   mf:name      "underscore_in_localName" ;
+   rdfs:comment "underscore in local name" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <underscore_in_localName.ttl> ;
+   mf:result    <underscore_in_localName.nt> ;
+   .
+
+<#localname_with_COLON> rdf:type rdft:TestTurtleEval ;
+   mf:name      "localname_with_COLON" ;
+   rdfs:comment "localname with COLON" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <localname_with_COLON.ttl> ;
+   mf:result    <localname_with_COLON.nt> ;
+   .
+
+<#localName_with_leading_underscore> rdf:type rdft:TestTurtleEval ;
+   mf:name      "localName_with_leading_underscore" ;
+   rdfs:comment "localName with leading underscore (p:_)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <localName_with_leading_underscore.ttl> ;
+   mf:result    <localName_with_leading_underscore.nt> ;
+   .
+
+<#localName_with_leading_digit> rdf:type rdft:TestTurtleEval ;
+   mf:name      "localName_with_leading_digit" ;
+   rdfs:comment "localName with leading digit (p:_)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <localName_with_leading_digit.ttl> ;
+   mf:result    <localName_with_leading_digit.nt> ;
+   .
+
+<#localName_with_non_leading_extras> rdf:type rdft:TestTurtleEval ;
+   mf:name      "localName_with_non_leading_extras" ;
+   rdfs:comment "localName with_non_leading_extras (_:a·̀ͯ‿.⁀)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <localName_with_non_leading_extras.ttl> ;
+   mf:result    <localName_with_non_leading_extras.nt> ;
+   .
+
+<#old_style_base> rdf:type rdft:TestTurtleEval ;
+   mf:name      "old_style_base" ;
+   rdfs:comment "old-style base" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <old_style_base.ttl> ;
+   mf:result    <IRI_spo.nt> ;
+   .
+
+<#SPARQL_style_base> rdf:type rdft:TestTurtleEval ;
+   mf:name      "SPARQL_style_base" ;
+   rdfs:comment "SPARQL-style base" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <SPARQL_style_base.ttl> ;
+   mf:result    <IRI_spo.nt> ;
+   .
+
+<#labeled_blank_node_subject> rdf:type rdft:TestTurtleEval ;
+   mf:name      "labeled_blank_node_subject" ;
+   rdfs:comment "labeled blank node subject" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <labeled_blank_node_subject.ttl> ;
+   mf:result    <labeled_blank_node_subject.nt> ;
+   .
+
+<#labeled_blank_node_object> rdf:type rdft:TestTurtleEval ;
+   mf:name      "labeled_blank_node_object" ;
+   rdfs:comment "labeled blank node object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <labeled_blank_node_object.ttl> ;
+   mf:result    <labeled_blank_node_object.nt> ;
+   .
+
+<#labeled_blank_node_with_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ;
+   mf:name      "labeled_blank_node_with_PN_CHARS_BASE_character_boundaries" ;
+   rdfs:comment "labeled blank node with PN_CHARS_BASE character boundaries (_:AZazÀÖØöø...)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.ttl> ;
+   mf:result    <labeled_blank_node_object.nt> ;
+   .
+
+<#labeled_blank_node_with_leading_underscore> rdf:type rdft:TestTurtleEval ;
+   mf:name      "labeled_blank_node_with_leading_underscore" ;
+   rdfs:comment "labeled blank node with_leading_underscore (_:_)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <labeled_blank_node_with_leading_underscore.ttl> ;
+   mf:result    <labeled_blank_node_object.nt> ;
+   .
+
+<#labeled_blank_node_with_leading_digit> rdf:type rdft:TestTurtleEval ;
+   mf:name      "labeled_blank_node_with_leading_digit" ;
+   rdfs:comment "labeled blank node with_leading_digit (_:0)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <labeled_blank_node_with_leading_digit.ttl> ;
+   mf:result    <labeled_blank_node_object.nt> ;
+   .
+
+<#labeled_blank_node_with_non_leading_extras> rdf:type rdft:TestTurtleEval ;
+   mf:name      "labeled_blank_node_with_non_leading_extras" ;
+   rdfs:comment "labeled blank node with_non_leading_extras (_:a·̀ͯ‿.⁀)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <labeled_blank_node_with_non_leading_extras.ttl> ;
+   mf:result    <labeled_blank_node_object.nt> ;
+   .
+
+<#anonymous_blank_node_subject> rdf:type rdft:TestTurtleEval ;
+   mf:name      "anonymous_blank_node_subject" ;
+   rdfs:comment "anonymous blank node subject" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <anonymous_blank_node_subject.ttl> ;
+   mf:result    <labeled_blank_node_subject.nt> ;
+   .
+
+<#anonymous_blank_node_object> rdf:type rdft:TestTurtleEval ;
+   mf:name      "anonymous_blank_node_object" ;
+   rdfs:comment "anonymous blank node object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <anonymous_blank_node_object.ttl> ;
+   mf:result    <labeled_blank_node_object.nt> ;
+   .
+
+<#sole_blankNodePropertyList> rdf:type rdft:TestTurtleEval ;
+   mf:name      "sole_blankNodePropertyList" ;
+   rdfs:comment "sole blankNodePropertyList [ <p> <o> ] ." ;
+   rdft:approval rdft:Approved ;
+   mf:action    <sole_blankNodePropertyList.ttl> ;
+   mf:result    <labeled_blank_node_subject.nt> ;
+   .
+
+<#blankNodePropertyList_as_subject> rdf:type rdft:TestTurtleEval ;
+   mf:name      "blankNodePropertyList_as_subject" ;
+   rdfs:comment "blankNodePropertyList as subject [ … ] <p> <o> ." ;
+   rdft:approval rdft:Approved ;
+   mf:action    <blankNodePropertyList_as_subject.ttl> ;
+   mf:result    <blankNodePropertyList_as_subject.nt> ;
+   .
+
+<#blankNodePropertyList_as_object> rdf:type rdft:TestTurtleEval ;
+   mf:name      "blankNodePropertyList_as_object" ;
+   rdfs:comment "blankNodePropertyList as object <s> <p> [ … ] ." ;
+   rdft:approval rdft:Approved ;
+   mf:action    <blankNodePropertyList_as_object.ttl> ;
+   mf:result    <blankNodePropertyList_as_object.nt> ;
+   .
+
+<#blankNodePropertyList_with_multiple_triples> rdf:type rdft:TestTurtleEval ;
+   mf:name      "blankNodePropertyList_with_multiple_triples" ;
+   rdfs:comment "blankNodePropertyList with multiple triples [ <s> <p> ; <s2> <p2> ]" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <blankNodePropertyList_with_multiple_triples.ttl> ;
+   mf:result    <blankNodePropertyList_with_multiple_triples.nt> ;
+   .
+
+<#nested_blankNodePropertyLists> rdf:type rdft:TestTurtleEval ;
+   mf:name      "nested_blankNodePropertyLists" ;
+   rdfs:comment "nested blankNodePropertyLists [ <p1> [ <p2> <o2> ] ; <p3> <o3> ]" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <nested_blankNodePropertyLists.ttl> ;
+   mf:result    <nested_blankNodePropertyLists.nt> ;
+   .
+
+<#blankNodePropertyList_containing_collection> rdf:type rdft:TestTurtleEval ;
+   mf:name      "blankNodePropertyList_containing_collection" ;
+   rdfs:comment "blankNodePropertyList containing collection [ <p1> ( … ) ]" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <blankNodePropertyList_containing_collection.ttl> ;
+   mf:result    <blankNodePropertyList_containing_collection.nt> ;
+   .
+
+<#collection_subject> rdf:type rdft:TestTurtleEval ;
+   mf:name      "collection_subject" ;
+   rdfs:comment "collection subject" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <collection_subject.ttl> ;
+   mf:result    <collection_subject.nt> ;
+   .
+
+<#collection_object> rdf:type rdft:TestTurtleEval ;
+   mf:name      "collection_object" ;
+   rdfs:comment "collection object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <collection_object.ttl> ;
+   mf:result    <collection_object.nt> ;
+   .
+
+<#empty_collection> rdf:type rdft:TestTurtleEval ;
+   mf:name      "empty_collection" ;
+   rdfs:comment "empty collection ()" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <empty_collection.ttl> ;
+   mf:result    <empty_collection.nt> ;
+   .
+
+<#nested_collection> rdf:type rdft:TestTurtleEval ;
+   mf:name      "nested_collection" ;
+   rdfs:comment "nested collection (())" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <nested_collection.ttl> ;
+   mf:result    <nested_collection.nt> ;
+   .
+
+<#first> rdf:type rdft:TestTurtleEval ;
+   mf:name      "first" ;
+   rdfs:comment "first, not last, non-empty nested collection" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <first.ttl> ;
+   mf:result    <first.nt> ;
+   .
+
+<#last> rdf:type rdft:TestTurtleEval ;
+   mf:name      "last" ;
+   rdfs:comment "last, not first, non-empty nested collection" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <last.ttl> ;
+   mf:result    <last.nt> ;
+   .
+
+<#LITERAL1> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL1" ;
+   rdfs:comment "LITERAL1 'x'" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL1.ttl> ;
+   mf:result    <LITERAL1.nt> ;
+   .
+
+<#LITERAL1_ascii_boundaries> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL1_ascii_boundaries" ;
+   rdfs:comment "LITERAL1_ascii_boundaries '\\x00\\x09\\x0b\\x0c\\x0e\\x26\\x28...'" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL1_ascii_boundaries.ttl> ;
+   mf:result    <LITERAL1_ascii_boundaries.nt> ;
+   .
+
+<#LITERAL1_with_UTF8_boundaries> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL1_with_UTF8_boundaries" ;
+   rdfs:comment "LITERAL1_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL1_with_UTF8_boundaries.ttl> ;
+   mf:result    <LITERAL_with_UTF8_boundaries.nt> ;
+   .
+
+<#LITERAL1_all_controls> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL1_all_controls" ;
+   rdfs:comment "LITERAL1_all_controls '\\x00\\x01\\x02\\x03\\x04...'" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL1_all_controls.ttl> ;
+   mf:result    <LITERAL1_all_controls.nt> ;
+   .
+
+<#LITERAL1_all_punctuation> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL1_all_punctuation" ;
+   rdfs:comment "LITERAL1_all_punctuation '!\"#$%&()...'" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL1_all_punctuation.ttl> ;
+   mf:result    <LITERAL1_all_punctuation.nt> ;
+   .
+
+<#LITERAL_LONG1> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL_LONG1" ;
+   rdfs:comment "LITERAL_LONG1 '''x'''" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL_LONG1.ttl> ;
+   mf:result    <LITERAL1.nt> ;
+   .
+
+<#LITERAL_LONG1_ascii_boundaries> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL_LONG1_ascii_boundaries" ;
+   rdfs:comment "LITERAL_LONG1_ascii_boundaries '\\x00\\x26\\x28...'" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL_LONG1_ascii_boundaries.ttl> ;
+   mf:result    <LITERAL_LONG1_ascii_boundaries.nt> ;
+   .
+
+<#LITERAL_LONG1_with_UTF8_boundaries> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL_LONG1_with_UTF8_boundaries" ;
+   rdfs:comment "LITERAL_LONG1_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL_LONG1_with_UTF8_boundaries.ttl> ;
+   mf:result    <LITERAL_with_UTF8_boundaries.nt> ;
+   .
+
+<#LITERAL_LONG1_with_1_squote> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL_LONG1_with_1_squote" ;
+   rdfs:comment "LITERAL_LONG1 with 1 squote '''a'b'''" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL_LONG1_with_1_squote.ttl> ;
+   mf:result    <LITERAL_LONG1_with_1_squote.nt> ;
+   .
+
+<#LITERAL_LONG1_with_2_squotes> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL_LONG1_with_2_squotes" ;
+   rdfs:comment "LITERAL_LONG1 with 2 squotes '''a''b'''" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL_LONG1_with_2_squotes.ttl> ;
+   mf:result    <LITERAL_LONG1_with_2_squotes.nt> ;
+   .
+
+<#LITERAL2> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL2" ;
+   rdfs:comment "LITERAL2 \"x\"" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL2.ttl> ;
+   mf:result    <LITERAL1.nt> ;
+   .
+
+<#LITERAL2_ascii_boundaries> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL2_ascii_boundaries" ;
+   rdfs:comment "LITERAL2_ascii_boundaries '\\x00\\x09\\x0b\\x0c\\x0e\\x21\\x23...'" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL2_ascii_boundaries.ttl> ;
+   mf:result    <LITERAL2_ascii_boundaries.nt> ;
+   .
+
+<#LITERAL2_with_UTF8_boundaries> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL2_with_UTF8_boundaries" ;
+   rdfs:comment "LITERAL2_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL2_with_UTF8_boundaries.ttl> ;
+   mf:result    <LITERAL_with_UTF8_boundaries.nt> ;
+   .
+
+<#LITERAL_LONG2> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL_LONG2" ;
+   rdfs:comment "LITERAL_LONG2 \"\"\"x\"\"\"" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL_LONG2.ttl> ;
+   mf:result    <LITERAL1.nt> ;
+   .
+
+<#LITERAL_LONG2_ascii_boundaries> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL_LONG2_ascii_boundaries" ;
+   rdfs:comment "LITERAL_LONG2_ascii_boundaries '\\x00\\x21\\x23...'" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL_LONG2_ascii_boundaries.ttl> ;
+   mf:result    <LITERAL_LONG2_ascii_boundaries.nt> ;
+   .
+
+<#LITERAL_LONG2_with_UTF8_boundaries> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL_LONG2_with_UTF8_boundaries" ;
+   rdfs:comment "LITERAL_LONG2_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL_LONG2_with_UTF8_boundaries.ttl> ;
+   mf:result    <LITERAL_with_UTF8_boundaries.nt> ;
+   .
+
+<#LITERAL_LONG2_with_1_squote> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL_LONG2_with_1_squote" ;
+   rdfs:comment "LITERAL_LONG2 with 1 squote \"\"\"a\"b\"\"\"" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL_LONG2_with_1_squote.ttl> ;
+   mf:result    <LITERAL_LONG2_with_1_squote.nt> ;
+   .
+
+<#LITERAL_LONG2_with_2_squotes> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL_LONG2_with_2_squotes" ;
+   rdfs:comment "LITERAL_LONG2 with 2 squotes \"\"\"a\"\"b\"\"\"" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL_LONG2_with_2_squotes.ttl> ;
+   mf:result    <LITERAL_LONG2_with_2_squotes.nt> ;
+   .
+
+<#literal_with_CHARACTER_TABULATION> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_with_CHARACTER_TABULATION" ;
+   rdfs:comment "literal with CHARACTER TABULATION" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_with_CHARACTER_TABULATION.ttl> ;
+   mf:result    <literal_with_CHARACTER_TABULATION.nt> ;
+   .
+
+<#literal_with_BACKSPACE> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_with_BACKSPACE" ;
+   rdfs:comment "literal with BACKSPACE" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_with_BACKSPACE.ttl> ;
+   mf:result    <literal_with_BACKSPACE.nt> ;
+   .
+
+<#literal_with_LINE_FEED> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_with_LINE_FEED" ;
+   rdfs:comment "literal with LINE FEED" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_with_LINE_FEED.ttl> ;
+   mf:result    <literal_with_LINE_FEED.nt> ;
+   .
+
+<#literal_with_CARRIAGE_RETURN> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_with_CARRIAGE_RETURN" ;
+   rdfs:comment "literal with CARRIAGE RETURN" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_with_CARRIAGE_RETURN.ttl> ;
+   mf:result    <literal_with_CARRIAGE_RETURN.nt> ;
+   .
+
+<#literal_with_FORM_FEED> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_with_FORM_FEED" ;
+   rdfs:comment "literal with FORM FEED" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_with_FORM_FEED.ttl> ;
+   mf:result    <literal_with_FORM_FEED.nt> ;
+   .
+
+<#literal_with_REVERSE_SOLIDUS> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_with_REVERSE_SOLIDUS" ;
+   rdfs:comment "literal with REVERSE SOLIDUS" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_with_REVERSE_SOLIDUS.ttl> ;
+   mf:result    <literal_with_REVERSE_SOLIDUS.nt> ;
+   .
+
+<#literal_with_escaped_CHARACTER_TABULATION> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_with_escaped_CHARACTER_TABULATION" ;
+   rdfs:comment "literal with escaped CHARACTER TABULATION" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_with_escaped_CHARACTER_TABULATION.ttl> ;
+   mf:result    <literal_with_CHARACTER_TABULATION.nt> ;
+   .
+
+<#literal_with_escaped_BACKSPACE> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_with_escaped_BACKSPACE" ;
+   rdfs:comment "literal with escaped BACKSPACE" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_with_escaped_BACKSPACE.ttl> ;
+   mf:result    <literal_with_BACKSPACE.nt> ;
+   .
+
+<#literal_with_escaped_LINE_FEED> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_with_escaped_LINE_FEED" ;
+   rdfs:comment "literal with escaped LINE FEED" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_with_escaped_LINE_FEED.ttl> ;
+   mf:result    <literal_with_LINE_FEED.nt> ;
+   .
+
+<#literal_with_escaped_CARRIAGE_RETURN> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_with_escaped_CARRIAGE_RETURN" ;
+   rdfs:comment "literal with escaped CARRIAGE RETURN" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_with_escaped_CARRIAGE_RETURN.ttl> ;
+   mf:result    <literal_with_CARRIAGE_RETURN.nt> ;
+   .
+
+<#literal_with_escaped_FORM_FEED> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_with_escaped_FORM_FEED" ;
+   rdfs:comment "literal with escaped FORM FEED" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_with_escaped_FORM_FEED.ttl> ;
+   mf:result    <literal_with_FORM_FEED.nt> ;
+   .
+
+<#literal_with_numeric_escape4> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_with_numeric_escape4" ;
+   rdfs:comment "literal with numeric escape4 \\u" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_with_numeric_escape4.ttl> ;
+   mf:result    <literal_with_numeric_escape4.nt> ;
+   .
+
+<#literal_with_numeric_escape8> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_with_numeric_escape8" ;
+   rdfs:comment "literal with numeric escape8 \\U" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_with_numeric_escape8.ttl> ;
+   mf:result    <literal_with_numeric_escape4.nt> ;
+   .
+
+<#IRIREF_datatype> rdf:type rdft:TestTurtleEval ;
+   mf:name      "IRIREF_datatype" ;
+   rdfs:comment "IRIREF datatype \"\"^^<t>" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <IRIREF_datatype.ttl> ;
+   mf:result    <IRIREF_datatype.nt> ;
+   .
+
+<#prefixed_name_datatype> rdf:type rdft:TestTurtleEval ;
+   mf:name      "prefixed_name_datatype" ;
+   rdfs:comment "prefixed name datatype \"\"^^p:t" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <prefixed_name_datatype.ttl> ;
+   mf:result    <IRIREF_datatype.nt> ;
+   .
+
+<#bareword_integer> rdf:type rdft:TestTurtleEval ;
+   mf:name      "bareword_integer" ;
+   rdfs:comment "bareword integer" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <bareword_integer.ttl> ;
+   mf:result    <IRIREF_datatype.nt> ;
+   .
+
+<#bareword_decimal> rdf:type rdft:TestTurtleEval ;
+   mf:name      "bareword_decimal" ;
+   rdfs:comment "bareword decimal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <bareword_decimal.ttl> ;
+   mf:result    <bareword_decimal.nt> ;
+   .
+
+<#bareword_double> rdf:type rdft:TestTurtleEval ;
+   mf:name      "bareword_double" ;
+   rdfs:comment "bareword double" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <bareword_double.ttl> ;
+   mf:result    <bareword_double.nt> ;
+   .
+
+<#double_lower_case_e> rdf:type rdft:TestTurtleEval ;
+   mf:name      "double_lower_case_e" ;
+   rdfs:comment "double lower case e" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <double_lower_case_e.ttl> ;
+   mf:result    <double_lower_case_e.nt> ;
+   .
+
+<#negative_numeric> rdf:type rdft:TestTurtleEval ;
+   mf:name      "negative_numeric" ;
+   rdfs:comment "negative numeric" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <negative_numeric.ttl> ;
+   mf:result    <negative_numeric.nt> ;
+   .
+
+<#positive_numeric> rdf:type rdft:TestTurtleEval ;
+   mf:name      "positive_numeric" ;
+   rdfs:comment "positive numeric" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <positive_numeric.ttl> ;
+   mf:result    <positive_numeric.nt> ;
+   .
+
+<#numeric_with_leading_0> rdf:type rdft:TestTurtleEval ;
+   mf:name      "numeric_with_leading_0" ;
+   rdfs:comment "numeric with leading 0" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <numeric_with_leading_0.ttl> ;
+   mf:result    <numeric_with_leading_0.nt> ;
+   .
+
+<#literal_true> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_true" ;
+   rdfs:comment "literal true" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_true.ttl> ;
+   mf:result    <literal_true.nt> ;
+   .
+
+<#literal_false> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_false" ;
+   rdfs:comment "literal false" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_false.ttl> ;
+   mf:result    <literal_false.nt> ;
+   .
+
+<#langtagged_non_LONG> rdf:type rdft:TestTurtleEval ;
+   mf:name      "langtagged_non_LONG" ;
+   rdfs:comment "langtagged non-LONG \"x\"@en" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <langtagged_non_LONG.ttl> ;
+   mf:result    <langtagged_non_LONG.nt> ;
+   .
+
+<#langtagged_LONG> rdf:type rdft:TestTurtleEval ;
+   mf:name      "langtagged_LONG" ;
+   rdfs:comment "langtagged LONG \"\"\"x\"\"\"@en" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <langtagged_LONG.ttl> ;
+   mf:result    <langtagged_non_LONG.nt> ;
+   .
+
+<#lantag_with_subtag> rdf:type rdft:TestTurtleEval ;
+   mf:name      "lantag_with_subtag" ;
+   rdfs:comment "lantag with subtag \"x\"@en-us" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <lantag_with_subtag.ttl> ;
+   mf:result    <lantag_with_subtag.nt> ;
+   .
+
+<#objectList_with_two_objects> rdf:type rdft:TestTurtleEval ;
+   mf:name      "objectList_with_two_objects" ;
+   rdfs:comment "objectList with two objects … <o1>,<o2>" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <objectList_with_two_objects.ttl> ;
+   mf:result    <objectList_with_two_objects.nt> ;
+   .
+
+<#predicateObjectList_with_two_objectLists> rdf:type rdft:TestTurtleEval ;
+   mf:name      "predicateObjectList_with_two_objectLists" ;
+   rdfs:comment "predicateObjectList with two objectLists … <o1>,<o2>" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <predicateObjectList_with_two_objectLists.ttl> ;
+   mf:result    <predicateObjectList_with_two_objectLists.nt> ;
+   .
+
+<#repeated_semis_at_end> rdf:type rdft:TestTurtleEval ;
+   mf:name      "repeated_semis_at_end" ;
+   rdfs:comment "repeated semis at end <s> <p> <o> ;; <p2> <o2> ." ;
+   rdft:approval rdft:Approved ;
+   mf:action    <repeated_semis_at_end.ttl> ;
+   mf:result    <predicateObjectList_with_two_objectLists.nt> ;
+   .
+
+<#repeated_semis_not_at_end> rdf:type rdft:TestTurtleEval ;
+   mf:name      "repeated_semis_not_at_end" ;
+   rdfs:comment "repeated semis not at end <s> <p> <o> ;;." ;
+   rdft:approval rdft:Approved ;
+   mf:action    <repeated_semis_not_at_end.ttl> ;
+   mf:result    <repeated_semis_not_at_end.nt> ;
+   .
+
+# original tests-ttl
+<#turtle-syntax-file-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-file-01" ;
+   rdfs:comment "Empty file" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-file-01.ttl> ;
+   .
+
+<#turtle-syntax-file-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-file-02" ;
+   rdfs:comment "Only comment" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-file-02.ttl> ;
+   .
+
+<#turtle-syntax-file-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-file-03" ;
+   rdfs:comment "One comment, one empty line" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-file-03.ttl> ;
+   .
+
+<#turtle-syntax-uri-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-uri-01" ;
+   rdfs:comment "Only IRIs" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-uri-01.ttl> ;
+   .
+
+<#turtle-syntax-uri-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-uri-02" ;
+   rdfs:comment "IRIs with Unicode escape" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-uri-02.ttl> ;
+   .
+
+<#turtle-syntax-uri-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-uri-03" ;
+   rdfs:comment "IRIs with long Unicode escape" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-uri-03.ttl> ;
+   .
+
+<#turtle-syntax-uri-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-uri-04" ;
+   rdfs:comment "Legal IRIs" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-uri-04.ttl> ;
+   .
+
+<#turtle-syntax-base-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-base-01" ;
+   rdfs:comment "@base" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-base-01.ttl> ;
+   .
+
+<#turtle-syntax-base-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-base-02" ;
+   rdfs:comment "BASE" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-base-02.ttl> ;
+   .
+
+<#turtle-syntax-base-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-base-03" ;
+   rdfs:comment "@base with relative IRIs" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-base-03.ttl> ;
+   .
+
+<#turtle-syntax-base-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-base-04" ;
+   rdfs:comment "base with relative IRIs" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-base-04.ttl> ;
+   .
+
+<#turtle-syntax-prefix-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-prefix-01" ;
+   rdfs:comment "@prefix" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-prefix-01.ttl> ;
+   .
+
+<#turtle-syntax-prefix-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-prefix-02" ;
+   rdfs:comment "PreFIX" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-prefix-02.ttl> ;
+   .
+
+<#turtle-syntax-prefix-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-prefix-03" ;
+   rdfs:comment "Empty PREFIX" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-prefix-03.ttl> ;
+   .
+
+<#turtle-syntax-prefix-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-prefix-04" ;
+   rdfs:comment "Empty @prefix with % escape" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-prefix-04.ttl> ;
+   .
+
+<#turtle-syntax-prefix-05> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-prefix-05" ;
+   rdfs:comment "@prefix with no suffix" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-prefix-05.ttl> ;
+   .
+
+<#turtle-syntax-prefix-06> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-prefix-06" ;
+   rdfs:comment "colon is a legal pname character" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-prefix-06.ttl> ;
+   .
+
+<#turtle-syntax-prefix-07> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-prefix-07" ;
+   rdfs:comment "dash is a legal pname character" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-prefix-07.ttl> ;
+   .
+
+<#turtle-syntax-prefix-08> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-prefix-08" ;
+   rdfs:comment "underscore is a legal pname character" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-prefix-08.ttl> ;
+   .
+
+<#turtle-syntax-prefix-09> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-prefix-09" ;
+   rdfs:comment "percents in pnames" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-prefix-09.ttl> ;
+   .
+
+<#turtle-syntax-string-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-string-01" ;
+   rdfs:comment "string literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-string-01.ttl> ;
+   .
+
+<#turtle-syntax-string-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-string-02" ;
+   rdfs:comment "langString literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-string-02.ttl> ;
+   .
+
+<#turtle-syntax-string-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-string-03" ;
+   rdfs:comment "langString literal with region" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-string-03.ttl> ;
+   .
+
+<#turtle-syntax-string-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-string-04" ;
+   rdfs:comment "squote string literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-string-04.ttl> ;
+   .
+
+<#turtle-syntax-string-05> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-string-05" ;
+   rdfs:comment "squote langString literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-string-05.ttl> ;
+   .
+
+<#turtle-syntax-string-06> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-string-06" ;
+   rdfs:comment "squote langString literal with region" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-string-06.ttl> ;
+   .
+
+<#turtle-syntax-string-07> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-string-07" ;
+   rdfs:comment "long string literal with embedded single- and double-quotes" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-string-07.ttl> ;
+   .
+
+<#turtle-syntax-string-08> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-string-08" ;
+   rdfs:comment "long string literal with embedded newline" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-string-08.ttl> ;
+   .
+
+<#turtle-syntax-string-09> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-string-09" ;
+   rdfs:comment "squote long string literal with embedded single- and double-quotes" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-string-09.ttl> ;
+   .
+
+<#turtle-syntax-string-10> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-string-10" ;
+   rdfs:comment "long langString literal with embedded newline" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-string-10.ttl> ;
+   .
+
+<#turtle-syntax-string-11> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-string-11" ;
+   rdfs:comment "squote long langString literal with embedded newline" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-string-11.ttl> ;
+   .
+
+<#turtle-syntax-str-esc-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-str-esc-01" ;
+   rdfs:comment "string literal with escaped newline" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-str-esc-01.ttl> ;
+   .
+
+<#turtle-syntax-str-esc-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-str-esc-02" ;
+   rdfs:comment "string literal with Unicode escape" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-str-esc-02.ttl> ;
+   .
+
+<#turtle-syntax-str-esc-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-str-esc-03" ;
+   rdfs:comment "string literal with long Unicode escape" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-str-esc-03.ttl> ;
+   .
+
+<#turtle-syntax-pname-esc-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-pname-esc-01" ;
+   rdfs:comment "pname with back-slash escapes" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-pname-esc-01.ttl> ;
+   .
+
+<#turtle-syntax-pname-esc-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-pname-esc-02" ;
+   rdfs:comment "pname with back-slash escapes (2)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-pname-esc-02.ttl> ;
+   .
+
+<#turtle-syntax-pname-esc-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-pname-esc-03" ;
+   rdfs:comment "pname with back-slash escapes (3)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-pname-esc-03.ttl> ;
+   .
+
+<#turtle-syntax-bnode-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-bnode-01" ;
+   rdfs:comment "bnode subject" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bnode-01.ttl> ;
+   .
+
+<#turtle-syntax-bnode-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-bnode-02" ;
+   rdfs:comment "bnode object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bnode-02.ttl> ;
+   .
+
+<#turtle-syntax-bnode-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-bnode-03" ;
+   rdfs:comment "bnode property list object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bnode-03.ttl> ;
+   .
+
+<#turtle-syntax-bnode-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-bnode-04" ;
+   rdfs:comment "bnode property list object (2)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bnode-04.ttl> ;
+   .
+
+<#turtle-syntax-bnode-05> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-bnode-05" ;
+   rdfs:comment "bnode property list subject" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bnode-05.ttl> ;
+   .
+
+<#turtle-syntax-bnode-06> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-bnode-06" ;
+   rdfs:comment "labeled bnode subject" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bnode-06.ttl> ;
+   .
+
+<#turtle-syntax-bnode-07> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-bnode-07" ;
+   rdfs:comment "labeled bnode subject and object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bnode-07.ttl> ;
+   .
+
+<#turtle-syntax-bnode-08> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-bnode-08" ;
+   rdfs:comment "bare bnode property list" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bnode-08.ttl> ;
+   .
+
+<#turtle-syntax-bnode-09> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-bnode-09" ;
+   rdfs:comment "bnode property list" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bnode-09.ttl> ;
+   .
+
+<#turtle-syntax-bnode-10> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-bnode-10" ;
+   rdfs:comment "mixed bnode property list and triple" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bnode-10.ttl> ;
+   .
+
+<#turtle-syntax-number-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-number-01" ;
+   rdfs:comment "integer literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-number-01.ttl> ;
+   .
+
+<#turtle-syntax-number-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-number-02" ;
+   rdfs:comment "negative integer literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-number-02.ttl> ;
+   .
+
+<#turtle-syntax-number-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-number-03" ;
+   rdfs:comment "positive integer literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-number-03.ttl> ;
+   .
+
+<#turtle-syntax-number-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-number-04" ;
+   rdfs:comment "decimal literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-number-04.ttl> ;
+   .
+
+<#turtle-syntax-number-05> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-number-05" ;
+   rdfs:comment "decimal literal (no leading digits)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-number-05.ttl> ;
+   .
+
+<#turtle-syntax-number-06> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-number-06" ;
+   rdfs:comment "negative decimal literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-number-06.ttl> ;
+   .
+
+<#turtle-syntax-number-07> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-number-07" ;
+   rdfs:comment "positive decimal literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-number-07.ttl> ;
+   .
+
+<#turtle-syntax-number-08> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-number-08" ;
+   rdfs:comment "integer literal with decimal lexical confusion" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-number-08.ttl> ;
+   .
+
+<#turtle-syntax-number-09> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-number-09" ;
+   rdfs:comment "double literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-number-09.ttl> ;
+   .
+
+<#turtle-syntax-number-10> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-number-10" ;
+   rdfs:comment "negative double literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-number-10.ttl> ;
+   .
+
+<#turtle-syntax-number-11> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-number-11" ;
+   rdfs:comment "double literal no fraction" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-number-11.ttl> ;
+   .
+
+<#turtle-syntax-datatypes-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-datatypes-01" ;
+   rdfs:comment "xsd:byte literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-datatypes-01.ttl> ;
+   .
+
+<#turtle-syntax-datatypes-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-datatypes-02" ;
+   rdfs:comment "integer as xsd:string" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-datatypes-02.ttl> ;
+   .
+
+<#turtle-syntax-kw-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-kw-01" ;
+   rdfs:comment "boolean literal (true)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-kw-01.ttl> ;
+   .
+
+<#turtle-syntax-kw-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-kw-02" ;
+   rdfs:comment "boolean literal (false)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-kw-02.ttl> ;
+   .
+
+<#turtle-syntax-kw-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-kw-03" ;
+   rdfs:comment "'a' as keyword" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-kw-03.ttl> ;
+   .
+
+<#turtle-syntax-struct-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-struct-01" ;
+   rdfs:comment "object list" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-struct-01.ttl> ;
+   .
+
+<#turtle-syntax-struct-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-struct-02" ;
+   rdfs:comment "predicate list with object list" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-struct-02.ttl> ;
+   .
+
+<#turtle-syntax-struct-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-struct-03" ;
+   rdfs:comment "predicate list with object list and dangling ';'" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-struct-03.ttl> ;
+   .
+
+<#turtle-syntax-struct-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-struct-04" ;
+   rdfs:comment "predicate list with multiple ;;" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-struct-04.ttl> ;
+   .
+
+<#turtle-syntax-struct-05> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-struct-05" ;
+   rdfs:comment "predicate list with multiple ;;" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-struct-05.ttl> ;
+   .
+
+<#turtle-syntax-lists-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-lists-01" ;
+   rdfs:comment "empty list" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-lists-01.ttl> ;
+   .
+
+<#turtle-syntax-lists-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-lists-02" ;
+   rdfs:comment "mixed list" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-lists-02.ttl> ;
+   .
+
+<#turtle-syntax-lists-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-lists-03" ;
+   rdfs:comment "isomorphic list as subject and object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-lists-03.ttl> ;
+   .
+
+<#turtle-syntax-lists-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-lists-04" ;
+   rdfs:comment "lists of lists" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-lists-04.ttl> ;
+   .
+
+<#turtle-syntax-lists-05> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "turtle-syntax-lists-05" ;
+   rdfs:comment "mixed lists with embedded lists" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-lists-05.ttl> ;
+   .
+
+<#turtle-syntax-bad-uri-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-uri-01" ;
+   rdfs:comment "Bad IRI : space (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-uri-01.ttl> ;
+   .
+
+<#turtle-syntax-bad-uri-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-uri-02" ;
+   rdfs:comment "Bad IRI : bad escape (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-uri-02.ttl> ;
+   .
+
+<#turtle-syntax-bad-uri-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-uri-03" ;
+   rdfs:comment "Bad IRI : bad long escape (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-uri-03.ttl> ;
+   .
+
+<#turtle-syntax-bad-uri-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-uri-04" ;
+   rdfs:comment "Bad IRI : character escapes not allowed (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-uri-04.ttl> ;
+   .
+
+<#turtle-syntax-bad-uri-05> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-uri-05" ;
+   rdfs:comment "Bad IRI : character escapes not allowed (2) (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-uri-05.ttl> ;
+   .
+
+<#turtle-syntax-bad-prefix-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-prefix-01" ;
+   rdfs:comment "No prefix (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-prefix-01.ttl> ;
+   .
+
+<#turtle-syntax-bad-prefix-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-prefix-02" ;
+   rdfs:comment "No prefix (2) (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-prefix-02.ttl> ;
+   .
+
+<#turtle-syntax-bad-prefix-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-prefix-03" ;
+   rdfs:comment "@prefix without URI (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-prefix-03.ttl> ;
+   .
+
+<#turtle-syntax-bad-prefix-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-prefix-04" ;
+   rdfs:comment "@prefix without prefix name (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-prefix-04.ttl> ;
+   .
+
+<#turtle-syntax-bad-prefix-05> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-prefix-05" ;
+   rdfs:comment "@prefix without ':' (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-prefix-05.ttl> ;
+   .
+
+<#turtle-syntax-bad-base-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-base-01" ;
+   rdfs:comment "@base without URI (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-base-01.ttl> ;
+   .
+
+<#turtle-syntax-bad-base-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-base-02" ;
+   rdfs:comment "@base in wrong case (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-base-02.ttl> ;
+   .
+
+<#turtle-syntax-bad-base-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-base-03" ;
+   rdfs:comment "BASE without URI (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-base-03.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-01" ;
+   rdfs:comment "Turtle is not TriG (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-01.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-02" ;
+   rdfs:comment "Turtle is not N3 (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-02.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-03" ;
+   rdfs:comment "Turtle is not NQuads (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-03.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-04" ;
+   rdfs:comment "Turtle does not allow literals-as-subjects (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-04.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-05> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-05" ;
+   rdfs:comment "Turtle does not allow literals-as-predicates (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-05.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-06> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-06" ;
+   rdfs:comment "Turtle does not allow bnodes-as-predicates (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-06.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-07> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-07" ;
+   rdfs:comment "Turtle does not allow labeled bnodes-as-predicates (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-07.ttl> ;
+   .
+
+<#turtle-syntax-bad-kw-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-kw-01" ;
+   rdfs:comment "'A' is not a keyword (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-kw-01.ttl> ;
+   .
+
+<#turtle-syntax-bad-kw-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-kw-02" ;
+   rdfs:comment "'a' cannot be used as subject (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-kw-02.ttl> ;
+   .
+
+<#turtle-syntax-bad-kw-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-kw-03" ;
+   rdfs:comment "'a' cannot be used as object (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-kw-03.ttl> ;
+   .
+
+<#turtle-syntax-bad-kw-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-kw-04" ;
+   rdfs:comment "'true' cannot be used as subject (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-kw-04.ttl> ;
+   .
+
+<#turtle-syntax-bad-kw-05> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-kw-05" ;
+   rdfs:comment "'true' cannot be used as object (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-kw-05.ttl> ;
+   .
+
+<#turtle-syntax-bad-n3-extras-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-n3-extras-01" ;
+   rdfs:comment "{} fomulae not in Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-n3-extras-01.ttl> ;
+   .
+
+<#turtle-syntax-bad-n3-extras-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-n3-extras-02" ;
+   rdfs:comment "= is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-n3-extras-02.ttl> ;
+   .
+
+<#turtle-syntax-bad-n3-extras-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-n3-extras-03" ;
+   rdfs:comment "N3 paths not in Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-n3-extras-03.ttl> ;
+   .
+
+<#turtle-syntax-bad-n3-extras-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-n3-extras-04" ;
+   rdfs:comment "N3 paths not in Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-n3-extras-04.ttl> ;
+   .
+
+<#turtle-syntax-bad-n3-extras-05> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-n3-extras-05" ;
+   rdfs:comment "N3 is...of not in Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-n3-extras-05.ttl> ;
+   .
+
+<#turtle-syntax-bad-n3-extras-06> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-n3-extras-06" ;
+   rdfs:comment "N3 paths not in Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-n3-extras-06.ttl> ;
+   .
+
+<#turtle-syntax-bad-n3-extras-07> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-n3-extras-07" ;
+   rdfs:comment "@keywords is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-n3-extras-07.ttl> ;
+   .
+
+<#turtle-syntax-bad-n3-extras-08> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-n3-extras-08" ;
+   rdfs:comment "@keywords is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-n3-extras-08.ttl> ;
+   .
+
+<#turtle-syntax-bad-n3-extras-09> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-n3-extras-09" ;
+   rdfs:comment "=> is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-n3-extras-09.ttl> ;
+   .
+
+<#turtle-syntax-bad-n3-extras-10> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-n3-extras-10" ;
+   rdfs:comment "<= is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-n3-extras-10.ttl> ;
+   .
+
+<#turtle-syntax-bad-n3-extras-11> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-n3-extras-11" ;
+   rdfs:comment "@forSome is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-n3-extras-11.ttl> ;
+   .
+
+<#turtle-syntax-bad-n3-extras-12> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-n3-extras-12" ;
+   rdfs:comment "@forAll is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-n3-extras-12.ttl> ;
+   .
+
+<#turtle-syntax-bad-n3-extras-13> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-n3-extras-13" ;
+   rdfs:comment "@keywords is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-n3-extras-13.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-08> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-08" ;
+   rdfs:comment "missing '.' (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-08.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-09> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-09" ;
+   rdfs:comment "extra '.' (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-09.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-10> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-10" ;
+   rdfs:comment "extra '.' (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-10.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-11> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-11" ;
+   rdfs:comment "trailing ';' no '.' (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-11.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-12> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-12" ;
+   rdfs:comment "subject, predicate, no object (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-12.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-13> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-13" ;
+   rdfs:comment "subject, predicate, no object (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-13.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-14> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-14" ;
+   rdfs:comment "literal as subject (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-14.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-15> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-15" ;
+   rdfs:comment "literal as predicate (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-15.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-16> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-16" ;
+   rdfs:comment "bnode as predicate (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-16.ttl> ;
+   .
+
+<#turtle-syntax-bad-struct-17> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-struct-17" ;
+   rdfs:comment "labeled bnode as predicate (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-struct-17.ttl> ;
+   .
+
+<#turtle-syntax-bad-lang-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-lang-01" ;
+   rdfs:comment "langString with bad lang (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-lang-01.ttl> ;
+   .
+
+<#turtle-syntax-bad-esc-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-esc-01" ;
+   rdfs:comment "Bad string escape (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-esc-01.ttl> ;
+   .
+
+<#turtle-syntax-bad-esc-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-esc-02" ;
+   rdfs:comment "Bad string escape (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-esc-02.ttl> ;
+   .
+
+<#turtle-syntax-bad-esc-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-esc-03" ;
+   rdfs:comment "Bad string escape (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-esc-03.ttl> ;
+   .
+
+<#turtle-syntax-bad-esc-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-esc-04" ;
+   rdfs:comment "Bad string escape (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-esc-04.ttl> ;
+   .
+
+<#turtle-syntax-bad-pname-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-pname-01" ;
+   rdfs:comment "'~' must be escaped in pname (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-pname-01.ttl> ;
+   .
+
+<#turtle-syntax-bad-pname-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-pname-02" ;
+   rdfs:comment "Bad %-sequence in pname (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-pname-02.ttl> ;
+   .
+
+<#turtle-syntax-bad-pname-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-pname-03" ;
+   rdfs:comment "Bad unicode escape in pname (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-pname-03.ttl> ;
+   .
+
+<#turtle-syntax-bad-string-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-string-01" ;
+   rdfs:comment "mismatching string literal open/close (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-string-01.ttl> ;
+   .
+
+<#turtle-syntax-bad-string-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-string-02" ;
+   rdfs:comment "mismatching string literal open/close (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-string-02.ttl> ;
+   .
+
+<#turtle-syntax-bad-string-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-string-03" ;
+   rdfs:comment "mismatching string literal long/short (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-string-03.ttl> ;
+   .
+
+<#turtle-syntax-bad-string-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-string-04" ;
+   rdfs:comment "mismatching long string literal open/close (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-string-04.ttl> ;
+   .
+
+<#turtle-syntax-bad-string-05> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-string-05" ;
+   rdfs:comment "Long literal with missing end (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-string-05.ttl> ;
+   .
+
+<#turtle-syntax-bad-string-06> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-string-06" ;
+   rdfs:comment "Long literal with extra quote (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-string-06.ttl> ;
+   .
+
+<#turtle-syntax-bad-string-07> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-string-07" ;
+   rdfs:comment "Long literal with extra squote (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-string-07.ttl> ;
+   .
+
+<#turtle-syntax-bad-num-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-num-01" ;
+   rdfs:comment "Bad number format (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-num-01.ttl> ;
+   .
+
+<#turtle-syntax-bad-num-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-num-02" ;
+   rdfs:comment "Bad number format (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-num-02.ttl> ;
+   .
+
+<#turtle-syntax-bad-num-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-num-03" ;
+   rdfs:comment "Bad number format (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-num-03.ttl> ;
+   .
+
+<#turtle-syntax-bad-num-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-num-04" ;
+   rdfs:comment "Bad number format (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-num-04.ttl> ;
+   .
+
+<#turtle-syntax-bad-num-05> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-num-05" ;
+   rdfs:comment "Bad number format (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-num-05.ttl> ;
+   .
+
+<#turtle-eval-struct-01> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-eval-struct-01" ;
+   rdfs:comment "triple with IRIs" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-eval-struct-01.ttl> ;
+   mf:result    <turtle-eval-struct-01.nt> ;
+   .
+
+<#turtle-eval-struct-02> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-eval-struct-02" ;
+   rdfs:comment "triple with IRIs and embedded whitespace" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-eval-struct-02.ttl> ;
+   mf:result    <turtle-eval-struct-02.nt> ;
+   .
+
+<#turtle-subm-01> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-01" ;
+   rdfs:comment "Blank subject" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-01.ttl> ;
+   mf:result    <turtle-subm-01.nt> ;
+   .
+
+<#turtle-subm-02> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-02" ;
+   rdfs:comment "@prefix and qnames" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-02.ttl> ;
+   mf:result    <turtle-subm-02.nt> ;
+   .
+
+<#turtle-subm-03> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-03" ;
+   rdfs:comment ", operator" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-03.ttl> ;
+   mf:result    <turtle-subm-03.nt> ;
+   .
+
+<#turtle-subm-04> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-04" ;
+   rdfs:comment "; operator" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-04.ttl> ;
+   mf:result    <turtle-subm-04.nt> ;
+   .
+
+<#turtle-subm-05> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-05" ;
+   rdfs:comment "empty [] as subject and object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-05.ttl> ;
+   mf:result    <turtle-subm-05.nt> ;
+   .
+
+<#turtle-subm-06> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-06" ;
+   rdfs:comment "non-empty [] as subject and object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-06.ttl> ;
+   mf:result    <turtle-subm-06.nt> ;
+   .
+
+<#turtle-subm-07> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-07" ;
+   rdfs:comment "'a' as predicate" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-07.ttl> ;
+   mf:result    <turtle-subm-07.nt> ;
+   .
+
+<#turtle-subm-08> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-08" ;
+   rdfs:comment "simple collection" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-08.ttl> ;
+   mf:result    <turtle-subm-08.nt> ;
+   .
+
+<#turtle-subm-09> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-09" ;
+   rdfs:comment "empty collection" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-09.ttl> ;
+   mf:result    <turtle-subm-09.nt> ;
+   .
+
+<#turtle-subm-10> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-10" ;
+   rdfs:comment "integer datatyped literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-10.ttl> ;
+   mf:result    <turtle-subm-10.nt> ;
+   .
+
+<#turtle-subm-11> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-11" ;
+   rdfs:comment "decimal integer canonicalization" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-11.ttl> ;
+   mf:result    <turtle-subm-11.nt> ;
+   .
+
+<#turtle-subm-12> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-12" ;
+   rdfs:comment "- and _ in names and qnames" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-12.ttl> ;
+   mf:result    <turtle-subm-12.nt> ;
+   .
+
+<#turtle-subm-13> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-13" ;
+   rdfs:comment "tests for rdf:_<numbers> and other qnames starting with _" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-13.ttl> ;
+   mf:result    <turtle-subm-13.nt> ;
+   .
+
+<#turtle-subm-14> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-14" ;
+   rdfs:comment "bare : allowed" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-14.ttl> ;
+   mf:result    <turtle-subm-14.nt> ;
+   .
+
+<#turtle-subm-15> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-15" ;
+   rdfs:comment "simple long literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-15.ttl> ;
+   mf:result    <turtle-subm-15.nt> ;
+   .
+
+<#turtle-subm-16> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-16" ;
+   rdfs:comment "long literals with escapes" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-16.ttl> ;
+   mf:result    <turtle-subm-16.nt> ;
+   .
+
+<#turtle-subm-17> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-17" ;
+   rdfs:comment "floating point number" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-17.ttl> ;
+   mf:result    <turtle-subm-17.nt> ;
+   .
+
+<#turtle-subm-18> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-18" ;
+   rdfs:comment "empty literals, normal and long variant" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-18.ttl> ;
+   mf:result    <turtle-subm-18.nt> ;
+   .
+
+<#turtle-subm-19> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-19" ;
+   rdfs:comment "positive integer, decimal and doubles" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-19.ttl> ;
+   mf:result    <turtle-subm-19.nt> ;
+   .
+
+<#turtle-subm-20> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-20" ;
+   rdfs:comment "negative integer, decimal and doubles" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-20.ttl> ;
+   mf:result    <turtle-subm-20.nt> ;
+   .
+
+<#turtle-subm-21> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-21" ;
+   rdfs:comment "long literal ending in double quote" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-21.ttl> ;
+   mf:result    <turtle-subm-21.nt> ;
+   .
+
+<#turtle-subm-22> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-22" ;
+   rdfs:comment "boolean literals" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-22.ttl> ;
+   mf:result    <turtle-subm-22.nt> ;
+   .
+
+<#turtle-subm-23> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-23" ;
+   rdfs:comment "comments" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-23.ttl> ;
+   mf:result    <turtle-subm-23.nt> ;
+   .
+
+<#turtle-subm-24> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-24" ;
+   rdfs:comment "no final mewline" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-24.ttl> ;
+   mf:result    <turtle-subm-24.nt> ;
+   .
+
+<#turtle-subm-25> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-25" ;
+   rdfs:comment "repeating a @prefix changes pname definition" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-25.ttl> ;
+   mf:result    <turtle-subm-25.nt> ;
+   .
+
+<#turtle-subm-26> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-26" ;
+   rdfs:comment "Variations on decimal canonicalization" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-26.ttl> ;
+   mf:result    <turtle-subm-26.nt> ;
+   .
+
+<#turtle-subm-27> rdf:type rdft:TestTurtleEval ;
+   mf:name    "turtle-subm-27" ;
+   rdfs:comment "Repeating @base changes base for relative IRI lookup" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-subm-27.ttl> ;
+   mf:result    <turtle-subm-27.nt> ;
+   .
+
+<#turtle-eval-bad-01> rdf:type rdft:TestTurtleNegativeEval ;
+   mf:name    "turtle-eval-bad-01" ;
+   rdfs:comment "Bad IRI : good escape, bad charcater (negative evaluation test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-eval-bad-01.ttl> ;
+   .
+
+<#turtle-eval-bad-02> rdf:type rdft:TestTurtleNegativeEval ;
+   mf:name    "turtle-eval-bad-02" ;
+   rdfs:comment "Bad IRI : hex 3C is < (negative evaluation test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-eval-bad-02.ttl> ;
+   .
+
+<#turtle-eval-bad-03> rdf:type rdft:TestTurtleNegativeEval ;
+   mf:name    "turtle-eval-bad-03" ;
+   rdfs:comment "Bad IRI : hex 3E is  (negative evaluation test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-eval-bad-03.ttl> ;
+   .
+
+<#turtle-eval-bad-04> rdf:type rdft:TestTurtleNegativeEval ;
+   mf:name    "turtle-eval-bad-04" ;
+   rdfs:comment "Bad IRI : {abc} (negative evaluation test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-eval-bad-04.ttl> ;
+   .
+
+# tests from Dave Beckett
+# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c28
+<#LITERAL_LONG2_with_REVERSE_SOLIDUS> rdf:type rdft:TestTurtleEval ;
+   mf:name    "LITERAL_LONG2_with_REVERSE_SOLIDUS" ;
+   rdfs:comment "REVERSE SOLIDUS at end of LITERAL_LONG2" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL_LONG2_with_REVERSE_SOLIDUS.ttl> ;
+   mf:result    <LITERAL_LONG2_with_REVERSE_SOLIDUS.nt> ;
+   .
+
+<#turtle-syntax-bad-LITERAL2_with_langtag_and_datatype> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "turtle-syntax-bad-num-05" ;
+   rdfs:comment "Bad number format (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <turtle-syntax-bad-LITERAL2_with_langtag_and_datatype.ttl> ;
+   .
+
+<#two_LITERAL_LONG2s> rdf:type rdft:TestTurtleEval ;
+   mf:name    "two_LITERAL_LONG2s" ;
+   rdfs:comment "two LITERAL_LONG2s testing quote delimiter overrun" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <two_LITERAL_LONG2s.ttl> ;
+   mf:result    <two_LITERAL_LONG2s.nt> ;
+   .
+
+<#langtagged_LONG_with_subtag> rdf:type rdft:TestTurtleEval ;
+   mf:name      "langtagged_LONG_with_subtag" ;
+   rdfs:comment "langtagged LONG with subtag \"\"\"Cheers\"\"\"@en-UK" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <langtagged_LONG_with_subtag.ttl> ;
+   mf:result    <langtagged_LONG_with_subtag.nt> ;
+   .
+
+# tests from David Robillard
+# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c21
+<#turtle-syntax-bad-blank-label-dot-end>
+	rdf:type rdft:TestTurtleNegativeSyntax ;
+	rdfs:comment "Blank node label must not end in dot" ;
+	mf:name "turtle-syntax-bad-blank-label-dot-end" ;
+        rdft:approval rdft:Approved ;
+	mf:action <turtle-syntax-bad-blank-label-dot-end.ttl> .
+
+<#turtle-syntax-bad-number-dot-in-anon>
+	rdf:type rdft:TestTurtleNegativeSyntax ;
+	rdfs:comment "Dot delimeter may not appear in anonymous nodes" ;
+	mf:name "turtle-syntax-bad-number-dot-in-anon" ;
+        rdft:approval rdft:Approved ;
+	mf:action <turtle-syntax-bad-number-dot-in-anon.ttl> .
+
+<#turtle-syntax-bad-ln-dash-start>
+	rdf:type rdft:TestTurtleNegativeSyntax ;
+	rdfs:comment "Local name must not begin with dash" ;
+	mf:name "turtle-syntax-bad-ln-dash-start" ;
+        rdft:approval rdft:Approved ;
+	mf:action <turtle-syntax-bad-ln-dash-start.ttl> .
+
+<#turtle-syntax-bad-ln-escape>
+	rdf:type rdft:TestTurtleNegativeSyntax ;
+	rdfs:comment "Bad hex escape in local name" ;
+	mf:name "turtle-syntax-bad-ln-escape" ;
+        rdft:approval rdft:Approved ;
+	mf:action <turtle-syntax-bad-ln-escape.ttl> .
+
+<#turtle-syntax-bad-ln-escape-start>
+	rdf:type rdft:TestTurtleNegativeSyntax ;
+	rdfs:comment "Bad hex escape at start of local name" ;
+	mf:name "turtle-syntax-bad-ln-escape-start" ;
+        rdft:approval rdft:Approved ;
+	mf:action <turtle-syntax-bad-ln-escape-start.ttl> .
+
+<#turtle-syntax-bad-ns-dot-end>
+	rdf:type rdft:TestTurtleNegativeSyntax ;
+	rdfs:comment "Prefix must not end in dot" ;
+	mf:name "turtle-syntax-bad-ns-dot-end" ;
+        rdft:approval rdft:Approved ;
+	mf:action <turtle-syntax-bad-ns-dot-end.ttl> .
+
+<#turtle-syntax-bad-ns-dot-start>

[... 48 lines stripped ...]