aboutsummaryrefslogtreecommitdiffstats
path: root/test/w3c/turtle/manifest.ttl
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2023-04-03 09:00:31 -0400
committerDavid Robillard <d@drobilla.net>2023-04-06 07:19:10 -0400
commit25784d0c24744533fd3c056e3d58f2f869ba341a (patch)
treef3ef224fb584a59980683909b4a934d22d1c4453 /test/w3c/turtle/manifest.ttl
parent45033d91842ebec303589e4ea14e6c62417e8469 (diff)
downloadserd-25784d0c24744533fd3c056e3d58f2f869ba341a.tar.gz
serd-25784d0c24744533fd3c056e3d58f2f869ba341a.tar.bz2
serd-25784d0c24744533fd3c056e3d58f2f869ba341a.zip
Simplify naming of W3C test directories
This matches the names used in <https://github.com/w3c/rdf-tests.git>.
Diffstat (limited to 'test/w3c/turtle/manifest.ttl')
-rw-r--r--test/w3c/turtle/manifest.ttl2549
1 files changed, 2549 insertions, 0 deletions
diff --git a/test/w3c/turtle/manifest.ttl b/test/w3c/turtle/manifest.ttl
new file mode 100644
index 00000000..5a0183ab
--- /dev/null
+++ b/test/w3c/turtle/manifest.ttl
@@ -0,0 +1,2549 @@
+## 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:label "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_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_as_object_containing_objectList>
+ <#blankNodePropertyList_as_object_containing_objectList_of_two_objects>
+ <#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>
+ <#predicateObjectList_with_blankNodePropertyList_as_object>
+ <#repeated_semis_at_end>
+ <#repeated_semis_not_at_end>
+
+ # tests requested by Jeremy Carroll
+ # http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c35
+ <#comment_following_localName>
+ <#number_sign_following_localName>
+ <#comment_following_PNAME_NS>
+ <#number_sign_following_PNAME_NS>
+
+ # 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>
+
+ # 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-eval-lists-01>
+ <#turtle-eval-lists-02>
+ <#turtle-eval-lists-03>
+ <#turtle-eval-lists-04>
+ <#turtle-eval-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-bnode-01>
+ <#turtle-syntax-bad-bnode-02>
+ <#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 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> ;
+ .
+
+<#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_with_PN_CHARS_BASE_character_boundaries.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_with_leading_underscore.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_with_leading_digit.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_with_non_leading_extras.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 <anonymous_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 <anonymous_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 <sole_blankNodePropertyList.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_as_object_containing_objectList> rdf:type rdft:TestTurtleEval ;
+ mf:name "blankNodePropertyList_as_object_containing_objectList" ;
+ rdfs:comment "blankNodePropertyList as object containing objectList <s> <p> [ <p2> <o>,<o2> ] ." ;
+ rdft:approval rdft:Approved ;
+ mf:action <blankNodePropertyList_as_object_containing_objectList.ttl> ;
+ mf:result <blankNodePropertyList_as_object_containing_objectList.nt> ;
+ .
+
+<#blankNodePropertyList_as_object_containing_objectList_of_two_objects> rdf:type rdft:TestTurtleEval ;
+ mf:name "blankNodePropertyList_as_object_containing_objectList_of_two_objects" ;
+ rdfs:comment "blankNodePropertyList as object containing objectList of two objects <s> <p> [ <p2 <o> ] , <o2> ." ;
+ rdft:approval rdft:Approved ;
+ mf:action <blankNodePropertyList_as_object_containing_objectList_of_two_objects.ttl> ;
+ mf:result <blankNodePropertyList_as_object_containing_objectList_of_two_objects.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> ;
+ .
+
+<#predicateObjectList_with_blankNodePropertyList_as_object> rdf:type rdft:TestTurtleEval ;
+ mf:name "predicateObjectList_with_blankNodePropertyList_as_object" ;
+ rdfs:comment "predicateObjectList_with_blankNodePropertyList_as_object <s> <p> [ <p2> <o> ] ; <p3> [ <p4> <o2> , <o3> ] " ;
+ rdft:approval rdft:Approved ;
+ mf:action <predicateObjectList_with_blankNodePropertyList_as_object.ttl> ;
+ mf:result <predicateObjectList_with_blankNodePropertyList_as_object.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-eval-lists-01> rdf:type rdft:TestTurtleEval ;
+ mf:name "turtle-eval-lists-01" ;
+ rdfs:comment "empty list" ;
+ rdft:approval rdft:Approved ;
+ mf:action <turtle-eval-lists-01.ttl> ;
+ mf:result <turtle-eval-lists-01.nt> ;
+ .
+
+<#turtle-eval-lists-02> rdf:type rdft:TestTurtleEval ;
+ mf:name "turtle-eval-lists-02" ;
+ rdfs:comment "mixed list" ;
+ rdft:approval rdft:Approved ;
+ mf:action <turtle-eval-lists-02.ttl> ;
+ mf:result <turtle-eval-lists-02.nt> ;
+ .
+
+<#turtle-eval-lists-03> rdf:type rdft:TestTurtleEval ;
+ mf:name "turtle-eval-lists-03" ;
+ rdfs:comment "isomorphic list as subject and object" ;
+ rdft:approval rdft:Approved ;
+ mf:action <turtle-eval-lists-03.ttl> ;
+ mf:result <turtle-eval-lists-03.nt> ;
+ .
+
+<#turtle-eval-lists-04> rdf:type rdft:TestTurtleEval ;
+ mf:name "turtle-eval-lists-04" ;
+ rdfs:comment "lists of lists" ;
+ rdft:approval rdft:Approved ;
+ mf:action <turtle-eval-lists-04.ttl> ;
+ mf:result <turtle-eval-lists-04.nt> ;
+ .
+
+<#turtle-eval-lists-05> rdf:type rdft:TestTurtleEval ;
+ mf:name "turtle-eval-lists-05" ;
+ rdfs:comment "mixed lists with embedded lists" ;
+ rdft:approval rdft:Approved ;
+ mf:action <turtle-eval-lists-05.ttl> ;
+ mf:result <turtle-eval-lists-05.nt> ;
+ .
+
+<#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-bnode-01> rdf:type rdft:TestNTriplesNegativeSyntax ;
+ mf:name "turtle-syntax-bad-bnode-01" ;
+ rdfs:comment "Colon in bnode label not allowed (negative test)" ;
+ mf:action <turtle-syntax-bad-bnode-01.ttl> ;
+ .
+
+<#turtle-syntax-bad-bnode-02> rdf:type rdft:TestNTriplesNegativeSyntax ;
+ mf:name "turtle-syntax-bad-bnode-02" ;
+ rdfs:comment "Colon in bnode label not allowed (negative test)" ;
+ mf:action <turtle-syntax-bad-bnode-02.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 requested by Jeremy Carroll
+# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c35
+<#comment_following_localName> rdf:type rdft:TestTurtleEval ;
+ mf:name "comment_following_localName" ;
+ rdfs:comment "comment following localName" ;
+ rdft:approval rdft:Proposed ;
+ mf:action <comment_following_localName.ttl> ;
+ mf:result <IRI_spo.nt> ;
+ .
+
+<#number_sign_following_localName> rdf:type rdft:TestTurtleEval ;
+ mf:name "number_sign_following_localName" ;
+ rdfs:comment "number sign following localName" ;
+ rdft:approval rdft:Proposed ;
+ mf:action <number_sign_following_localName.ttl> ;
+ mf:result <number_sign_following_localName.nt> ;
+ .
+
+<#comment_following_PNAME_NS> rdf:type rdft:TestTurtleEval ;
+ mf:name "comment_following_PNAME_NS" ;
+ rdfs:comment "comment following PNAME_NS" ;
+ rdft:approval rdft:Proposed ;
+ mf:action <comment_following_PNAME_NS.ttl> ;
+ mf:result <comment_following_PNAME_NS.nt> ;
+ .
+
+<#number_sign_following_PNAME_NS> rdf:type rdft:TestTurtleEval ;
+ mf:name "number_sign_following_PNAME_NS" ;
+ rdfs:comment "number sign following PNAME_NS" ;
+ rdft:approval rdft:Proposed ;
+ mf:action <number_sign_following_PNAME_NS.ttl> ;
+ mf:result <number_sign_following_PNAME_NS.nt> ;
+ .
+
+# 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>
+ rdf:type rdft:TestTurtleNegativeSyntax ;
+ rdfs:comment "Prefix must not start with dot" ;
+ mf:name "turtle-syntax-bad-ns-dot-start" ;
+ rdft:approval rdft:Approved ;
+ mf:action <turtle-syntax-bad-ns-dot-start.ttl> .
+
+<#turtle-syntax-bad-missing-ns-dot-end>
+ rdf:type rdft:TestTurtleNegativeSyntax ;
+ rdfs:comment "Prefix must not end in dot (error in triple, not prefix directive like turtle-syntax-bad-ns-dot-end)" ;
+ mf:name "turtle-syntax-bad-missing-ns-dot-end" ;
+ rdft:approval rdft:Approved ;
+ mf:action <turtle-syntax-bad-missing-ns-dot-end.ttl> .
+
+<#turtle-syntax-bad-missing-ns-dot-start>
+ rdf:type rdft:TestTurtleNegativeSyntax ;
+ rdfs:comment "Prefix must not start with dot (error in triple, not prefix directive like turtle-syntax-bad-ns-dot-end)" ;
+ mf:name "turtle-syntax-bad-missing-ns-dot-start" ;
+ rdft:approval rdft:Approved ;
+ mf:action <turtle-syntax-bad-missing-ns-dot-start.ttl> .
+
+<#turtle-syntax-ln-dots>
+ rdf:type rdft:TestTurtlePositiveSyntax ;
+ rdfs:comment "Dots in pname local names" ;
+ mf:name "turtle-syntax-ln-dots" ;
+ rdft:approval rdft:Approved ;
+ mf:action <turtle-syntax-ln-dots.ttl> .
+
+<#turtle-syntax-ln-colons>
+ rdf:type rdft:TestTurtlePositiveSyntax ;
+ rdfs:comment "Colons in pname local names" ;
+ mf:name "turtle-syntax-ln-colons" ;
+ rdft:approval rdft:Approved ;
+ mf:action <turtle-syntax-ln-colons.ttl> .
+
+<#turtle-syntax-ns-dots>
+ rdf:type rdft:TestTurtlePositiveSyntax ;
+ rdfs:comment "Dots in namespace names" ;
+ mf:name "turtle-syntax-ns-dots" ;
+ rdft:approval rdft:Approved ;
+ mf:action <turtle-syntax-ns-dots.ttl> .
+
+<#turtle-syntax-blank-label>
+ rdf:type rdft:TestTurtlePositiveSyntax ;
+ rdfs:comment "Characters allowed in blank node labels" ;
+ mf:name "turtle-syntax-blank-label" ;
+ rdft:approval rdft:Approved ;
+ mf:action <turtle-syntax-blank-label.ttl> .