Import Turtle test cases for TriG test suite.
authorGregg Kellogg <gregg@kellogg-assoc.com>
Wed, 12 Jun 2013 16:49:28 -0700
changeset 838 f09b91b9c3a9
parent 837 b1f95fa17693
child 839 f9d2be0acb35
Import Turtle test cases for TriG test suite.
trig/tests/HYPHEN_MINUS_in_localName.nq
trig/tests/HYPHEN_MINUS_in_localName.trig
trig/tests/IRIREF_datatype.nq
trig/tests/IRIREF_datatype.trig
trig/tests/IRI_spo.nq
trig/tests/IRI_subject.trig
trig/tests/IRI_with_all_punctuation.nq
trig/tests/IRI_with_all_punctuation.trig
trig/tests/IRI_with_eight_digit_numeric_escape.trig
trig/tests/IRI_with_four_digit_numeric_escape.trig
trig/tests/LICENSE
trig/tests/LITERAL1.nq
trig/tests/LITERAL1.trig
trig/tests/LITERAL1_all_controls.nq
trig/tests/LITERAL1_all_controls.trig
trig/tests/LITERAL1_all_punctuation.nq
trig/tests/LITERAL1_all_punctuation.trig
trig/tests/LITERAL1_ascii_boundaries.nq
trig/tests/LITERAL1_ascii_boundaries.trig
trig/tests/LITERAL2.trig
trig/tests/LITERAL2_ascii_boundaries.nq
trig/tests/LITERAL2_ascii_boundaries.trig
trig/tests/LITERAL_LONG1.trig
trig/tests/LITERAL_LONG1_ascii_boundaries.nq
trig/tests/LITERAL_LONG1_ascii_boundaries.trig
trig/tests/LITERAL_LONG1_with_1_squote.nq
trig/tests/LITERAL_LONG1_with_1_squote.trig
trig/tests/LITERAL_LONG1_with_2_squotes.nq
trig/tests/LITERAL_LONG1_with_2_squotes.trig
trig/tests/LITERAL_LONG2.trig
trig/tests/LITERAL_LONG2_ascii_boundaries.nq
trig/tests/LITERAL_LONG2_ascii_boundaries.trig
trig/tests/LITERAL_LONG2_with_1_squote.nq
trig/tests/LITERAL_LONG2_with_1_squote.trig
trig/tests/LITERAL_LONG2_with_2_squotes.nq
trig/tests/LITERAL_LONG2_with_2_squotes.trig
trig/tests/LITERAL_LONG2_with_REVERSE_SOLIDUS.nq
trig/tests/LITERAL_LONG2_with_REVERSE_SOLIDUS.trig
trig/tests/README
trig/tests/SPARQL_style_base.trig
trig/tests/SPARQL_style_prefix.trig
trig/tests/anonymous_blank_node_object.trig
trig/tests/anonymous_blank_node_subject.trig
trig/tests/bareword_a_predicate.nq
trig/tests/bareword_a_predicate.trig
trig/tests/bareword_decimal.nq
trig/tests/bareword_decimal.trig
trig/tests/bareword_double.nq
trig/tests/bareword_double.trig
trig/tests/bareword_integer.trig
trig/tests/blankNodePropertyList_as_object.nq
trig/tests/blankNodePropertyList_as_object.trig
trig/tests/blankNodePropertyList_as_subject.nq
trig/tests/blankNodePropertyList_as_subject.trig
trig/tests/blankNodePropertyList_containing_collection.nq
trig/tests/blankNodePropertyList_containing_collection.trig
trig/tests/blankNodePropertyList_with_multiple_triples.nq
trig/tests/blankNodePropertyList_with_multiple_triples.trig
trig/tests/collection_object.nq
trig/tests/collection_object.trig
trig/tests/collection_subject.nq
trig/tests/collection_subject.trig
trig/tests/default_namespace_IRI.trig
trig/tests/double_lower_case_e.nq
trig/tests/double_lower_case_e.trig
trig/tests/empty_collection.nq
trig/tests/empty_collection.trig
trig/tests/first.nq
trig/tests/first.trig
trig/tests/labeled_blank_node_object.nq
trig/tests/labeled_blank_node_object.trig
trig/tests/labeled_blank_node_subject.nq
trig/tests/labeled_blank_node_subject.trig
trig/tests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.trig
trig/tests/labeled_blank_node_with_leading_digit.trig
trig/tests/labeled_blank_node_with_leading_underscore.trig
trig/tests/labeled_blank_node_with_non_leading_extras.trig
trig/tests/langtagged_LONG.trig
trig/tests/langtagged_LONG_with_subtag.nq
trig/tests/langtagged_LONG_with_subtag.trig
trig/tests/langtagged_non_LONG.nq
trig/tests/langtagged_non_LONG.trig
trig/tests/lantag_with_subtag.nq
trig/tests/lantag_with_subtag.trig
trig/tests/last.nq
trig/tests/last.trig
trig/tests/literal_false.nq
trig/tests/literal_false.trig
trig/tests/literal_true.nq
trig/tests/literal_true.trig
trig/tests/literal_with_BACKSPACE.nq
trig/tests/literal_with_BACKSPACE.trig
trig/tests/literal_with_CARRIAGE_RETURN.nq
trig/tests/literal_with_CARRIAGE_RETURN.trig
trig/tests/literal_with_CHARACTER_TABULATION.nq
trig/tests/literal_with_CHARACTER_TABULATION.trig
trig/tests/literal_with_FORM_FEED.nq
trig/tests/literal_with_FORM_FEED.trig
trig/tests/literal_with_LINE_FEED.nq
trig/tests/literal_with_LINE_FEED.trig
trig/tests/literal_with_REVERSE_SOLIDUS.nq
trig/tests/literal_with_REVERSE_SOLIDUS.trig
trig/tests/literal_with_escaped_BACKSPACE.trig
trig/tests/literal_with_escaped_CARRIAGE_RETURN.trig
trig/tests/literal_with_escaped_CHARACTER_TABULATION.trig
trig/tests/literal_with_escaped_FORM_FEED.trig
trig/tests/literal_with_escaped_LINE_FEED.trig
trig/tests/literal_with_numeric_escape4.nq
trig/tests/literal_with_numeric_escape4.trig
trig/tests/literal_with_numeric_escape8.trig
trig/tests/localName_with_PN_CHARS_BASE_character_boundaries.nq
trig/tests/localName_with_PN_CHARS_BASE_character_boundaries.trig
trig/tests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nq
trig/tests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.trig
trig/tests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nq
trig/tests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.trig
trig/tests/localName_with_leading_digit.nq
trig/tests/localName_with_leading_digit.trig
trig/tests/localName_with_leading_underscore.nq
trig/tests/localName_with_leading_underscore.trig
trig/tests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.nq
trig/tests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.trig
trig/tests/localName_with_non_leading_extras.nq
trig/tests/localName_with_non_leading_extras.trig
trig/tests/localname_with_COLON.nq
trig/tests/localname_with_COLON.trig
trig/tests/manifest.ttl
trig/tests/negative_numeric.nq
trig/tests/negative_numeric.trig
trig/tests/nested_blankNodePropertyLists.nq
trig/tests/nested_blankNodePropertyLists.trig
trig/tests/nested_collection.nq
trig/tests/nested_collection.trig
trig/tests/numeric_with_leading_0.nq
trig/tests/numeric_with_leading_0.trig
trig/tests/objectList_with_two_objects.nq
trig/tests/objectList_with_two_objects.trig
trig/tests/old_style_base.trig
trig/tests/old_style_prefix.trig
trig/tests/percent_escaped_localName.nq
trig/tests/percent_escaped_localName.trig
trig/tests/positive_numeric.nq
trig/tests/positive_numeric.trig
trig/tests/predicateObjectList_with_two_objectLists.nq
trig/tests/predicateObjectList_with_two_objectLists.trig
trig/tests/prefix_only_IRI.trig
trig/tests/prefix_reassigned_and_used.nq
trig/tests/prefix_reassigned_and_used.trig
trig/tests/prefix_with_PN_CHARS_BASE_character_boundaries.trig
trig/tests/prefix_with_non_leading_extras.trig
trig/tests/prefixed_IRI_object.trig
trig/tests/prefixed_IRI_predicate.trig
trig/tests/prefixed_name_datatype.trig
trig/tests/repeated_semis_at_end.trig
trig/tests/repeated_semis_not_at_end.nq
trig/tests/repeated_semis_not_at_end.trig
trig/tests/reserved_escaped_localName.nq
trig/tests/reserved_escaped_localName.trig
trig/tests/sole_blankNodePropertyList.trig
trig/tests/trig-eval-bad-01.trig
trig/tests/trig-eval-bad-02.trig
trig/tests/trig-eval-bad-03.trig
trig/tests/trig-eval-bad-04.trig
trig/tests/trig-eval-struct-01.nq
trig/tests/trig-eval-struct-01.trig
trig/tests/trig-eval-struct-02.nq
trig/tests/trig-eval-struct-02.trig
trig/tests/trig-subm-01.nq
trig/tests/trig-subm-01.trig
trig/tests/trig-subm-02.nq
trig/tests/trig-subm-02.trig
trig/tests/trig-subm-03.nq
trig/tests/trig-subm-03.trig
trig/tests/trig-subm-04.nq
trig/tests/trig-subm-04.trig
trig/tests/trig-subm-05.nq
trig/tests/trig-subm-05.trig
trig/tests/trig-subm-06.nq
trig/tests/trig-subm-06.trig
trig/tests/trig-subm-07.nq
trig/tests/trig-subm-07.trig
trig/tests/trig-subm-08.nq
trig/tests/trig-subm-08.trig
trig/tests/trig-subm-09.nq
trig/tests/trig-subm-09.trig
trig/tests/trig-subm-10.nq
trig/tests/trig-subm-10.trig
trig/tests/trig-subm-11.nq
trig/tests/trig-subm-11.trig
trig/tests/trig-subm-12.nq
trig/tests/trig-subm-12.trig
trig/tests/trig-subm-13.nq
trig/tests/trig-subm-13.trig
trig/tests/trig-subm-14.nq
trig/tests/trig-subm-14.trig
trig/tests/trig-subm-15.nq
trig/tests/trig-subm-15.trig
trig/tests/trig-subm-16.nq
trig/tests/trig-subm-16.trig
trig/tests/trig-subm-17.nq
trig/tests/trig-subm-17.trig
trig/tests/trig-subm-18.nq
trig/tests/trig-subm-18.trig
trig/tests/trig-subm-19.nq
trig/tests/trig-subm-19.trig
trig/tests/trig-subm-20.nq
trig/tests/trig-subm-20.trig
trig/tests/trig-subm-21.nq
trig/tests/trig-subm-21.trig
trig/tests/trig-subm-22.nq
trig/tests/trig-subm-22.trig
trig/tests/trig-subm-23.nq
trig/tests/trig-subm-23.trig
trig/tests/trig-subm-24.nq
trig/tests/trig-subm-24.trig
trig/tests/trig-subm-25.nq
trig/tests/trig-subm-25.trig
trig/tests/trig-subm-26.nq
trig/tests/trig-subm-26.trig
trig/tests/trig-subm-27.nq
trig/tests/trig-subm-27.trig
trig/tests/trig-syntax-bad-LITERAL2_with_langtag_and_datatype.trig
trig/tests/trig-syntax-bad-base-01.trig
trig/tests/trig-syntax-bad-base-02.trig
trig/tests/trig-syntax-bad-base-03.trig
trig/tests/trig-syntax-bad-blank-label-dot-end.trig
trig/tests/trig-syntax-bad-esc-01.trig
trig/tests/trig-syntax-bad-esc-02.trig
trig/tests/trig-syntax-bad-esc-03.trig
trig/tests/trig-syntax-bad-esc-04.trig
trig/tests/trig-syntax-bad-kw-01.trig
trig/tests/trig-syntax-bad-kw-02.trig
trig/tests/trig-syntax-bad-kw-03.trig
trig/tests/trig-syntax-bad-kw-04.trig
trig/tests/trig-syntax-bad-kw-05.trig
trig/tests/trig-syntax-bad-lang-01.trig
trig/tests/trig-syntax-bad-ln-dash-start.trig
trig/tests/trig-syntax-bad-ln-escape-start.trig
trig/tests/trig-syntax-bad-ln-escape.trig
trig/tests/trig-syntax-bad-missing-ns-dot-end.trig
trig/tests/trig-syntax-bad-missing-ns-dot-start.trig
trig/tests/trig-syntax-bad-n3-extras-01.trig
trig/tests/trig-syntax-bad-n3-extras-02.trig
trig/tests/trig-syntax-bad-n3-extras-03.trig
trig/tests/trig-syntax-bad-n3-extras-04.trig
trig/tests/trig-syntax-bad-n3-extras-05.trig
trig/tests/trig-syntax-bad-n3-extras-06.trig
trig/tests/trig-syntax-bad-n3-extras-07.trig
trig/tests/trig-syntax-bad-n3-extras-08.trig
trig/tests/trig-syntax-bad-n3-extras-09.trig
trig/tests/trig-syntax-bad-n3-extras-10.trig
trig/tests/trig-syntax-bad-n3-extras-11.trig
trig/tests/trig-syntax-bad-n3-extras-12.trig
trig/tests/trig-syntax-bad-n3-extras-13.trig
trig/tests/trig-syntax-bad-ns-dot-end.trig
trig/tests/trig-syntax-bad-ns-dot-start.trig
trig/tests/trig-syntax-bad-num-01.trig
trig/tests/trig-syntax-bad-num-02.trig
trig/tests/trig-syntax-bad-num-03.trig
trig/tests/trig-syntax-bad-num-04.trig
trig/tests/trig-syntax-bad-num-05.trig
trig/tests/trig-syntax-bad-number-dot-in-anon.trig
trig/tests/trig-syntax-bad-pname-01.trig
trig/tests/trig-syntax-bad-pname-02.trig
trig/tests/trig-syntax-bad-pname-03.trig
trig/tests/trig-syntax-bad-prefix-01.trig
trig/tests/trig-syntax-bad-prefix-02.trig
trig/tests/trig-syntax-bad-prefix-03.trig
trig/tests/trig-syntax-bad-prefix-04.trig
trig/tests/trig-syntax-bad-prefix-05.trig
trig/tests/trig-syntax-bad-string-01.trig
trig/tests/trig-syntax-bad-string-02.trig
trig/tests/trig-syntax-bad-string-03.trig
trig/tests/trig-syntax-bad-string-04.trig
trig/tests/trig-syntax-bad-string-05.trig
trig/tests/trig-syntax-bad-string-06.trig
trig/tests/trig-syntax-bad-string-07.trig
trig/tests/trig-syntax-bad-struct-02.trig
trig/tests/trig-syntax-bad-struct-03.trig
trig/tests/trig-syntax-bad-struct-04.trig
trig/tests/trig-syntax-bad-struct-05.trig
trig/tests/trig-syntax-bad-struct-06.trig
trig/tests/trig-syntax-bad-struct-07.trig
trig/tests/trig-syntax-bad-struct-08.trig
trig/tests/trig-syntax-bad-struct-09.trig
trig/tests/trig-syntax-bad-struct-10.trig
trig/tests/trig-syntax-bad-struct-11.trig
trig/tests/trig-syntax-bad-struct-12.trig
trig/tests/trig-syntax-bad-struct-13.trig
trig/tests/trig-syntax-bad-struct-14.trig
trig/tests/trig-syntax-bad-struct-15.trig
trig/tests/trig-syntax-bad-struct-16.trig
trig/tests/trig-syntax-bad-struct-17.trig
trig/tests/trig-syntax-bad-uri-01.trig
trig/tests/trig-syntax-bad-uri-02.trig
trig/tests/trig-syntax-bad-uri-03.trig
trig/tests/trig-syntax-bad-uri-04.trig
trig/tests/trig-syntax-bad-uri-05.trig
trig/tests/trig-syntax-base-01.trig
trig/tests/trig-syntax-base-02.trig
trig/tests/trig-syntax-base-03.trig
trig/tests/trig-syntax-base-04.trig
trig/tests/trig-syntax-blank-label.trig
trig/tests/trig-syntax-bnode-01.trig
trig/tests/trig-syntax-bnode-02.trig
trig/tests/trig-syntax-bnode-03.trig
trig/tests/trig-syntax-bnode-04.trig
trig/tests/trig-syntax-bnode-05.trig
trig/tests/trig-syntax-bnode-06.trig
trig/tests/trig-syntax-bnode-07.trig
trig/tests/trig-syntax-bnode-08.trig
trig/tests/trig-syntax-bnode-09.trig
trig/tests/trig-syntax-bnode-10.trig
trig/tests/trig-syntax-datatypes-01.trig
trig/tests/trig-syntax-datatypes-02.trig
trig/tests/trig-syntax-file-01.trig
trig/tests/trig-syntax-file-02.trig
trig/tests/trig-syntax-file-03.trig
trig/tests/trig-syntax-kw-01.trig
trig/tests/trig-syntax-kw-02.trig
trig/tests/trig-syntax-kw-03.trig
trig/tests/trig-syntax-lists-01.trig
trig/tests/trig-syntax-lists-02.trig
trig/tests/trig-syntax-lists-03.trig
trig/tests/trig-syntax-lists-04.trig
trig/tests/trig-syntax-lists-05.trig
trig/tests/trig-syntax-ln-colons.trig
trig/tests/trig-syntax-ln-dots.trig
trig/tests/trig-syntax-ns-dots.trig
trig/tests/trig-syntax-number-01.trig
trig/tests/trig-syntax-number-02.trig
trig/tests/trig-syntax-number-03.trig
trig/tests/trig-syntax-number-04.trig
trig/tests/trig-syntax-number-05.trig
trig/tests/trig-syntax-number-06.trig
trig/tests/trig-syntax-number-07.trig
trig/tests/trig-syntax-number-08.trig
trig/tests/trig-syntax-number-09.trig
trig/tests/trig-syntax-number-10.trig
trig/tests/trig-syntax-number-11.trig
trig/tests/trig-syntax-pname-esc-01.trig
trig/tests/trig-syntax-pname-esc-02.trig
trig/tests/trig-syntax-pname-esc-03.trig
trig/tests/trig-syntax-prefix-01.trig
trig/tests/trig-syntax-prefix-02.trig
trig/tests/trig-syntax-prefix-03.trig
trig/tests/trig-syntax-prefix-04.trig
trig/tests/trig-syntax-prefix-05.trig
trig/tests/trig-syntax-prefix-06.trig
trig/tests/trig-syntax-prefix-07.trig
trig/tests/trig-syntax-prefix-08.trig
trig/tests/trig-syntax-prefix-09.trig
trig/tests/trig-syntax-str-esc-01.trig
trig/tests/trig-syntax-str-esc-02.trig
trig/tests/trig-syntax-str-esc-03.trig
trig/tests/trig-syntax-string-01.trig
trig/tests/trig-syntax-string-02.trig
trig/tests/trig-syntax-string-03.trig
trig/tests/trig-syntax-string-04.trig
trig/tests/trig-syntax-string-05.trig
trig/tests/trig-syntax-string-06.trig
trig/tests/trig-syntax-string-07.trig
trig/tests/trig-syntax-string-08.trig
trig/tests/trig-syntax-string-09.trig
trig/tests/trig-syntax-string-10.trig
trig/tests/trig-syntax-string-11.trig
trig/tests/trig-syntax-struct-01.trig
trig/tests/trig-syntax-struct-02.trig
trig/tests/trig-syntax-struct-03.trig
trig/tests/trig-syntax-struct-04.trig
trig/tests/trig-syntax-struct-05.trig
trig/tests/trig-syntax-uri-01.trig
trig/tests/trig-syntax-uri-02.trig
trig/tests/trig-syntax-uri-03.trig
trig/tests/trig-syntax-uri-04.trig
trig/tests/two_LITERAL_LONG2s.nq
trig/tests/two_LITERAL_LONG2s.trig
trig/tests/underscore_in_localName.nq
trig/tests/underscore_in_localName.trig
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/HYPHEN_MINUS_in_localName.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s-> <http://a.example/p> <http://a.example/o> .
+<http://a.example/s-> <http://a.example/p> <http://a.example/o> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/HYPHEN_MINUS_in_localName.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/>.
+{p:s- <http://a.example/p> <http://a.example/o> .}
+<g> {p:s- <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/IRIREF_datatype.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://a.example/s> <http://a.example/p> "1"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/IRIREF_datatype.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .}
+<g> {<http://a.example/s> <http://a.example/p> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/IRI_spo.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> <http://a.example/o> .
+<http://a.example/s> <http://a.example/p> <http://a.example/o> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/IRI_subject.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> <http://a.example/o> .}
+<g> {<http://a.example/s> <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/IRI_with_all_punctuation.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<scheme:!$%25&amp;'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> <http://a.example/p> <http://a.example/o> .
+<scheme:!$%25&amp;'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> <http://a.example/p> <http://a.example/o> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/IRI_with_all_punctuation.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<scheme:!$%25&amp;'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> <http://a.example/p> <http://a.example/o> .}
+<g> {<scheme:!$%25&amp;'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/IRI_with_eight_digit_numeric_escape.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/\U00000073> <http://a.example/p> <http://a.example/o> .
+<http://a.example/\U00000073> <http://a.example/p> <http://a.example/o> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/IRI_with_four_digit_numeric_escape.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/\u0073> <http://a.example/p> <http://a.example/o> .}
+<g> {<http://a.example/\u0073> <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LICENSE	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,48 @@
+Summary
+=======
+
+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
+
+DISCLAIMER
+
+UNDER BOTH MUTUALLY EXCLUSIVE LICENSES, THIS DOCUMENT AND ALL DOCUMENTS, TESTS AND SOFTWARE THAT LINK THIS STATEMENT ARE PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF.
+
+
+W3C Test Suite License
+======================
+
+This document, Test Suites and other documents that link to this statement are provided by the copyright holders under the following license: By using and/or copying this document, or the W3C document from which this statement is linked, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
+
+Permission to copy, and distribute the contents of this document, or the W3C document from which this statement is linked, in any medium for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the document, or portions thereof, that you use:
+
+A link or URL to the original W3C document.
+The pre-existing copyright notice of the original author, or if it doesn't exist, a notice (hypertext is preferred, but a textual representation is permitted) of the form: "Copyright © [$date-of-document] World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University) and others. All Rights Reserved. http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html"
+If it exists, the STATUS of the W3C document.
+When space permits, inclusion of the full text of this NOTICE should be provided. We request that authorship attribution be provided in any software, documents, or other items or products that you create pursuant to the implementation of the contents of this document, or any portion thereof.
+
+No right to create modifications or derivatives of W3C documents is granted pursuant to this license. However, if additional requirements (documented in the Copyright FAQ) are satisfied, the right to create modifications or derivatives is sometimes granted by the W3C to individuals complying with those requirements.
+
+If a Test Suite distinguishes the test harness (or, framework for navigation) and the actual tests, permission is given to remove or alter the harness or navigation if the Test Suite in question allows to do so. The tests themselves shall NOT be changed in any way.
+
+The name and trademarks of W3C and other copyright holders may NOT be used in advertising or publicity pertaining to this document or other documents that link to this statement without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders. Permission is given to use the trademarked string W3C within claims of performance concerning W3C Specifications or features described therein, and there only, if the test suite so authorizes.
+
+THIS WORK IS PROVIDED BY W3C, MIT, ERCIM, KEIO UNIVERSITY, THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL W3C, MIT, ERCIM, KEIO UNIVERSITY, THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+W3C 3-clause BSD License
+========================
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+	Redistributions of works must retain the original copyright notice, this list of conditions and the following disclaimer.
+
+	Redistributions in binary form must reproduce the original copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+	Neither the name of the W3C nor the names of its contributors may be used to endorse or promote products derived from this work without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL1.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "x" .
+<http://a.example/s> <http://a.example/p> "x" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL1.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> 'x' .}
+<g> {<http://a.example/s> <http://a.example/p> 'x' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL1_all_controls.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000b\u000c\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f" .
+<http://a.example/s> <http://a.example/p> "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000b\u000c\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f" <g> .
Binary file trig/tests/LITERAL1_all_controls.trig has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL1_all_punctuation.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> " !\u0022#$%&():;<=>?@[]^_`{|}~" .
+<http://a.example/s> <http://a.example/p> " !\u0022#$%&():;<=>?@[]^_`{|}~" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL1_all_punctuation.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> ' !"#$%&():;<=>?@[]^_`{|}~' .}
+<g> {<http://a.example/s> <http://a.example/p> ' !"#$%&():;<=>?@[]^_`{|}~' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL1_ascii_boundaries.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "\u0000\u0009\u000b\u000c\u000e\u0026\u0028\u005b\u005d\u007f" .
+<http://a.example/s> <http://a.example/p> "\u0000\u0009\u000b\u000c\u000e\u0026\u0028\u005b\u005d\u007f" <g> .
Binary file trig/tests/LITERAL1_ascii_boundaries.trig has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL2.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> "x" .}
+<g> {<http://a.example/s> <http://a.example/p> "x" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL2_ascii_boundaries.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "\u0000\u0009\u000b\u000c\u000e\u0021\u0023\u005b\u005d\u007f" .
+<http://a.example/s> <http://a.example/p> "\u0000\u0009\u000b\u000c\u000e\u0021\u0023\u005b\u005d\u007f" <g> .
Binary file trig/tests/LITERAL2_ascii_boundaries.trig has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL_LONG1.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> '''x''' .}
+<g> {<http://a.example/s> <http://a.example/p> '''x''' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL_LONG1_ascii_boundaries.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "\u0000\u0026\u0028\u005b\u005d\u007f" .
+<http://a.example/s> <http://a.example/p> "\u0000\u0026\u0028\u005b\u005d\u007f" <g> .
Binary file trig/tests/LITERAL_LONG1_ascii_boundaries.trig has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL_LONG1_with_1_squote.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "x'y" .
+<http://a.example/s> <http://a.example/p> "x'y" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL_LONG1_with_1_squote.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> '''x'y''' .}
+<g> {<http://a.example/s> <http://a.example/p> '''x'y''' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL_LONG1_with_2_squotes.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "x''y" .
+<http://a.example/s> <http://a.example/p> "x''y" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL_LONG1_with_2_squotes.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> '''x''y''' .}
+<http://example/g> {<http://a.example/s> <http://a.example/p> '''x''y''' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL_LONG2.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> """x""" .}
+<g> {<http://a.example/s> <http://a.example/p> """x""" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL_LONG2_ascii_boundaries.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "\u0000\u0021\u0023\u005b\u005d\u007f" .
+<http://a.example/s> <http://a.example/p> "\u0000\u0021\u0023\u005b\u005d\u007f" <g> .
Binary file trig/tests/LITERAL_LONG2_ascii_boundaries.trig has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL_LONG2_with_1_squote.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "x\"y" .
+<http://a.example/s> <http://a.example/p> "x\"y" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL_LONG2_with_1_squote.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> """x"y""" .}
+<g> {<http://a.example/s> <http://a.example/p> """x"y""" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL_LONG2_with_2_squotes.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "x\"\"y" .
+<http://a.example/s> <http://a.example/p> "x\"\"y" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL_LONG2_with_2_squotes.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> """x""y""" .}
+<g> {<http://a.example/s> <http://a.example/p> """x""y""" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL_LONG2_with_REVERSE_SOLIDUS.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://example.org/ns#s> <http://example.org/ns#p1> "test-\\" .
+<http://example.org/ns#s> <http://example.org/ns#p1> "test-\\" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/LITERAL_LONG2_with_REVERSE_SOLIDUS.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+@prefix : <http://example.org/ns#> .
+
+{:s :p1 """test-\\""" .}
+<g> {:s :p1 """test-\\""" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/README	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,41 @@
+This README is for the W3C RDF Working Group's TriG test suite.
+This test suite contains three kinds of tests:
+
+  Evaluation (rdft:TestTriGEval) - a pair of an input trig file
+  and reference ntriples file.
+
+  Positive syntax (rdft:TestTriGPositiveSyntax) - an input trig
+  file with no syntax errors.
+
+  Negative syntax (rdft:TestTriGNegativeSyntax) - an input trig
+  file with at least one syntax error.
+
+The manifest.ttl file in this directory lists all of the tests in the
+RDF WG's TriG test suite. Each test is one of the above tests. All
+tests have a name (mf:name) and an input (mf:action). The Evaluation
+tests have an expected result (mf:result).
+
+• An implementation passes an Evaluation test if it parses the input
+  into a graph, parses the expecte result into another graph, and
+  those two graphs are isomorphic (see
+  <http://www.w3.org/TR/rdf11-concepts/#graph-isomorphism>).
+
+• An implementation passes a positive syntax test if it parses the
+  input.
+
+• An implementation passes a negative syntax test if it fails to parse
+  the input.
+
+The home of the test suite is <http://www.w3.org/2013/TriGTests/>.
+Per RFC 3986 section 5.1.3, the base IRI for parsing each file is the
+retrieval IRI for that file. For example, the tests trig-subm-01 and
+trig-subm-27 require relative IRI resolution against a base of
+<http://www.w3.org/2013/TriGTests/trig-subm-01.ttl> and
+<http://www.w3.org/2013/TriGTests/trig-subm-27.ttl> respectively.
+
+
+See http://www.w3.org/2011/rdf-wg/wiki/TriG_Test_Suite for more details.
+
+
+Eric Prud'hommeaux <eric+turtle@w3.org> - 11 June 2013.
+Gregg Kellogg <gregg@greggkellogg.net> - 12 June 2013.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/SPARQL_style_base.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+BASE <http://a.example/>
+{<s> <http://a.example/p> <http://a.example/o> .}
+<g> {<s> <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/SPARQL_style_prefix.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+PREFIX p: <http://a.example/>
+{p:s <http://a.example/p> <http://a.example/o> .}
+<g> {p:s <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/anonymous_blank_node_object.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+<http://a.example/s> <http://a.example/p> [] .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/anonymous_blank_node_subject.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{[] <http://a.example/p> <http://a.example/o> .}
+<http://example/g> {[] <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/bareword_a_predicate.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://a.example/o> .
+<http://a.example/s> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://a.example/o> <http://example/g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/bareword_a_predicate.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> a <http://a.example/o> .}
+<http://example/g> {<http://a.example/s> a <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/bareword_decimal.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+<http://a.example/s> <http://a.example/p> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/bareword_decimal.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+<http://a.example/s> <http://a.example/p> 1.0 .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/bareword_double.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "1E0"^^<http://www.w3.org/2001/XMLSchema#double> .
+<http://a.example/s> <http://a.example/p> "1E0"^^<http://www.w3.org/2001/XMLSchema#double> <http://example/g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/bareword_double.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> 1E0 .}
+<http://example/g> {<http://a.example/s> <http://a.example/p> 1E0 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/bareword_integer.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> 1 .}
+<http://example/g/> {<http://a.example/s> <http://a.example/p> 1 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/blankNodePropertyList_as_object.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+<http://a.example/s> <http://a.example/p> _:b1 .
+_:b1 <http://a.example/p2> <http://a.example/o2> .
+<http://a.example/s> <http://a.example/p> _:b2 <http://example/g> .
+_:b2 <http://a.example/p2> <http://a.example/o2> <http://example/g>  .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/blankNodePropertyList_as_object.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> [ <http://a.example/p2> <http://a.example/o2> ] .}
+<http://example/g> {<http://a.example/s> <http://a.example/p> [ <http://a.example/p2> <http://a.example/o2> ] .}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/blankNodePropertyList_as_subject.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+_:b1 <http://a.example/p> <http://a.example/o> .
+_:b1 <http://a.example/p2> <http://a.example/o2> .
+_:b2 <http://a.example/p> <http://a.example/o> <http://example/g> .
+_:b2 <http://a.example/p2> <http://a.example/o2> <http://example/g>  .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/blankNodePropertyList_as_subject.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{[ <http://a.example/p> <http://a.example/o> ] <http://a.example/p2> <http://a.example/o2> .}
+<http://example/g> {[ <http://a.example/p> <http://a.example/o> ] <http://a.example/p2> <http://a.example/o2> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/blankNodePropertyList_containing_collection.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+_:b1 <http://a.example/p1> _:el1 .
+_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+_:b2 <http://a.example/p1> _:el2 <http://example/g> .
+_:el2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> <http://example/g> .
+_:el2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <http://example/g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/blankNodePropertyList_containing_collection.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{[ <http://a.example/p1> (1) ] .}
+<http://example/g> {[ <http://a.example/p1> (1) ] .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/blankNodePropertyList_with_multiple_triples.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+_:b1 <http://a.example/p1> <http://a.example/o1> .
+_:b1 <http://a.example/p2> <http://a.example/o2> .
+_:b1 <http://a.example/p> <http://a.example/o> .
+_:b2 <http://a.example/p1> <http://a.example/o1> .
+_:b2 <http://a.example/p2> <http://a.example/o2> .
+_:b2 <http://a.example/p> <http://a.example/o> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/blankNodePropertyList_with_multiple_triples.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{[ <http://a.example/p1> <http://a.example/o1> ; <http://a.example/p2> <http://a.example/o2> ] <http://a.example/p> <http://a.example/o> .}
+<http://example/g> {[ <http://a.example/p1> <http://a.example/o1> ; <http://a.example/p2> <http://a.example/o2> ] <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/collection_object.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+<http://a.example/s> <http://a.example/p> _:el1 .
+_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+<http://a.example/s> <http://a.example/p> _:el2 <g> .
+_:el2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
+_:el2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/collection_object.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> (1) .}
+<g> {<http://a.example/s> <http://a.example/p> (1) .}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/collection_subject.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+_:el1 <http://a.example/p> <http://a.example/o> .
+_:el2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
+_:el2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <g> .
+_:el2 <http://a.example/p> <http://a.example/o> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/collection_subject.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{(1) <http://a.example/p> <http://a.example/o> .}
+<g> {(1) <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/default_namespace_IRI.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix : <http://a.example/>.
+{:s <http://a.example/p> <http://a.example/o> .}
+<g> {:s <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/double_lower_case_e.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "1e0"^^<http://www.w3.org/2001/XMLSchema#double> .
+<http://a.example/s> <http://a.example/p> "1e0"^^<http://www.w3.org/2001/XMLSchema#double> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/double_lower_case_e.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> 1e0 .}
+<g> {<http://a.example/s> <http://a.example/p> 1e0 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/empty_collection.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+<http://a.example/s> <http://a.example/p> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/empty_collection.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> () .}
+<g> {<http://a.example/s> <http://a.example/p> () .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/first.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,14 @@
+<http://a.example/s> <http://a.example/p> _:outerEl1 .
+_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl1 .
+_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:outerEl2 .
+_:outerEl2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:outerEl2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+<http://a.example/s> <http://a.example/p> _:outerEl3 .
+_:outerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl3 .
+_:innerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:innerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+_:outerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:outerEl4 .
+_:outerEl4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:outerEl4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/first.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> ((1) 2) .}
+<g> {<http://a.example/s> <http://a.example/p> ((1) 2) .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/labeled_blank_node_object.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> _:b1 .
+<http://a.example/s> <http://a.example/p> _:b1 <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/labeled_blank_node_object.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> _:o .}
+<g> {<http://a.example/s> <http://a.example/p> _:o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/labeled_blank_node_subject.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+_:b1 <http://a.example/p> <http://a.example/o> .
+_:b1 <http://a.example/p> <http://a.example/o> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/labeled_blank_node_subject.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{_:s <http://a.example/p> <http://a.example/o> .}
+<g> {_:s <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> _:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿿 .}
+<g> {<http://a.example/s> <http://a.example/p> _:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿿 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/labeled_blank_node_with_leading_digit.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> _:0 .}
+<g> {<http://a.example/s> <http://a.example/p> _:0 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/labeled_blank_node_with_leading_underscore.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> _:_ .}
+<g> {<http://a.example/s> <http://a.example/p> _:_ .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/labeled_blank_node_with_non_leading_extras.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> _:a·̀ͯ‿.⁀ .}
+<g> {<http://a.example/s> <http://a.example/p> _:a·̀ͯ‿.⁀ .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/langtagged_LONG.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> """chat"""@en .
+<http://a.example/s> <http://a.example/p> """chat"""@en <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/langtagged_LONG_with_subtag.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://example.org/ex#a> <http://example.org/ex#b> "Cheers"@en-UK .
+<http://example.org/ex#a> <http://example.org/ex#b> "Cheers"@en-UK <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/langtagged_LONG_with_subtag.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+# Test long literal with lang tag
+@prefix :  <http://example.org/ex#> .
+{:a :b """Cheers"""@en-UK .}
+<g> {:a :b """Cheers"""@en-UK .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/langtagged_non_LONG.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "chat"@en .
+<http://a.example/s> <http://a.example/p> "chat"@en <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/langtagged_non_LONG.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> "chat"@en .}
+<g> {<http://a.example/s> <http://a.example/p> "chat"@en .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/lantag_with_subtag.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "chat"@en-us .
+<http://a.example/s> <http://a.example/p> "chat"@en-us <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/lantag_with_subtag.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> "chat"@en-us .}
+<g> {<http://a.example/s> <http://a.example/p> "chat"@en-us .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/last.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,14 @@
+<http://a.example/s> <http://a.example/p> _:outerEl1 .
+_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:outerEl2 .
+_:outerEl2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl1 .
+_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+_:outerEl2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+<http://a.example/s> <http://a.example/p> _:outerEl3 .
+_:outerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:outerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:outerEl4 .
+_:outerEl4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl3 .
+_:innerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:innerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+_:outerEl4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/last.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> (1 (2)) .}
+<g> {<http://a.example/s> <http://a.example/p> (1 (2)) .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_false.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
+<http://a.example/s> <http://a.example/p> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_false.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> false .}
+<g> {<http://a.example/s> <http://a.example/p> false .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_true.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .
+<http://a.example/s> <http://a.example/p> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_true.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> true .}
+<g> {<http://a.example/s> <http://a.example/p> true .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_BACKSPACE.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "\u0008" .
+<http://a.example/s> <http://a.example/p> "\u0008" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_BACKSPACE.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> '' .}
+<g> {<http://a.example/s> <http://a.example/p> '' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_CARRIAGE_RETURN.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "\r" .
+<http://a.example/s> <http://a.example/p> "\r" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_CARRIAGE_RETURN.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+{<http://a.example/s> <http://a.example/p> '''
+''' .}
+<g> {<http://a.example/s> <http://a.example/p> '''
+''' .}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_CHARACTER_TABULATION.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "\t" .
+<http://a.example/s> <http://a.example/p> "\t" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_CHARACTER_TABULATION.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> '	' .}
+<g> {<http://a.example/s> <http://a.example/p> '	' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_FORM_FEED.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "\u000C" .
+<http://a.example/s> <http://a.example/p> "\u000C" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_FORM_FEED.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> '' .}
+<g> {<http://a.example/s> <http://a.example/p> '' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_LINE_FEED.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "\n" .
+<http://a.example/s> <http://a.example/p> "\n" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_LINE_FEED.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+{<http://a.example/s> <http://a.example/p> '''
+''' .}
+<g> 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_REVERSE_SOLIDUS.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "\\" .
+<http://a.example/s> <http://a.example/p> "\\" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_REVERSE_SOLIDUS.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> '\\' .}
+<g> {<http://a.example/s> <http://a.example/p> '\\' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_escaped_BACKSPACE.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> '\b' .}
+<g> {<http://a.example/s> <http://a.example/p> '\b' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_escaped_CARRIAGE_RETURN.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> '\r' .}
+<g> {<http://a.example/s> <http://a.example/p> '\r' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_escaped_CHARACTER_TABULATION.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> '\t' .}
+<g> {<http://a.example/s> <http://a.example/p> '\t' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_escaped_FORM_FEED.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> '\f' .}
+<g> {<http://a.example/s> <http://a.example/p> '\f' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_escaped_LINE_FEED.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> '\n' .}
+<g> {<http://a.example/s> <http://a.example/p> '\n' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_numeric_escape4.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "o" .
+<http://a.example/s> <http://a.example/p> "o" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_numeric_escape4.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> '\u006F' .}
+<g> {<http://a.example/s> <http://a.example/p> '\u006F' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/literal_with_numeric_escape8.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> '\U0000006F' .}
+<g> {<http://a.example/s> <http://a.example/p> '\U0000006F' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localName_with_PN_CHARS_BASE_character_boundaries.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00c0\u00d6\u00d8\u00f6\u00f8\u02ff\u0370\u037d\u037f\u1fff\u200c\u200d\u2070\u218f\u2c00\u2fef\u3001\ud7ff\uf900\ufdcf\ufdf0\uffef\U00010000\U000efffd> .
+<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00c0\u00d6\u00d8\u00f6\u00f8\u02ff\u0370\u037d\u037f\u1fff\u200c\u200d\u2070\u218f\u2c00\u2fef\u3001\ud7ff\uf900\ufdcf\ufdf0\uffef\U00010000\U000efffd> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localName_with_PN_CHARS_BASE_character_boundaries.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/> .
+{<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ￯𐀀󯿽 .}
+<g> {<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ￯𐀀󯿽 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00c0\u00d6\u00d8\u00f6\u00f8\u02ff\u0370\u037d\u0384\u1ffe\u200c\u200d\u2070\u2189\u2c00\u2fd5\u3001\ud7fb\ufa0e\ufdc7\ufdf0\uffef\U00010000\U000e01ef> .
+<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00c0\u00d6\u00d8\u00f6\u00f8\u02ff\u0370\u037d\u0384\u1ffe\u200c\u200d\u2070\u2189\u2c00\u2fd5\u3001\ud7fb\ufa0e\ufdc7\ufdf0\uffef\U00010000\U000e01ef> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/> .
+{<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿Ͱͽ΄῾‌‍⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ￯𐀀󠇯 .}
+<g> {<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿Ͱͽ΄῾‌‍⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ￯𐀀󠇯 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00c0\u00d6\u00d8\u00f6\u00f8\u02ff\u0370\u037d\u0384\u1ffe\u200c\u200d\u2070\u2189\u2c00\u2fd5\u3001\ud7fb\ufa0e\ufdc7\ufdf0\uffef> .
+<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00c0\u00d6\u00d8\u00f6\u00f8\u02ff\u0370\u037d\u0384\u1ffe\u200c\u200d\u2070\u2189\u2c00\u2fd5\u3001\ud7fb\ufa0e\ufdc7\ufdf0\uffef> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/> .
+{<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿Ͱͽ΄῾‌‍⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ￯ .}
+<g> {<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿Ͱͽ΄῾‌‍⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ￯ .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localName_with_leading_digit.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/0> <http://a.example/p> <http://a.example/o> .
+<http://a.example/0> <http://a.example/p> <http://a.example/o> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localName_with_leading_digit.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/>.
+{p:0 <http://a.example/p> <http://a.example/o> .}
+<g> {p:0 <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localName_with_leading_underscore.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/_> <http://a.example/p> <http://a.example/o> .
+<http://a.example/_> <http://a.example/p> <http://a.example/o> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localName_with_leading_underscore.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/>.
+{p:_ <http://a.example/p> <http://a.example/o> .}
+<g> {p:_ <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00c0\u00d6\u00d8\u00f6\u00f8\u02ff\u0370\u037d\u037f\u1fff\u200c\u200d\u2070\u218f\u2c00\u2fef\u3001\ud7ff\ufa0e\ufdcf\ufdf0\uffef\U00010000\U000efffd> .
+<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00c0\u00d6\u00d8\u00f6\u00f8\u02ff\u0370\u037d\u037f\u1fff\u200c\u200d\u2070\u218f\u2c00\u2fef\u3001\ud7ff\ufa0e\ufdcf\ufdf0\uffef\U00010000\U000efffd> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localName_with_nfc_PN_CHARS_BASE_character_boundaries.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/> .
+{<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿﨎﷏ﷰ￯𐀀󯿽 .}
+<g> {<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿﨎﷏ﷰ￯𐀀󯿽 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localName_with_non_leading_extras.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/a·̀ͯ‿.⁀> <http://a.example/p> <http://a.example/o> .
+<http://a.example/a·̀ͯ‿.⁀> <http://a.example/p> <http://a.example/o> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localName_with_non_leading_extras.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/>.
+{p:a·̀ͯ‿.⁀ <http://a.example/p> <http://a.example/o> .}
+<g> {p:a·̀ͯ‿.⁀ <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localname_with_COLON.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s:> <http://a.example/p> <http://a.example/o> .
+<http://a.example/s:> <http://a.example/p> <http://a.example/o> <g>.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/localname_with_COLON.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/>.
+{p:s: <http://a.example/p> <http://a.example/o> .}
+<g> {p:s: <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/manifest.ttl	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2426 @@
+# TriG tests
+## 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
+
+@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 "TriG 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_all_controls>
+    <#LITERAL1_all_punctuation>
+    <#LITERAL_LONG1>
+    <#LITERAL_LONG1_ascii_boundaries>
+    <#LITERAL_LONG1_with_1_squote>
+    <#LITERAL_LONG1_with_2_squotes>
+    <#LITERAL2>
+    <#LITERAL2_ascii_boundaries>
+    <#LITERAL_LONG2>
+    <#LITERAL_LONG2_ascii_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
+    <#trig-syntax-file-01>
+    <#trig-syntax-file-02>
+    <#trig-syntax-file-03>
+    <#trig-syntax-uri-01>
+    <#trig-syntax-uri-02>
+    <#trig-syntax-uri-03>
+    <#trig-syntax-uri-04>
+    <#trig-syntax-base-01>
+    <#trig-syntax-base-02>
+    <#trig-syntax-base-03>
+    <#trig-syntax-base-04>
+    <#trig-syntax-prefix-01>
+    <#trig-syntax-prefix-02>
+    <#trig-syntax-prefix-03>
+    <#trig-syntax-prefix-04>
+    <#trig-syntax-prefix-05>
+    <#trig-syntax-prefix-06>
+    <#trig-syntax-prefix-07>
+    <#trig-syntax-prefix-08>
+    <#trig-syntax-prefix-09>
+    <#trig-syntax-string-01>
+    <#trig-syntax-string-02>
+    <#trig-syntax-string-03>
+    <#trig-syntax-string-04>
+    <#trig-syntax-string-05>
+    <#trig-syntax-string-06>
+    <#trig-syntax-string-07>
+    <#trig-syntax-string-08>
+    <#trig-syntax-string-09>
+    <#trig-syntax-string-10>
+    <#trig-syntax-string-11>
+    <#trig-syntax-str-esc-01>
+    <#trig-syntax-str-esc-02>
+    <#trig-syntax-str-esc-03>
+    <#trig-syntax-pname-esc-01>
+    <#trig-syntax-pname-esc-02>
+    <#trig-syntax-pname-esc-03>
+    <#trig-syntax-bnode-01>
+    <#trig-syntax-bnode-02>
+    <#trig-syntax-bnode-03>
+    <#trig-syntax-bnode-04>
+    <#trig-syntax-bnode-05>
+    <#trig-syntax-bnode-06>
+    <#trig-syntax-bnode-07>
+    <#trig-syntax-bnode-08>
+    <#trig-syntax-bnode-09>
+    <#trig-syntax-bnode-10>
+    <#trig-syntax-number-01>
+    <#trig-syntax-number-02>
+    <#trig-syntax-number-03>
+    <#trig-syntax-number-04>
+    <#trig-syntax-number-05>
+    <#trig-syntax-number-06>
+    <#trig-syntax-number-07>
+    <#trig-syntax-number-08>
+    <#trig-syntax-number-09>
+    <#trig-syntax-number-10>
+    <#trig-syntax-number-11>
+    <#trig-syntax-datatypes-01>
+    <#trig-syntax-datatypes-02>
+    <#trig-syntax-kw-01>
+    <#trig-syntax-kw-02>
+    <#trig-syntax-kw-03>
+    <#trig-syntax-struct-01>
+    <#trig-syntax-struct-02>
+    <#trig-syntax-struct-03>
+    <#trig-syntax-struct-04>
+    <#trig-syntax-struct-05>
+    <#trig-syntax-lists-01>
+    <#trig-syntax-lists-02>
+    <#trig-syntax-lists-03>
+    <#trig-syntax-lists-04>
+    <#trig-syntax-lists-05>
+    <#trig-syntax-bad-uri-01>
+    <#trig-syntax-bad-uri-02>
+    <#trig-syntax-bad-uri-03>
+    <#trig-syntax-bad-uri-04>
+    <#trig-syntax-bad-uri-05>
+    <#trig-syntax-bad-prefix-01>
+    <#trig-syntax-bad-prefix-02>
+    <#trig-syntax-bad-prefix-03>
+    <#trig-syntax-bad-prefix-04>
+    <#trig-syntax-bad-prefix-05>
+    <#trig-syntax-bad-base-01>
+    <#trig-syntax-bad-base-02>
+    <#trig-syntax-bad-base-03>
+    <#trig-syntax-bad-struct-02>
+    <#trig-syntax-bad-struct-03>
+    <#trig-syntax-bad-struct-04>
+    <#trig-syntax-bad-struct-05>
+    <#trig-syntax-bad-struct-06>
+    <#trig-syntax-bad-struct-07>
+    <#trig-syntax-bad-kw-01>
+    <#trig-syntax-bad-kw-02>
+    <#trig-syntax-bad-kw-03>
+    <#trig-syntax-bad-kw-04>
+    <#trig-syntax-bad-kw-05>
+    <#trig-syntax-bad-n3-extras-01>
+    <#trig-syntax-bad-n3-extras-02>
+    <#trig-syntax-bad-n3-extras-03>
+    <#trig-syntax-bad-n3-extras-04>
+    <#trig-syntax-bad-n3-extras-05>
+    <#trig-syntax-bad-n3-extras-06>
+    <#trig-syntax-bad-n3-extras-07>
+    <#trig-syntax-bad-n3-extras-08>
+    <#trig-syntax-bad-n3-extras-09>
+    <#trig-syntax-bad-n3-extras-10>
+    <#trig-syntax-bad-n3-extras-11>
+    <#trig-syntax-bad-n3-extras-12>
+    <#trig-syntax-bad-n3-extras-13>
+    <#trig-syntax-bad-struct-08>
+    <#trig-syntax-bad-struct-09>
+    <#trig-syntax-bad-struct-10>
+    <#trig-syntax-bad-struct-11>
+    <#trig-syntax-bad-struct-12>
+    <#trig-syntax-bad-struct-13>
+    <#trig-syntax-bad-struct-14>
+    <#trig-syntax-bad-struct-15>
+    <#trig-syntax-bad-struct-16>
+    <#trig-syntax-bad-struct-17>
+    <#trig-syntax-bad-lang-01>
+    <#trig-syntax-bad-esc-01>
+    <#trig-syntax-bad-esc-02>
+    <#trig-syntax-bad-esc-03>
+    <#trig-syntax-bad-esc-04>
+    <#trig-syntax-bad-pname-01>
+    <#trig-syntax-bad-pname-02>
+    <#trig-syntax-bad-pname-03>
+    <#trig-syntax-bad-string-01>
+    <#trig-syntax-bad-string-02>
+    <#trig-syntax-bad-string-03>
+    <#trig-syntax-bad-string-04>
+    <#trig-syntax-bad-string-05>
+    <#trig-syntax-bad-string-06>
+    <#trig-syntax-bad-string-07>
+    <#trig-syntax-bad-num-01>
+    <#trig-syntax-bad-num-02>
+    <#trig-syntax-bad-num-03>
+    <#trig-syntax-bad-num-04>
+    <#trig-syntax-bad-num-05>
+    <#trig-eval-struct-01>
+    <#trig-eval-struct-02>
+    <#trig-subm-01>
+    <#trig-subm-02>
+    <#trig-subm-03>
+    <#trig-subm-04>
+    <#trig-subm-05>
+    <#trig-subm-06>
+    <#trig-subm-07>
+    <#trig-subm-08>
+    <#trig-subm-09>
+    <#trig-subm-10>
+    <#trig-subm-11>
+    <#trig-subm-12>
+    <#trig-subm-13>
+    <#trig-subm-14>
+    <#trig-subm-15>
+    <#trig-subm-16>
+    <#trig-subm-17>
+    <#trig-subm-18>
+    <#trig-subm-19>
+    <#trig-subm-20>
+    <#trig-subm-21>
+    <#trig-subm-22>
+    <#trig-subm-23>
+    <#trig-subm-24>
+    <#trig-subm-25>
+    <#trig-subm-26>
+    <#trig-subm-27>
+    <#trig-eval-bad-01>
+    <#trig-eval-bad-02>
+    <#trig-eval-bad-03>
+    <#trig-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>
+    <#trig-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
+    <#trig-syntax-bad-blank-label-dot-end>
+    <#trig-syntax-bad-ln-dash-start>
+    <#trig-syntax-bad-ln-escape-start>
+    <#trig-syntax-bad-ln-escape>
+    <#trig-syntax-bad-missing-ns-dot-end>
+    <#trig-syntax-bad-missing-ns-dot-start>
+    <#trig-syntax-bad-ns-dot-end>
+    <#trig-syntax-bad-ns-dot-start>
+    <#trig-syntax-bad-number-dot-in-anon>
+    <#trig-syntax-blank-label>
+    <#trig-syntax-ln-colons>
+    <#trig-syntax-ln-dots>
+    <#trig-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.trig> ;
+   mf:result    <IRI_spo.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <IRI_spo.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <IRI_spo.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <IRI_with_all_punctuation.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <bareword_a_predicate.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <IRI_spo.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <IRI_spo.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <IRI_spo.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <IRI_spo.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <IRI_spo.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <IRI_spo.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <IRI_spo.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <localName_with_nfc_PN_CHARS_BASE_character_boundaries.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <localName_with_PN_CHARS_BASE_character_boundaries.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <IRI_spo.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <prefix_reassigned_and_used.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <reserved_escaped_localName.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <percent_escaped_localName.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <HYPHEN_MINUS_in_localName.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <underscore_in_localName.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <localname_with_COLON.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <localName_with_leading_underscore.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <localName_with_leading_digit.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <localName_with_non_leading_extras.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <IRI_spo.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <IRI_spo.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <labeled_blank_node_subject.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <labeled_blank_node_object.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <labeled_blank_node_object.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <labeled_blank_node_object.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <labeled_blank_node_object.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <labeled_blank_node_object.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <labeled_blank_node_subject.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <labeled_blank_node_object.nq> ;
+   .
+
+<#sole_blankNodePropertyList> rdf:type rdft:TestTurtleEval ;
+   mf:name      "sole_blankNodePropertyList" ;
+   rdfs:comment "sole blankNodePropertyList [ <p> <o> ] ." ;
+   rdft:approval rdft:Approved ;
+   mf:action    <sole_blankNodePropertyList.trig> ;
+   mf:result    <labeled_blank_node_subject.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <blankNodePropertyList_as_subject.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <blankNodePropertyList_as_object.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <blankNodePropertyList_with_multiple_triples.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <nested_blankNodePropertyLists.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <blankNodePropertyList_containing_collection.nq> ;
+   .
+
+<#collection_subject> rdf:type rdft:TestTurtleEval ;
+   mf:name      "collection_subject" ;
+   rdfs:comment "collection subject" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <collection_subject.trig> ;
+   mf:result    <collection_subject.nq> ;
+   .
+
+<#collection_object> rdf:type rdft:TestTurtleEval ;
+   mf:name      "collection_object" ;
+   rdfs:comment "collection object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <collection_object.trig> ;
+   mf:result    <collection_object.nq> ;
+   .
+
+<#empty_collection> rdf:type rdft:TestTurtleEval ;
+   mf:name      "empty_collection" ;
+   rdfs:comment "empty collection ()" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <empty_collection.trig> ;
+   mf:result    <empty_collection.nq> ;
+   .
+
+<#nested_collection> rdf:type rdft:TestTurtleEval ;
+   mf:name      "nested_collection" ;
+   rdfs:comment "nested collection (())" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <nested_collection.trig> ;
+   mf:result    <nested_collection.nq> ;
+   .
+
+<#first> rdf:type rdft:TestTurtleEval ;
+   mf:name      "first" ;
+   rdfs:comment "first, not last, non-empty nested collection" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <first.trig> ;
+   mf:result    <first.nq> ;
+   .
+
+<#last> rdf:type rdft:TestTurtleEval ;
+   mf:name      "last" ;
+   rdfs:comment "last, not first, non-empty nested collection" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <last.trig> ;
+   mf:result    <last.nq> ;
+   .
+
+<#LITERAL1> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL1" ;
+   rdfs:comment "LITERAL1 'x'" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL1.trig> ;
+   mf:result    <LITERAL1.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <LITERAL1_ascii_boundaries.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <LITERAL1_all_controls.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <LITERAL1_all_punctuation.nq> ;
+   .
+
+<#LITERAL_LONG1> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL_LONG1" ;
+   rdfs:comment "LITERAL_LONG1 '''x'''" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL_LONG1.trig> ;
+   mf:result    <LITERAL1.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <LITERAL_LONG1_ascii_boundaries.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <LITERAL_LONG1_with_1_squote.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <LITERAL_LONG1_with_2_squotes.nq> ;
+   .
+
+<#LITERAL2> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL2" ;
+   rdfs:comment "LITERAL2 \"x\"" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL2.trig> ;
+   mf:result    <LITERAL1.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <LITERAL2_ascii_boundaries.nq> ;
+   .
+
+<#LITERAL_LONG2> rdf:type rdft:TestTurtleEval ;
+   mf:name      "LITERAL_LONG2" ;
+   rdfs:comment "LITERAL_LONG2 \"\"\"x\"\"\"" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <LITERAL_LONG2.trig> ;
+   mf:result    <LITERAL1.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <LITERAL_LONG2_ascii_boundaries.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <LITERAL_LONG2_with_1_squote.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <LITERAL_LONG2_with_2_squotes.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <literal_with_CHARACTER_TABULATION.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <literal_with_BACKSPACE.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <literal_with_LINE_FEED.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <literal_with_CARRIAGE_RETURN.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <literal_with_FORM_FEED.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <literal_with_REVERSE_SOLIDUS.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <literal_with_CHARACTER_TABULATION.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <literal_with_BACKSPACE.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <literal_with_LINE_FEED.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <literal_with_CARRIAGE_RETURN.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <literal_with_FORM_FEED.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <literal_with_numeric_escape4.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <literal_with_numeric_escape4.nq> ;
+   .
+
+<#IRIREF_datatype> rdf:type rdft:TestTurtleEval ;
+   mf:name      "IRIREF_datatype" ;
+   rdfs:comment "IRIREF datatype \"\"^^<t>" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <IRIREF_datatype.trig> ;
+   mf:result    <IRIREF_datatype.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <IRIREF_datatype.nq> ;
+   .
+
+<#bareword_integer> rdf:type rdft:TestTurtleEval ;
+   mf:name      "bareword_integer" ;
+   rdfs:comment "bareword integer" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <bareword_integer.trig> ;
+   mf:result    <IRIREF_datatype.nq> ;
+   .
+
+<#bareword_decimal> rdf:type rdft:TestTurtleEval ;
+   mf:name      "bareword_decimal" ;
+   rdfs:comment "bareword decimal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <bareword_decimal.trig> ;
+   mf:result    <bareword_decimal.nq> ;
+   .
+
+<#bareword_double> rdf:type rdft:TestTurtleEval ;
+   mf:name      "bareword_double" ;
+   rdfs:comment "bareword double" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <bareword_double.trig> ;
+   mf:result    <bareword_double.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <double_lower_case_e.nq> ;
+   .
+
+<#negative_numeric> rdf:type rdft:TestTurtleEval ;
+   mf:name      "negative_numeric" ;
+   rdfs:comment "negative numeric" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <negative_numeric.trig> ;
+   mf:result    <negative_numeric.nq> ;
+   .
+
+<#positive_numeric> rdf:type rdft:TestTurtleEval ;
+   mf:name      "positive_numeric" ;
+   rdfs:comment "positive numeric" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <positive_numeric.trig> ;
+   mf:result    <positive_numeric.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <numeric_with_leading_0.nq> ;
+   .
+
+<#literal_true> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_true" ;
+   rdfs:comment "literal true" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_true.trig> ;
+   mf:result    <literal_true.nq> ;
+   .
+
+<#literal_false> rdf:type rdft:TestTurtleEval ;
+   mf:name      "literal_false" ;
+   rdfs:comment "literal false" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <literal_false.trig> ;
+   mf:result    <literal_false.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <langtagged_non_LONG.nq> ;
+   .
+
+<#langtagged_LONG> rdf:type rdft:TestTurtleEval ;
+   mf:name      "langtagged_LONG" ;
+   rdfs:comment "langtagged LONG \"\"\"x\"\"\"@en" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <langtagged_LONG.trig> ;
+   mf:result    <langtagged_non_LONG.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <lantag_with_subtag.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <objectList_with_two_objects.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <predicateObjectList_with_two_objectLists.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <predicateObjectList_with_two_objectLists.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <repeated_semis_not_at_end.nq> ;
+   .
+
+# original tests-ttl
+<#trig-syntax-file-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-file-01" ;
+   rdfs:comment "Empty file" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-file-01.trig> ;
+   .
+
+<#trig-syntax-file-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-file-02" ;
+   rdfs:comment "Only comment" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-file-02.trig> ;
+   .
+
+<#trig-syntax-file-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-file-03" ;
+   rdfs:comment "One comment, one empty line" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-file-03.trig> ;
+   .
+
+<#trig-syntax-uri-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-uri-01" ;
+   rdfs:comment "Only IRIs" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-uri-01.trig> ;
+   .
+
+<#trig-syntax-uri-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-uri-02" ;
+   rdfs:comment "IRIs with Unicode escape" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-uri-02.trig> ;
+   .
+
+<#trig-syntax-uri-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-uri-03" ;
+   rdfs:comment "IRIs with long Unicode escape" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-uri-03.trig> ;
+   .
+
+<#trig-syntax-uri-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-uri-04" ;
+   rdfs:comment "Legal IRIs" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-uri-04.trig> ;
+   .
+
+<#trig-syntax-base-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-base-01" ;
+   rdfs:comment "@base" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-base-01.trig> ;
+   .
+
+<#trig-syntax-base-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-base-02" ;
+   rdfs:comment "BASE" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-base-02.trig> ;
+   .
+
+<#trig-syntax-base-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-base-03" ;
+   rdfs:comment "@base with relative IRIs" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-base-03.trig> ;
+   .
+
+<#trig-syntax-base-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-base-04" ;
+   rdfs:comment "base with relative IRIs" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-base-04.trig> ;
+   .
+
+<#trig-syntax-prefix-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-prefix-01" ;
+   rdfs:comment "@prefix" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-prefix-01.trig> ;
+   .
+
+<#trig-syntax-prefix-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-prefix-02" ;
+   rdfs:comment "PreFIX" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-prefix-02.trig> ;
+   .
+
+<#trig-syntax-prefix-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-prefix-03" ;
+   rdfs:comment "Empty PREFIX" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-prefix-03.trig> ;
+   .
+
+<#trig-syntax-prefix-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-prefix-04" ;
+   rdfs:comment "Empty @prefix with % escape" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-prefix-04.trig> ;
+   .
+
+<#trig-syntax-prefix-05> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-prefix-05" ;
+   rdfs:comment "@prefix with no suffix" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-prefix-05.trig> ;
+   .
+
+<#trig-syntax-prefix-06> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-prefix-06" ;
+   rdfs:comment "colon is a legal pname character" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-prefix-06.trig> ;
+   .
+
+<#trig-syntax-prefix-07> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-prefix-07" ;
+   rdfs:comment "dash is a legal pname character" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-prefix-07.trig> ;
+   .
+
+<#trig-syntax-prefix-08> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-prefix-08" ;
+   rdfs:comment "underscore is a legal pname character" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-prefix-08.trig> ;
+   .
+
+<#trig-syntax-prefix-09> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-prefix-09" ;
+   rdfs:comment "percents in pnames" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-prefix-09.trig> ;
+   .
+
+<#trig-syntax-string-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-string-01" ;
+   rdfs:comment "string literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-string-01.trig> ;
+   .
+
+<#trig-syntax-string-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-string-02" ;
+   rdfs:comment "langString literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-string-02.trig> ;
+   .
+
+<#trig-syntax-string-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-string-03" ;
+   rdfs:comment "langString literal with region" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-string-03.trig> ;
+   .
+
+<#trig-syntax-string-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-string-04" ;
+   rdfs:comment "squote string literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-string-04.trig> ;
+   .
+
+<#trig-syntax-string-05> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-string-05" ;
+   rdfs:comment "squote langString literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-string-05.trig> ;
+   .
+
+<#trig-syntax-string-06> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-string-06" ;
+   rdfs:comment "squote langString literal with region" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-string-06.trig> ;
+   .
+
+<#trig-syntax-string-07> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-string-07" ;
+   rdfs:comment "long string literal with embedded single- and double-quotes" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-string-07.trig> ;
+   .
+
+<#trig-syntax-string-08> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-string-08" ;
+   rdfs:comment "long string literal with embedded newline" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-string-08.trig> ;
+   .
+
+<#trig-syntax-string-09> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-string-09" ;
+   rdfs:comment "squote long string literal with embedded single- and double-quotes" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-string-09.trig> ;
+   .
+
+<#trig-syntax-string-10> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-string-10" ;
+   rdfs:comment "long langString literal with embedded newline" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-string-10.trig> ;
+   .
+
+<#trig-syntax-string-11> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-string-11" ;
+   rdfs:comment "squote long langString literal with embedded newline" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-string-11.trig> ;
+   .
+
+<#trig-syntax-str-esc-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-str-esc-01" ;
+   rdfs:comment "string literal with escaped newline" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-str-esc-01.trig> ;
+   .
+
+<#trig-syntax-str-esc-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-str-esc-02" ;
+   rdfs:comment "string literal with Unicode escape" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-str-esc-02.trig> ;
+   .
+
+<#trig-syntax-str-esc-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-str-esc-03" ;
+   rdfs:comment "string literal with long Unicode escape" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-str-esc-03.trig> ;
+   .
+
+<#trig-syntax-pname-esc-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-pname-esc-01" ;
+   rdfs:comment "pname with back-slash escapes" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-pname-esc-01.trig> ;
+   .
+
+<#trig-syntax-pname-esc-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-pname-esc-02" ;
+   rdfs:comment "pname with back-slash escapes (2)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-pname-esc-02.trig> ;
+   .
+
+<#trig-syntax-pname-esc-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-pname-esc-03" ;
+   rdfs:comment "pname with back-slash escapes (3)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-pname-esc-03.trig> ;
+   .
+
+<#trig-syntax-bnode-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-bnode-01" ;
+   rdfs:comment "bnode subject" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bnode-01.trig> ;
+   .
+
+<#trig-syntax-bnode-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-bnode-02" ;
+   rdfs:comment "bnode object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bnode-02.trig> ;
+   .
+
+<#trig-syntax-bnode-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-bnode-03" ;
+   rdfs:comment "bnode property list object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bnode-03.trig> ;
+   .
+
+<#trig-syntax-bnode-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-bnode-04" ;
+   rdfs:comment "bnode property list object (2)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bnode-04.trig> ;
+   .
+
+<#trig-syntax-bnode-05> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-bnode-05" ;
+   rdfs:comment "bnode property list subject" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bnode-05.trig> ;
+   .
+
+<#trig-syntax-bnode-06> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-bnode-06" ;
+   rdfs:comment "labeled bnode subject" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bnode-06.trig> ;
+   .
+
+<#trig-syntax-bnode-07> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-bnode-07" ;
+   rdfs:comment "labeled bnode subject and object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bnode-07.trig> ;
+   .
+
+<#trig-syntax-bnode-08> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-bnode-08" ;
+   rdfs:comment "bare bnode property list" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bnode-08.trig> ;
+   .
+
+<#trig-syntax-bnode-09> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-bnode-09" ;
+   rdfs:comment "bnode property list" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bnode-09.trig> ;
+   .
+
+<#trig-syntax-bnode-10> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-bnode-10" ;
+   rdfs:comment "mixed bnode property list and triple" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bnode-10.trig> ;
+   .
+
+<#trig-syntax-number-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-number-01" ;
+   rdfs:comment "integer literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-number-01.trig> ;
+   .
+
+<#trig-syntax-number-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-number-02" ;
+   rdfs:comment "negative integer literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-number-02.trig> ;
+   .
+
+<#trig-syntax-number-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-number-03" ;
+   rdfs:comment "positive integer literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-number-03.trig> ;
+   .
+
+<#trig-syntax-number-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-number-04" ;
+   rdfs:comment "decimal literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-number-04.trig> ;
+   .
+
+<#trig-syntax-number-05> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-number-05" ;
+   rdfs:comment "decimal literal (no leading digits)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-number-05.trig> ;
+   .
+
+<#trig-syntax-number-06> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-number-06" ;
+   rdfs:comment "negative decimal literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-number-06.trig> ;
+   .
+
+<#trig-syntax-number-07> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-number-07" ;
+   rdfs:comment "positive decimal literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-number-07.trig> ;
+   .
+
+<#trig-syntax-number-08> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-number-08" ;
+   rdfs:comment "integer literal with decimal lexical confusion" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-number-08.trig> ;
+   .
+
+<#trig-syntax-number-09> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-number-09" ;
+   rdfs:comment "double literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-number-09.trig> ;
+   .
+
+<#trig-syntax-number-10> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-number-10" ;
+   rdfs:comment "negative double literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-number-10.trig> ;
+   .
+
+<#trig-syntax-number-11> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-number-11" ;
+   rdfs:comment "double literal no fraction" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-number-11.trig> ;
+   .
+
+<#trig-syntax-datatypes-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-datatypes-01" ;
+   rdfs:comment "xsd:byte literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-datatypes-01.trig> ;
+   .
+
+<#trig-syntax-datatypes-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-datatypes-02" ;
+   rdfs:comment "integer as xsd:string" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-datatypes-02.trig> ;
+   .
+
+<#trig-syntax-kw-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-kw-01" ;
+   rdfs:comment "boolean literal (true)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-kw-01.trig> ;
+   .
+
+<#trig-syntax-kw-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-kw-02" ;
+   rdfs:comment "boolean literal (false)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-kw-02.trig> ;
+   .
+
+<#trig-syntax-kw-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-kw-03" ;
+   rdfs:comment "'a' as keyword" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-kw-03.trig> ;
+   .
+
+<#trig-syntax-struct-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-struct-01" ;
+   rdfs:comment "object list" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-struct-01.trig> ;
+   .
+
+<#trig-syntax-struct-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-struct-02" ;
+   rdfs:comment "predicate list with object list" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-struct-02.trig> ;
+   .
+
+<#trig-syntax-struct-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-struct-03" ;
+   rdfs:comment "predicate list with object list and dangling ';'" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-struct-03.trig> ;
+   .
+
+<#trig-syntax-struct-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-struct-04" ;
+   rdfs:comment "predicate list with multiple ;;" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-struct-04.trig> ;
+   .
+
+<#trig-syntax-struct-05> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-struct-05" ;
+   rdfs:comment "predicate list with multiple ;;" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-struct-05.trig> ;
+   .
+
+<#trig-syntax-lists-01> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-lists-01" ;
+   rdfs:comment "empty list" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-lists-01.trig> ;
+   .
+
+<#trig-syntax-lists-02> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-lists-02" ;
+   rdfs:comment "mixed list" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-lists-02.trig> ;
+   .
+
+<#trig-syntax-lists-03> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-lists-03" ;
+   rdfs:comment "isomorphic list as subject and object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-lists-03.trig> ;
+   .
+
+<#trig-syntax-lists-04> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-lists-04" ;
+   rdfs:comment "lists of lists" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-lists-04.trig> ;
+   .
+
+<#trig-syntax-lists-05> rdf:type rdft:TestTurtlePositiveSyntax ;
+   mf:name    "trig-syntax-lists-05" ;
+   rdfs:comment "mixed lists with embedded lists" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-lists-05.trig> ;
+   .
+
+<#trig-syntax-bad-uri-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-uri-01" ;
+   rdfs:comment "Bad IRI : space (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-uri-01.trig> ;
+   .
+
+<#trig-syntax-bad-uri-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-uri-02" ;
+   rdfs:comment "Bad IRI : bad escape (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-uri-02.trig> ;
+   .
+
+<#trig-syntax-bad-uri-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-uri-03" ;
+   rdfs:comment "Bad IRI : bad long escape (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-uri-03.trig> ;
+   .
+
+<#trig-syntax-bad-uri-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-uri-04" ;
+   rdfs:comment "Bad IRI : character escapes not allowed (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-uri-04.trig> ;
+   .
+
+<#trig-syntax-bad-uri-05> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-uri-05" ;
+   rdfs:comment "Bad IRI : character escapes not allowed (2) (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-uri-05.trig> ;
+   .
+
+<#trig-syntax-bad-prefix-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-prefix-01" ;
+   rdfs:comment "No prefix (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-prefix-01.trig> ;
+   .
+
+<#trig-syntax-bad-prefix-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-prefix-02" ;
+   rdfs:comment "No prefix (2) (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-prefix-02.trig> ;
+   .
+
+<#trig-syntax-bad-prefix-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-prefix-03" ;
+   rdfs:comment "@prefix without URI (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-prefix-03.trig> ;
+   .
+
+<#trig-syntax-bad-prefix-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-prefix-04" ;
+   rdfs:comment "@prefix without prefix name (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-prefix-04.trig> ;
+   .
+
+<#trig-syntax-bad-prefix-05> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-prefix-05" ;
+   rdfs:comment "@prefix without ':' (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-prefix-05.trig> ;
+   .
+
+<#trig-syntax-bad-base-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-base-01" ;
+   rdfs:comment "@base without URI (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-base-01.trig> ;
+   .
+
+<#trig-syntax-bad-base-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-base-02" ;
+   rdfs:comment "@base in wrong case (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-base-02.trig> ;
+   .
+
+<#trig-syntax-bad-base-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-base-03" ;
+   rdfs:comment "BASE without URI (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-base-03.trig> ;
+   .
+
+<#trig-syntax-bad-struct-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-02" ;
+   rdfs:comment "Turtle is not N3 (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-02.trig> ;
+   .
+
+<#trig-syntax-bad-struct-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-03" ;
+   rdfs:comment "Turtle is not NQuads (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-03.trig> ;
+   .
+
+<#trig-syntax-bad-struct-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-04" ;
+   rdfs:comment "Turtle does not allow literals-as-subjects (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-04.trig> ;
+   .
+
+<#trig-syntax-bad-struct-05> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-05" ;
+   rdfs:comment "Turtle does not allow literals-as-predicates (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-05.trig> ;
+   .
+
+<#trig-syntax-bad-struct-06> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-06" ;
+   rdfs:comment "Turtle does not allow bnodes-as-predicates (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-06.trig> ;
+   .
+
+<#trig-syntax-bad-struct-07> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-07" ;
+   rdfs:comment "Turtle does not allow labeled bnodes-as-predicates (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-07.trig> ;
+   .
+
+<#trig-syntax-bad-kw-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-kw-01" ;
+   rdfs:comment "'A' is not a keyword (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-kw-01.trig> ;
+   .
+
+<#trig-syntax-bad-kw-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-kw-02" ;
+   rdfs:comment "'a' cannot be used as subject (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-kw-02.trig> ;
+   .
+
+<#trig-syntax-bad-kw-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-kw-03" ;
+   rdfs:comment "'a' cannot be used as object (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-kw-03.trig> ;
+   .
+
+<#trig-syntax-bad-kw-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-kw-04" ;
+   rdfs:comment "'true' cannot be used as subject (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-kw-04.trig> ;
+   .
+
+<#trig-syntax-bad-kw-05> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-kw-05" ;
+   rdfs:comment "'true' cannot be used as object (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-kw-05.trig> ;
+   .
+
+<#trig-syntax-bad-n3-extras-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-n3-extras-01" ;
+   rdfs:comment "{} fomulae not in Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-n3-extras-01.trig> ;
+   .
+
+<#trig-syntax-bad-n3-extras-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-n3-extras-02" ;
+   rdfs:comment "= is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-n3-extras-02.trig> ;
+   .
+
+<#trig-syntax-bad-n3-extras-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-n3-extras-03" ;
+   rdfs:comment "N3 paths not in Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-n3-extras-03.trig> ;
+   .
+
+<#trig-syntax-bad-n3-extras-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-n3-extras-04" ;
+   rdfs:comment "N3 paths not in Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-n3-extras-04.trig> ;
+   .
+
+<#trig-syntax-bad-n3-extras-05> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-n3-extras-05" ;
+   rdfs:comment "N3 is...of not in Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-n3-extras-05.trig> ;
+   .
+
+<#trig-syntax-bad-n3-extras-06> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-n3-extras-06" ;
+   rdfs:comment "N3 paths not in Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-n3-extras-06.trig> ;
+   .
+
+<#trig-syntax-bad-n3-extras-07> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-n3-extras-07" ;
+   rdfs:comment "@keywords is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-n3-extras-07.trig> ;
+   .
+
+<#trig-syntax-bad-n3-extras-08> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-n3-extras-08" ;
+   rdfs:comment "@keywords is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-n3-extras-08.trig> ;
+   .
+
+<#trig-syntax-bad-n3-extras-09> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-n3-extras-09" ;
+   rdfs:comment "=> is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-n3-extras-09.trig> ;
+   .
+
+<#trig-syntax-bad-n3-extras-10> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-n3-extras-10" ;
+   rdfs:comment "<= is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-n3-extras-10.trig> ;
+   .
+
+<#trig-syntax-bad-n3-extras-11> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-n3-extras-11" ;
+   rdfs:comment "@forSome is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-n3-extras-11.trig> ;
+   .
+
+<#trig-syntax-bad-n3-extras-12> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-n3-extras-12" ;
+   rdfs:comment "@forAll is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-n3-extras-12.trig> ;
+   .
+
+<#trig-syntax-bad-n3-extras-13> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-n3-extras-13" ;
+   rdfs:comment "@keywords is not Turtle (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-n3-extras-13.trig> ;
+   .
+
+<#trig-syntax-bad-struct-08> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-08" ;
+   rdfs:comment "missing '.' (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-08.trig> ;
+   .
+
+<#trig-syntax-bad-struct-09> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-09" ;
+   rdfs:comment "extra '.' (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-09.trig> ;
+   .
+
+<#trig-syntax-bad-struct-10> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-10" ;
+   rdfs:comment "extra '.' (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-10.trig> ;
+   .
+
+<#trig-syntax-bad-struct-11> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-11" ;
+   rdfs:comment "trailing ';' no '.' (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-11.trig> ;
+   .
+
+<#trig-syntax-bad-struct-12> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-12" ;
+   rdfs:comment "subject, predicate, no object (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-12.trig> ;
+   .
+
+<#trig-syntax-bad-struct-13> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-13" ;
+   rdfs:comment "subject, predicate, no object (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-13.trig> ;
+   .
+
+<#trig-syntax-bad-struct-14> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-14" ;
+   rdfs:comment "literal as subject (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-14.trig> ;
+   .
+
+<#trig-syntax-bad-struct-15> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-15" ;
+   rdfs:comment "literal as predicate (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-15.trig> ;
+   .
+
+<#trig-syntax-bad-struct-16> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-16" ;
+   rdfs:comment "bnode as predicate (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-16.trig> ;
+   .
+
+<#trig-syntax-bad-struct-17> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-struct-17" ;
+   rdfs:comment "labeled bnode as predicate (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-struct-17.trig> ;
+   .
+
+<#trig-syntax-bad-lang-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-lang-01" ;
+   rdfs:comment "langString with bad lang (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-lang-01.trig> ;
+   .
+
+<#trig-syntax-bad-esc-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-esc-01" ;
+   rdfs:comment "Bad string escape (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-esc-01.trig> ;
+   .
+
+<#trig-syntax-bad-esc-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-esc-02" ;
+   rdfs:comment "Bad string escape (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-esc-02.trig> ;
+   .
+
+<#trig-syntax-bad-esc-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-esc-03" ;
+   rdfs:comment "Bad string escape (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-esc-03.trig> ;
+   .
+
+<#trig-syntax-bad-esc-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-esc-04" ;
+   rdfs:comment "Bad string escape (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-esc-04.trig> ;
+   .
+
+<#trig-syntax-bad-pname-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-pname-01" ;
+   rdfs:comment "'~' must be escaped in pname (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-pname-01.trig> ;
+   .
+
+<#trig-syntax-bad-pname-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-pname-02" ;
+   rdfs:comment "Bad %-sequence in pname (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-pname-02.trig> ;
+   .
+
+<#trig-syntax-bad-pname-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-pname-03" ;
+   rdfs:comment "Bad unicode escape in pname (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-pname-03.trig> ;
+   .
+
+<#trig-syntax-bad-string-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-string-01" ;
+   rdfs:comment "mismatching string literal open/close (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-string-01.trig> ;
+   .
+
+<#trig-syntax-bad-string-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-string-02" ;
+   rdfs:comment "mismatching string literal open/close (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-string-02.trig> ;
+   .
+
+<#trig-syntax-bad-string-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-string-03" ;
+   rdfs:comment "mismatching string literal long/short (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-string-03.trig> ;
+   .
+
+<#trig-syntax-bad-string-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-string-04" ;
+   rdfs:comment "mismatching long string literal open/close (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-string-04.trig> ;
+   .
+
+<#trig-syntax-bad-string-05> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-string-05" ;
+   rdfs:comment "Long literal with missing end (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-string-05.trig> ;
+   .
+
+<#trig-syntax-bad-string-06> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-string-06" ;
+   rdfs:comment "Long literal with extra quote (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-string-06.trig> ;
+   .
+
+<#trig-syntax-bad-string-07> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-string-07" ;
+   rdfs:comment "Long literal with extra squote (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-string-07.trig> ;
+   .
+
+<#trig-syntax-bad-num-01> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-num-01" ;
+   rdfs:comment "Bad number format (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-num-01.trig> ;
+   .
+
+<#trig-syntax-bad-num-02> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-num-02" ;
+   rdfs:comment "Bad number format (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-num-02.trig> ;
+   .
+
+<#trig-syntax-bad-num-03> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-num-03" ;
+   rdfs:comment "Bad number format (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-num-03.trig> ;
+   .
+
+<#trig-syntax-bad-num-04> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-num-04" ;
+   rdfs:comment "Bad number format (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-num-04.trig> ;
+   .
+
+<#trig-syntax-bad-num-05> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-num-05" ;
+   rdfs:comment "Bad number format (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-num-05.trig> ;
+   .
+
+<#trig-eval-struct-01> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-eval-struct-01" ;
+   rdfs:comment "triple with IRIs" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-eval-struct-01.trig> ;
+   mf:result    <trig-eval-struct-01.nq> ;
+   .
+
+<#trig-eval-struct-02> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-eval-struct-02" ;
+   rdfs:comment "triple with IRIs and embedded whitespace" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-eval-struct-02.trig> ;
+   mf:result    <trig-eval-struct-02.nq> ;
+   .
+
+<#trig-subm-01> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-01" ;
+   rdfs:comment "Blank subject" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-01.trig> ;
+   mf:result    <trig-subm-01.nq> ;
+   .
+
+<#trig-subm-02> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-02" ;
+   rdfs:comment "@prefix and qnames" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-02.trig> ;
+   mf:result    <trig-subm-02.nq> ;
+   .
+
+<#trig-subm-03> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-03" ;
+   rdfs:comment ", operator" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-03.trig> ;
+   mf:result    <trig-subm-03.nq> ;
+   .
+
+<#trig-subm-04> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-04" ;
+   rdfs:comment "; operator" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-04.trig> ;
+   mf:result    <trig-subm-04.nq> ;
+   .
+
+<#trig-subm-05> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-05" ;
+   rdfs:comment "empty [] as subject and object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-05.trig> ;
+   mf:result    <trig-subm-05.nq> ;
+   .
+
+<#trig-subm-06> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-06" ;
+   rdfs:comment "non-empty [] as subject and object" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-06.trig> ;
+   mf:result    <trig-subm-06.nq> ;
+   .
+
+<#trig-subm-07> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-07" ;
+   rdfs:comment "'a' as predicate" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-07.trig> ;
+   mf:result    <trig-subm-07.nq> ;
+   .
+
+<#trig-subm-08> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-08" ;
+   rdfs:comment "simple collection" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-08.trig> ;
+   mf:result    <trig-subm-08.nq> ;
+   .
+
+<#trig-subm-09> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-09" ;
+   rdfs:comment "empty collection" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-09.trig> ;
+   mf:result    <trig-subm-09.nq> ;
+   .
+
+<#trig-subm-10> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-10" ;
+   rdfs:comment "integer datatyped literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-10.trig> ;
+   mf:result    <trig-subm-10.nq> ;
+   .
+
+<#trig-subm-11> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-11" ;
+   rdfs:comment "decimal integer canonicalization" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-11.trig> ;
+   mf:result    <trig-subm-11.nq> ;
+   .
+
+<#trig-subm-12> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-12" ;
+   rdfs:comment "- and _ in names and qnames" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-12.trig> ;
+   mf:result    <trig-subm-12.nq> ;
+   .
+
+<#trig-subm-13> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-13" ;
+   rdfs:comment "tests for rdf:_<numbers> and other qnames starting with _" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-13.trig> ;
+   mf:result    <trig-subm-13.nq> ;
+   .
+
+<#trig-subm-14> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-14" ;
+   rdfs:comment "bare : allowed" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-14.trig> ;
+   mf:result    <trig-subm-14.nq> ;
+   .
+
+<#trig-subm-15> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-15" ;
+   rdfs:comment "simple long literal" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-15.trig> ;
+   mf:result    <trig-subm-15.nq> ;
+   .
+
+<#trig-subm-16> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-16" ;
+   rdfs:comment "long literals with escapes" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-16.trig> ;
+   mf:result    <trig-subm-16.nq> ;
+   .
+
+<#trig-subm-17> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-17" ;
+   rdfs:comment "floating point number" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-17.trig> ;
+   mf:result    <trig-subm-17.nq> ;
+   .
+
+<#trig-subm-18> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-18" ;
+   rdfs:comment "empty literals, normal and long variant" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-18.trig> ;
+   mf:result    <trig-subm-18.nq> ;
+   .
+
+<#trig-subm-19> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-19" ;
+   rdfs:comment "positive integer, decimal and doubles" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-19.trig> ;
+   mf:result    <trig-subm-19.nq> ;
+   .
+
+<#trig-subm-20> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-20" ;
+   rdfs:comment "negative integer, decimal and doubles" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-20.trig> ;
+   mf:result    <trig-subm-20.nq> ;
+   .
+
+<#trig-subm-21> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-21" ;
+   rdfs:comment "long literal ending in double quote" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-21.trig> ;
+   mf:result    <trig-subm-21.nq> ;
+   .
+
+<#trig-subm-22> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-22" ;
+   rdfs:comment "boolean literals" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-22.trig> ;
+   mf:result    <trig-subm-22.nq> ;
+   .
+
+<#trig-subm-23> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-23" ;
+   rdfs:comment "comments" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-23.trig> ;
+   mf:result    <trig-subm-23.nq> ;
+   .
+
+<#trig-subm-24> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-24" ;
+   rdfs:comment "no final mewline" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-24.trig> ;
+   mf:result    <trig-subm-24.nq> ;
+   .
+
+<#trig-subm-25> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-25" ;
+   rdfs:comment "repeating a @prefix changes pname definition" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-25.trig> ;
+   mf:result    <trig-subm-25.nq> ;
+   .
+
+<#trig-subm-26> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-26" ;
+   rdfs:comment "Variations on decimal canonicalization" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-26.trig> ;
+   mf:result    <trig-subm-26.nq> ;
+   .
+
+<#trig-subm-27> rdf:type rdft:TestTurtleEval ;
+   mf:name    "trig-subm-27" ;
+   rdfs:comment "Repeating @base changes base for relative IRI lookup" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-subm-27.trig> ;
+   mf:result    <trig-subm-27.nq> ;
+   .
+
+<#trig-eval-bad-01> rdf:type rdft:TestTurtleNegativeEval ;
+   mf:name    "trig-eval-bad-01" ;
+   rdfs:comment "Bad IRI : good escape, bad charcater (negative evaluation test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-eval-bad-01.trig> ;
+   .
+
+<#trig-eval-bad-02> rdf:type rdft:TestTurtleNegativeEval ;
+   mf:name    "trig-eval-bad-02" ;
+   rdfs:comment "Bad IRI : hex 3C is < (negative evaluation test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-eval-bad-02.trig> ;
+   .
+
+<#trig-eval-bad-03> rdf:type rdft:TestTurtleNegativeEval ;
+   mf:name    "trig-eval-bad-03" ;
+   rdfs:comment "Bad IRI : hex 3E is  (negative evaluation test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-eval-bad-03.trig> ;
+   .
+
+<#trig-eval-bad-04> rdf:type rdft:TestTurtleNegativeEval ;
+   mf:name    "trig-eval-bad-04" ;
+   rdfs:comment "Bad IRI : {abc} (negative evaluation test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-eval-bad-04.trig> ;
+   .
+
+# 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.trig> ;
+   mf:result    <LITERAL_LONG2_with_REVERSE_SOLIDUS.nq> ;
+   .
+
+<#trig-syntax-bad-LITERAL2_with_langtag_and_datatype> rdf:type rdft:TestTurtleNegativeSyntax ;
+   mf:name    "trig-syntax-bad-num-05" ;
+   rdfs:comment "Bad number format (negative test)" ;
+   rdft:approval rdft:Approved ;
+   mf:action    <trig-syntax-bad-LITERAL2_with_langtag_and_datatype.trig> ;
+   .
+
+<#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.trig> ;
+   mf:result    <two_LITERAL_LONG2s.nq> ;
+   .
+
+<#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.trig> ;
+   mf:result    <langtagged_LONG_with_subtag.nq> ;
+   .
+
+# tests from David Robillard
+# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c21
+<#trig-syntax-bad-blank-label-dot-end>
+	rdf:type rdft:TestTurtleNegativeSyntax ;
+	rdfs:comment "Blank node label must not end in dot" ;
+	mf:name "trig-syntax-bad-blank-label-dot-end" ;
+        rdft:approval rdft:Approved ;
+	mf:action <trig-syntax-bad-blank-label-dot-end.trig> .
+
+<#trig-syntax-bad-number-dot-in-anon>
+	rdf:type rdft:TestTurtleNegativeSyntax ;
+	rdfs:comment "Dot delimeter may not appear in anonymous nodes" ;
+	mf:name "trig-syntax-bad-number-dot-in-anon" ;
+        rdft:approval rdft:Approved ;
+	mf:action <trig-syntax-bad-number-dot-in-anon.trig> .
+
+<#trig-syntax-bad-ln-dash-start>
+	rdf:type rdft:TestTurtleNegativeSyntax ;
+	rdfs:comment "Local name must not begin with dash" ;
+	mf:name "trig-syntax-bad-ln-dash-start" ;
+        rdft:approval rdft:Approved ;
+	mf:action <trig-syntax-bad-ln-dash-start.trig> .
+
+<#trig-syntax-bad-ln-escape>
+	rdf:type rdft:TestTurtleNegativeSyntax ;
+	rdfs:comment "Bad hex escape in local name" ;
+	mf:name "trig-syntax-bad-ln-escape" ;
+        rdft:approval rdft:Approved ;
+	mf:action <trig-syntax-bad-ln-escape.trig> .
+
+<#trig-syntax-bad-ln-escape-start>
+	rdf:type rdft:TestTurtleNegativeSyntax ;
+	rdfs:comment "Bad hex escape at start of local name" ;
+	mf:name "trig-syntax-bad-ln-escape-start" ;
+        rdft:approval rdft:Approved ;
+	mf:action <trig-syntax-bad-ln-escape-start.trig> .
+
+<#trig-syntax-bad-ns-dot-end>
+	rdf:type rdft:TestTurtleNegativeSyntax ;
+	rdfs:comment "Prefix must not end in dot" ;
+	mf:name "trig-syntax-bad-ns-dot-end" ;
+        rdft:approval rdft:Approved ;
+	mf:action <trig-syntax-bad-ns-dot-end.trig> .
+
+<#trig-syntax-bad-ns-dot-start>
+	rdf:type rdft:TestTurtleNegativeSyntax ;
+	rdfs:comment "Prefix must not start with dot" ;
+	mf:name "trig-syntax-bad-ns-dot-start" ;
+        rdft:approval rdft:Approved ;
+	mf:action <trig-syntax-bad-ns-dot-start.trig> .
+
+<#trig-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 trig-syntax-bad-ns-dot-end)" ;
+	mf:name "trig-syntax-bad-missing-ns-dot-end" ;
+        rdft:approval rdft:Approved ;
+	mf:action <trig-syntax-bad-missing-ns-dot-end.trig> .
+
+<#trig-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 trig-syntax-bad-ns-dot-end)" ;
+	mf:name "trig-syntax-bad-missing-ns-dot-start" ;
+        rdft:approval rdft:Approved ;
+	mf:action <trig-syntax-bad-missing-ns-dot-start.trig> .
+
+<#trig-syntax-ln-dots>
+	rdf:type rdft:TestTurtlePositiveSyntax ;
+	rdfs:comment "Dots in pname local names" ;
+	mf:name "trig-syntax-ln-dots" ;
+        rdft:approval rdft:Approved ;
+	mf:action <trig-syntax-ln-dots.trig> .
+
+<#trig-syntax-ln-colons>
+	rdf:type rdft:TestTurtlePositiveSyntax ;
+	rdfs:comment "Colons in pname local names" ;
+	mf:name "trig-syntax-ln-colons" ;
+        rdft:approval rdft:Approved ;
+	mf:action <trig-syntax-ln-colons.trig> .
+
+<#trig-syntax-ns-dots>
+	rdf:type rdft:TestTurtlePositiveSyntax ;
+	rdfs:comment "Dots in namespace names" ;
+	mf:name "trig-syntax-ns-dots" ;
+        rdft:approval rdft:Approved ;
+	mf:action <trig-syntax-ns-dots.trig> .
+
+<#trig-syntax-blank-label>
+	rdf:type rdft:TestTurtlePositiveSyntax ;
+	rdfs:comment "Characters allowed in blank node labels" ;
+	mf:name "trig-syntax-blank-label" ;
+        rdft:approval rdft:Approved ;
+	mf:action <trig-syntax-blank-label.trig> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/negative_numeric.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "-1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://a.example/s> <http://a.example/p> "-1"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/negative_numeric.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> -1 .}
+<g> {<http://a.example/s> <http://a.example/p> -1 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/nested_blankNodePropertyLists.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+_:b1 <http://a.example/p1> _:b2 .
+_:b2 <http://a.example/p2> <http://a.example/o2> .
+_:b1 <http://a.example/p> <http://a.example/o> .
+_:b3 <http://a.example/p1> _:b4 <g> .
+_:b4 <http://a.example/p2> <http://a.example/o2> <g> .
+_:b3 <http://a.example/p> <http://a.example/o> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/nested_blankNodePropertyLists.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{[ <http://a.example/p1> [ <http://a.example/p2> <http://a.example/o2> ] ; <http://a.example/p> <http://a.example/o> ].}
+<g> {[ <http://a.example/p1> [ <http://a.example/p2> <http://a.example/o2> ] ; <http://a.example/p> <http://a.example/o> ].}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/nested_collection.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,10 @@
+<http://a.example/s> <http://a.example/p> _:outerEl1 .
+_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl1 .
+_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+<http://a.example/s> <http://a.example/p> _:outerEl3 <g> .
+_:outerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl3 <g> .
+_:innerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
+_:innerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <g> .
+_:outerEl3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/nested_collection.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> ((1)) .}
+<g> {<http://a.example/s> <http://a.example/p> ((1)) .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/numeric_with_leading_0.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "01"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://a.example/s> <http://a.example/p> "01"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/numeric_with_leading_0.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> 01 .}
+<g> {<http://a.example/s> <http://a.example/p> 01 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/objectList_with_two_objects.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+<http://a.example/s> <http://a.example/p> <http://a.example/o1> .
+<http://a.example/s> <http://a.example/p> <http://a.example/o2> .
+<http://a.example/s> <http://a.example/p> <http://a.example/o1> <g> .
+<http://a.example/s> <http://a.example/p> <http://a.example/o2> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/objectList_with_two_objects.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> <http://a.example/o1>, <http://a.example/o2> .}
+<g> {<http://a.example/s> <http://a.example/p> <http://a.example/o1>, <http://a.example/o2> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/old_style_base.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@base <http://a.example/>.
+{<s> <http://a.example/p> <http://a.example/o> .}
+<g> {<s> <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/old_style_prefix.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/>.
+{p:s <http://a.example/p> <http://a.example/o> .}
+<g> {p:s <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/percent_escaped_localName.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/%25> <http://a.example/p> <http://a.example/o> .
+<http://a.example/%25> <http://a.example/p> <http://a.example/o> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/percent_escaped_localName.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/>.
+{p:%25 <http://a.example/p> <http://a.example/o> .}
+<g> {p:%25 <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/positive_numeric.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p> "+1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://a.example/s> <http://a.example/p> "+1"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/positive_numeric.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p> +1 .}
+<g> {<http://a.example/s> <http://a.example/p> +1 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/predicateObjectList_with_two_objectLists.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+<http://a.example/s> <http://a.example/p1> <http://a.example/o1> .
+<http://a.example/s> <http://a.example/p2> <http://a.example/o2> .
+<http://a.example/s> <http://a.example/p1> <http://a.example/o1> <g> .
+<http://a.example/s> <http://a.example/p2> <http://a.example/o2> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/predicateObjectList_with_two_objectLists.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p1> <http://a.example/o1>; <http://a.example/p2> <http://a.example/o2> .}
+<g> {<http://a.example/s> <http://a.example/p1> <http://a.example/o1>; <http://a.example/p2> <http://a.example/o2> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/prefix_only_IRI.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/s>.
+{p: <http://a.example/p> <http://a.example/o> .}
+<g> {p: <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/prefix_reassigned_and_used.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://b.example/s> <http://a.example/p> <http://a.example/o> .
+<http://b.example/s> <http://a.example/p> <http://a.example/o> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/prefix_reassigned_and_used.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+@prefix p: <http://a.example/>.
+@prefix p: <http://b.example/>.
+{p:s <http://a.example/p> <http://a.example/o> .}
+<g> {p:s <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/prefix_with_PN_CHARS_BASE_character_boundaries.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿿: <http://a.example/> .
+{<http://a.example/s> <http://a.example/p> AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿿:o .}
+<g> {<http://a.example/s> <http://a.example/p> AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿿:o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/prefix_with_non_leading_extras.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix a·̀ͯ‿.⁀: <http://a.example/>.
+{a·̀ͯ‿.⁀:s <http://a.example/p> <http://a.example/o> .}
+<g> {a·̀ͯ‿.⁀:s <http://a.example/p> <http://a.example/o> .}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/prefixed_IRI_object.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/>.
+{<http://a.example/s> <http://a.example/p> p:o .}
+<g> {<http://a.example/s> <http://a.example/p> p:o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/prefixed_IRI_predicate.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/>.
+{<http://a.example/s> p:p <http://a.example/o> .}
+<g> {<http://a.example/s> p:p <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/prefixed_name_datatype.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+{<http://a.example/s> <http://a.example/p> "1"^^xsd:integer .}
+<g> {<http://a.example/s> <http://a.example/p> "1"^^xsd:integer .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/repeated_semis_at_end.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p1> <http://a.example/o1>;; <http://a.example/p2> <http://a.example/o2> .}
+<g> {<http://a.example/s> <http://a.example/p1> <http://a.example/o1>;; <http://a.example/p2> <http://a.example/o2> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/repeated_semis_not_at_end.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/s> <http://a.example/p1> <http://a.example/o1> .
+<http://a.example/s> <http://a.example/p1> <http://a.example/o1> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/repeated_semis_not_at_end.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://a.example/s> <http://a.example/p1> <http://a.example/o1>;; .}
+<g> {<http://a.example/s> <http://a.example/p1> <http://a.example/o1>;; .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/reserved_escaped_localName.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://a.example/_~.-!$&'()*+,;=/?#@%00> <http://a.example/p> <http://a.example/o> .
+<http://a.example/_~.-!$&'()*+,;=/?#@%00> <http://a.example/p> <http://a.example/o> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/reserved_escaped_localName.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix p: <http://a.example/>.
+{p:\_\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\%00 <http://a.example/p> <http://a.example/o> .}
+<g> {p:\_\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\%00 <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/sole_blankNodePropertyList.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{[ <http://a.example/p> <http://a.example/o> ] .}
+<g> {[ <http://a.example/p> <http://a.example/o> ] .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-eval-bad-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Bad IRI : good escape, bad charcater
+{<http://example/\u0020> <http://example/p> <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-eval-bad-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Bad IRI : hex 3C is <
+{<http://example/\u003C> <http://example/p> <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-eval-bad-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Bad IRI : hex 3E is >
+{<http://example/\u003E> <http://example/p> <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-eval-bad-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Bad IRI
+{<http://example/{abc}> <http://example/p> <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-eval-struct-01.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://example/s> <http://example/p> <http://example/o> .
+<http://example/s> <http://example/p> <http://example/o> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-eval-struct-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://example/s> <http://example/p> <http://example/o> .}
+<g> {<http://example/s> <http://example/p> <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-eval-struct-02.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+<http://example/s> <http://example/p1> <http://example/o1> .
+<http://example/s> <http://example/p2> <http://example/o2> .
+<http://example/s> <http://example/p1> <http://example/o1> <g> .
+<http://example/s> <http://example/p2> <http://example/o2> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-eval-struct-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,13 @@
+{
+  <http://example/s> 
+      <http://example/p1> <http://example/o1> ;
+      <http://example/p2> <http://example/o2> ; 
+      .
+}
+
+<g> {
+  <http://example/s> 
+      <http://example/p1> <http://example/o1> ;
+      <http://example/p2> <http://example/o2> ; 
+      .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-01.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+_:genid1 <http://example/base/trig-subm-01.ttl#x> <http://example/base/trig-subm-01.ttl#y> .
+_:genid2 <http://example/base/trig-subm-01.ttl#x> <http://example/base/trig-subm-01.ttl#y> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix : <#> .
+{[] :x :y .}
+<g> {[] :x :y .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-02.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+<http://example.org/base1#a> <http://example.org/base1#b> <http://example.org/base1#c> .
+<http://example.org/base2#a> <http://example.org/base2#b> <http://example.org/base2#c> .
+<http://example.org/base1#a> <http://example.org/base2#a> <http://example.org/base3#a> .
+<http://example.org/base1#a> <http://example.org/base1#b> <http://example.org/base1#c> <g> .
+<http://example.org/base2#a> <http://example.org/base2#b> <http://example.org/base2#c> <g> .
+<http://example.org/base1#a> <http://example.org/base2#a> <http://example.org/base3#a> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,16 @@
+# Test @prefix and qnames
+@prefix :  <http://example.org/base1#> .
+@prefix a: <http://example.org/base2#> .
+@prefix b: <http://example.org/base3#> .
+
+{
+  :a :b :c .
+  a:a a:b a:c .
+  :a a:a b:a .
+}
+
+<g> {
+  :a :b :c .
+  a:a a:b a:c .
+  :a a:a b:a .
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-03.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+<http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#c> .
+<http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#d> .
+<http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#e> .
+<http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#c> <g> .
+<http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#d> <g> .
+<http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#e> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,14 @@
+# Test , operator
+@prefix : <http://example.org/base#> .
+
+{
+:a :b :c,
+      :d,
+      :e .
+}
+
+<g> {
+:a :b :c,
+      :d,
+      :e .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-04.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+<http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#c> .
+<http://example.org/base#a> <http://example.org/base#d> <http://example.org/base#e> .
+<http://example.org/base#a> <http://example.org/base#f> <http://example.org/base#g> .
+<http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#c> <g> .
+<http://example.org/base#a> <http://example.org/base#d> <http://example.org/base#e> <g> .
+<http://example.org/base#a> <http://example.org/base#f> <http://example.org/base#g> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,14 @@
+# Test ; operator
+@prefix : <http://example.org/base#> .
+
+{
+:a :b :c ;
+   :d :e ;
+   :f :g .
+}
+
+<g> {
+:a :b :c ;
+   :d :e ;
+   :f :g .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-05.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+_:genid1 <http://example.org/base#a> <http://example.org/base#b> .
+<http://example.org/base#c> <http://example.org/base#d> _:genid2 .
+_:genid3 <http://example.org/base#a> <http://example.org/base#b> <g> .
+<http://example.org/base#c> <http://example.org/base#d> _:genid4 <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-05.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,12 @@
+# Test empty [] operator; not allowed as predicate
+@prefix : <http://example.org/base#> .
+
+{
+[] :a :b .
+:c :d [] .
+}
+
+<g> {
+[] :a :b .
+:c :d [] .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-06.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,8 @@
+_:genid1 <http://example.org/base#a> <http://example.org/base#b> .
+_:genid1 <http://example.org/base#c> <http://example.org/base#d> .
+_:genid2 <http://example.org/base#g> <http://example.org/base#h> .
+<http://example.org/base#e> <http://example.org/base#f> _:genid2 .
+_:genid3 <http://example.org/base#a> <http://example.org/base#b> <g> .
+_:genid3 <http://example.org/base#c> <http://example.org/base#d> <g> .
+_:genid4 <http://example.org/base#g> <http://example.org/base#h> <g> .
+<http://example.org/base#e> <http://example.org/base#f> _:genid4 <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-06.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,12 @@
+# Test non empty [] operator; not allowed as predicate
+@prefix : <http://example.org/base#> .
+
+{
+[ :a :b ] :c :d .
+:e :f [ :g :h ] .
+}
+
+<g> {
+[ :a :b ] :c :d .
+:e :f [ :g :h ] .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-07.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://example.org/base#a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/base#b> .
+<http://example.org/base#a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/base#b> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-07.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+# 'a' only allowed as a predicate
+@prefix : <http://example.org/base#> .
+{:a a :b .}
+<g> {:a a :b .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-08.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,11 @@
+_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "banana" .
+_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "apple" .
+_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:genid1 .
+<http://example.org/stuff/1.0/a> <http://example.org/stuff/1.0/b> _:genid2 .
+
+_:genid3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "banana" <g> .
+_:genid3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <g> .
+_:genid4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "apple" <g> .
+_:genid4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:genid3 <g> .
+<http://example.org/stuff/1.0/a> <http://example.org/stuff/1.0/b> _:genid4 <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-08.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+@prefix : <http://example.org/stuff/1.0/> .
+{:a :b ( "apple" "banana" ) .}
+<g> {:a :b ( "apple" "banana" ) .}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-09.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://example.org/stuff/1.0/a> <http://example.org/stuff/1.0/b> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
+<http://example.org/stuff/1.0/a> <http://example.org/stuff/1.0/b> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-09.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+@prefix : <http://example.org/stuff/1.0/> .
+{:a :b ( ) .}
+<g> {:a :b ( ) .}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-10.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,8 @@
+_:hasParent <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> .
+_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> .
+_:genid1 <http://www.w3.org/2002/07/owl#onProperty> _:hasParent .
+_:genid1 <http://www.w3.org/2002/07/owl#maxCardinality> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
+_:hasParent1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> <g> .
+_:genid3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> <g> .
+_:genid3 <http://www.w3.org/2002/07/owl#onProperty> _:hasParent1 <g> .
+_:genid3 <http://www.w3.org/2002/07/owl#maxCardinality> "2"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-10.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,20 @@
+# Test integer datatyped literals using an OWL cardinality constraint
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+
+# based on examples in the OWL Reference
+
+{
+_:hasParent a owl:ObjectProperty .
+
+[] a owl:Restriction ;
+  owl:onProperty _:hasParent ;
+  owl:maxCardinality 2 .
+}
+
+<g> {
+_:hasParent a owl:ObjectProperty .
+
+[] a owl:Restriction ;
+  owl:onProperty _:hasParent ;
+  owl:maxCardinality 2 .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-11.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,10 @@
+<http://example.org/res1> <http://example.org/prop1> "000000"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org/res2> <http://example.org/prop2> "0"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org/res3> <http://example.org/prop3> "000001"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org/res4> <http://example.org/prop4> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org/res5> <http://example.org/prop5> "4"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org/res1> <http://example.org/prop1> "000000"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
+<http://example.org/res2> <http://example.org/prop2> "0"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
+<http://example.org/res3> <http://example.org/prop3> "000001"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
+<http://example.org/res4> <http://example.org/prop4> "2"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
+<http://example.org/res5> <http://example.org/prop5> "4"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-11.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,15 @@
+{
+<http://example.org/res1> <http://example.org/prop1> 000000 .
+<http://example.org/res2> <http://example.org/prop2> 0 .
+<http://example.org/res3> <http://example.org/prop3> 000001 .
+<http://example.org/res4> <http://example.org/prop4> 2 .
+<http://example.org/res5> <http://example.org/prop5> 4 .
+}
+
+<g> {
+<http://example.org/res1> <http://example.org/prop1> 000000 .
+<http://example.org/res2> <http://example.org/prop2> 0 .
+<http://example.org/res3> <http://example.org/prop3> 000001 .
+<http://example.org/res4> <http://example.org/prop4> 2 .
+<http://example.org/res5> <http://example.org/prop5> 4 .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-12.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,8 @@
+<http://example.org/ex1#foo-bar> <http://example.org/ex1#foo_bar> "a" .
+<http://example.org/ex2#foo-bar> <http://example.org/ex2#foo_bar> "b" .
+<http://example.org/ex3#foo-bar> <http://example.org/ex3#foo_bar> "c" .
+<http://example.org/ex4#foo-bar> <http://example.org/ex4#foo_bar> "d" .
+<http://example.org/ex1#foo-bar> <http://example.org/ex1#foo_bar> "a" <g> .
+<http://example.org/ex2#foo-bar> <http://example.org/ex2#foo_bar> "b" <g> .
+<http://example.org/ex3#foo-bar> <http://example.org/ex3#foo_bar> "c" <g> .
+<http://example.org/ex4#foo-bar> <http://example.org/ex4#foo_bar> "d" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-12.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,19 @@
+# Tests for - and _ in names, qnames
+@prefix ex1: <http://example.org/ex1#> .
+@prefix ex-2: <http://example.org/ex2#> .
+@prefix ex3_: <http://example.org/ex3#> .
+@prefix ex4-: <http://example.org/ex4#> .
+
+{
+ex1:foo-bar ex1:foo_bar "a" .
+ex-2:foo-bar ex-2:foo_bar "b" .
+ex3_:foo-bar ex3_:foo_bar "c" .
+ex4-:foo-bar ex4-:foo_bar "d" .
+}
+
+<g> {
+ex1:foo-bar ex1:foo_bar "a" .
+ex-2:foo-bar ex-2:foo_bar "b" .
+ex3_:foo-bar ex3_:foo_bar "c" .
+ex4-:foo-bar ex4-:foo_bar "d" .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-13.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,8 @@
+<http://example.org/ex#foo> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> "1" .
+<http://example.org/ex#foo> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2> "2" .
+<http://example.org/ex#foo> <http://example.org/myprop#_abc> "def" .
+<http://example.org/ex#foo> <http://example.org/myprop#_345> "678" .
+<http://example.org/ex#foo> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> "1" <g> .
+<http://example.org/ex#foo> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2> "2" <g> .
+<http://example.org/ex#foo> <http://example.org/myprop#_abc> "def" <g> .
+<http://example.org/ex#foo> <http://example.org/myprop#_345> "678" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-13.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,18 @@
+# Tests for rdf:_<numbers> and other qnames starting with _
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix ex:  <http://example.org/ex#> .
+@prefix :    <http://example.org/myprop#> .
+
+{
+ex:foo rdf:_1 "1" .
+ex:foo rdf:_2 "2" .
+ex:foo :_abc "def" .
+ex:foo :_345 "678" .
+}
+
+<g> {
+ex:foo rdf:_1 "1" .
+ex:foo rdf:_2 "2" .
+ex:foo :_abc "def" .
+ex:foo :_345 "678" .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-14.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+_:genid1 <http://example.org/ron> _:genid2 .
+<http://example.org/ron> <http://example.org/ron> <http://example.org/ron> .
+_:genid3 <http://example.org/ron> _:genid4 <g> .
+<http://example.org/ron> <http://example.org/ron> <http://example.org/ron> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-14.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,16 @@
+# Test for : allowed
+@prefix :    <http://example.org/ron> .
+
+{
+[] : [] .
+
+: : : .
+
+}
+
+<g> {
+[] : [] .
+
+: : : .
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-15.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://example.org/ex#a> <http://example.org/ex#b> "a long\n\tliteral\nwith\nnewlines" .
+<http://example.org/ex#a> <http://example.org/ex#b> "a long\n\tliteral\nwith\nnewlines" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-15.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,16 @@
+# Test long literal
+@prefix :  <http://example.org/ex#> .
+
+{
+:a :b """a long
+	literal
+with
+newlines""" .
+}
+
+<g> {
+:a :b """a long
+	literal
+with
+newlines""" .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-16.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+<http://example.org/foo#a> <http://example.org/foo#b> "\nthis \ris a \U00012451long\t\nliteral\uABCD\n" .
+<http://example.org/foo#d> <http://example.org/foo#e> "\tThis \uABCDis\r \U00012451another\n\none\n" .
+<http://example.org/foo#a> <http://example.org/foo#b> "\nthis \ris a \U00012451long\t\nliteral\uABCD\n" <g> .
+<http://example.org/foo#d> <http://example.org/foo#e> "\tThis \uABCDis\r \U00012451another\n\none\n" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-16.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,43 @@
+@prefix : <http://example.org/foo#> .
+
+{
+## \U00015678 is a not a legal codepoint
+## :a :b """\nthis \ris a \U00015678long\t
+## literal\uABCD
+## """ .
+## 
+## :d :e """\tThis \uABCDis\r \U00015678another\n
+## one
+## """ .
+
+# \U00015678 is a not a legal codepoint
+# \U00012451 in Cuneiform numeric ban 3
+:a :b """\nthis \ris a \U00012451long\t
+literal\uABCD
+""" .
+
+:d :e """\tThis \uABCDis\r \U00012451another\n
+one
+""" .
+}
+
+<g> {
+## \U00015678 is a not a legal codepoint
+## :a :b """\nthis \ris a \U00015678long\t
+## literal\uABCD
+## """ .
+## 
+## :d :e """\tThis \uABCDis\r \U00015678another\n
+## one
+## """ .
+
+# \U00015678 is a not a legal codepoint
+# \U00012451 in Cuneiform numeric ban 3
+:a :b """\nthis \ris a \U00012451long\t
+literal\uABCD
+""" .
+
+:d :e """\tThis \uABCDis\r \U00012451another\n
+one
+""" .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-17.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://example.org/#a> <http://example.org/#b> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/#a> <http://example.org/#b> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-17.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,5 @@
+@prefix : <http://example.org/#> .
+
+{:a :b  1.0 .}
+<g> {:a :b  1.0 .}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-18.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+<http://example.org/#a> <http://example.org/#b> "" .
+<http://example.org/#c> <http://example.org/#d> "" .
+<http://example.org/#a> <http://example.org/#b> "" <g> .
+<http://example.org/#c> <http://example.org/#d> "" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-18.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,15 @@
+@prefix : <http://example.org/#> .
+
+{
+:a :b "" .
+
+:c :d """""" .
+
+}
+
+<g> {
+:a :b "" .
+
+:c :d """""" .
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-19.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+<http://example.org#a> <http://example.org#b> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org#c> <http://example.org#d> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org#e> <http://example.org#f> "1.0e0"^^<http://www.w3.org/2001/XMLSchema#double> .
+<http://example.org#a> <http://example.org#b> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> <g> .
+<http://example.org#c> <http://example.org#d> "1"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
+<http://example.org#e> <http://example.org#f> "1.0e0"^^<http://www.w3.org/2001/XMLSchema#double> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-19.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,13 @@
+@prefix : <http://example.org#> .
+
+{
+:a :b 1.0 .
+:c :d 1 .
+:e :f 1.0e0 .
+}
+
+<g> {
+:a :b 1.0 .
+:c :d 1 .
+:e :f 1.0e0 .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-20.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+<http://example.org#a> <http://example.org#b> "-1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org#c> <http://example.org#d> "-1"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://example.org#e> <http://example.org#f> "-1.0e0"^^<http://www.w3.org/2001/XMLSchema#double> .
+<http://example.org#a> <http://example.org#b> "-1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> <g> .
+<http://example.org#c> <http://example.org#d> "-1"^^<http://www.w3.org/2001/XMLSchema#integer> <g> .
+<http://example.org#e> <http://example.org#f> "-1.0e0"^^<http://www.w3.org/2001/XMLSchema#double> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-20.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,13 @@
+@prefix : <http://example.org#> .
+
+{
+:a :b -1.0 .
+:c :d -1 .
+:e :f -1.0e0 .
+}
+
+<g> {
+:a :b -1.0 .
+:c :d -1 .
+:e :f -1.0e0 .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-21.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://example.org/ex#a> <http://example.org/ex#b> "John said: \"Hello World!\"" .
+<http://example.org/ex#a> <http://example.org/ex#b> "John said: \"Hello World!\"" <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-21.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+# Test long literal
+@prefix :  <http://example.org/ex#> .
+{:a :b """John said: "Hello World!\"""" .}
+<g> {:a :b """John said: "Hello World!\"""" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-22.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+<http://example.org#a> <http://example.org#b> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .
+<http://example.org#c> <http://example.org#d> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
+<http://example.org#a> <http://example.org#b> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> <g> .
+<http://example.org#c> <http://example.org#d> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-22.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,11 @@
+@prefix : <http://example.org#> .
+
+{
+:a :b true .
+:c :d false .
+}
+
+<g> {
+:a :b true .
+:c :d false .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-23.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,14 @@
+<http://example.org/#a> <http://example.org/#b> <http://example.org/#c> .
+<http://example.org/#d> <http://example.org/#e> <http://example.org/#f> .
+<http://example.org/#g> <http://example.org/#h> <http://example.org/#i> .
+<http://example.org/#g> <http://example.org/#h> <http://example.org/#j> .
+<http://example.org/#k> <http://example.org/#l> <http://example.org/#m> .
+<http://example.org/#k> <http://example.org/#n> <http://example.org/#o> .
+<http://example.org/#k> <http://example.org/#p> <http://example.org/#q> .
+<http://example.org/#a> <http://example.org/#b> <http://example.org/#c> <g> .
+<http://example.org/#d> <http://example.org/#e> <http://example.org/#f> <g> .
+<http://example.org/#g> <http://example.org/#h> <http://example.org/#i> <g> .
+<http://example.org/#g> <http://example.org/#h> <http://example.org/#j> <g> .
+<http://example.org/#k> <http://example.org/#l> <http://example.org/#m> <g> .
+<http://example.org/#k> <http://example.org/#n> <http://example.org/#o> <g> .
+<http://example.org/#k> <http://example.org/#p> <http://example.org/#q> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-23.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,32 @@
+# comment test
+@prefix : <http://example.org/#> .
+
+{
+:a :b :c . # end of line comment
+:d # ignore me
+  :e # and me
+      :f # and me
+        .
+:g :h #ignore me
+     :i,  # and me
+     :j . # and me
+
+:k :l :m ; #ignore me
+   :n :o ; # and me
+   :p :q . # and me
+}
+
+<g> {
+:a :b :c . # end of line comment
+:d # ignore me
+  :e # and me
+      :f # and me
+        .
+:g :h #ignore me
+     :i,  # and me
+     :j . # and me
+
+:k :l :m ; #ignore me
+   :n :o ; # and me
+   :p :q . # and me
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-24.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://example.org/#a> <http://example.org/#b> <http://example.org/#c> .
+<http://example.org/#a> <http://example.org/#b> <http://example.org/#c> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-24.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,5 @@
+# comment line with no final newline test
+@prefix : <http://example.org/#> .
+{:a :b :c .}
+<g> {:a :b :c .}
+#foo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-25.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+<http://example.org/bar#blah> <http://example.org/bar#blah> <http://example.org/bar#blah> .
+<http://example.org/bar#blah> <http://example.org/bar#blah> <http://example.org/bar#blah> <g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-25.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,5 @@
+@prefix foo: <http://example.org/foo#>  .
+@prefix foo: <http://example.org/bar#>  .
+
+{foo:blah foo:blah foo:blah .}
+<g> {foo:blah foo:blah foo:blah .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-26.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,22 @@
+<http://example.org/foo> <http://example.org/bar> "2.345"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "1"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "1."^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "1.000000000"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.3"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.234000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.2340000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.23400000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.234000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.2340000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.23400000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.234000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.2340000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.23400000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.234000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.2340000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.23400000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.234000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.2340000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.23400000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "1.2345678901234567890123457890"^^<http://www.w3.org/2001/XMLSchema#decimal> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-26.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,24 @@
+{
+<http://example.org/foo> <http://example.org/bar> "2.345"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "1"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "1."^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "1.000000000"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.3"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.234000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.2340000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.23400000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.234000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.2340000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.23400000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.234000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.2340000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.23400000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.234000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.2340000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.23400000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.234000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.2340000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "2.23400000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+<http://example.org/foo> <http://example.org/bar> "1.2345678901234567890123457890"^^<http://www.w3.org/2001/XMLSchema#decimal> .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-27.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,5 @@
+<http://example/base/a1> <http://example/base/b1> <http://example/base/c1> .
+<http://example.org/ns/a2> <http://example.org/ns/b2> <http://example.org/ns/c2> .
+<http://example.org/ns/foo/a3> <http://example.org/ns/foo/b3> <http://example.org/ns/foo/c3> .
+<http://example.org/ns/foo/bar#a4> <http://example.org/ns/foo/bar#b4> <http://example.org/ns/foo/bar#c4> .
+<http://example.org/ns2#a5> <http://example.org/ns2#b5> <http://example.org/ns2#c5> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-subm-27.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,12 @@
+# In-scope base URI is <http://example/base/trig-subm-27.ttl> at this point
+<a1> <b1> <c1> .
+@base <http://example.org/ns/> .
+# In-scope base URI is http://example.org/ns/ at this point
+{<a2> <http://example.org/ns/b2> <c2> .}
+@base <foo/> .
+# In-scope base URI is http://example.org/ns/foo/ at this point
+{<a3> <b3> <c3> .}
+@prefix : <bar#> .
+{:a4 :b4 :c4 .}
+@prefix : <http://example.org/ns2#> .
+{:a5 :b5 :c5 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-LITERAL2_with_langtag_and_datatype.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example.org/resource> <http://example.org#pred> "value"@en^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-base-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# @base without URI.
+@base .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-base-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# @base in wrong case.
+@BASE <http://example/> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-base-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# FULL STOP used after SPARQL BASE
+BASE <http://example/> .
+{<s> <p> <o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-blank-label-dot-end.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{_:b1. :p :o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-esc-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Bad string escape
+{<http://example/s> <http://example/p> "a\zb" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-esc-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Bad string escape
+{<http://example/s> <http://example/p> "\uWXYZ" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-esc-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Bad string escape
+{<http://example/s> <http://example/p> "\U0000WXYZ" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-esc-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Bad string escape
+{<http://example/s> <http://example/p> "\U0000WXYZ" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-kw-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s A :C .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-kw-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{a :p :o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-kw-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p a .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-kw-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{true :p :o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-kw-05.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s true :o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-lang-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Bad lang tag
+{<http://example/s> <http://example/p> "string"@1 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-ln-dash-start.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p :-o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-ln-escape-start.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p :%2o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-ln-escape.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p :o%2 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-missing-ns-dot-end.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{valid:s valid:p invalid.:o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-missing-ns-dot-start.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{.undefined:s .undefined:p .undefined:o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-n3-extras-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,5 @@
+# {} fomulae not in Turtle
+@prefix : <http://example/> .
+
+{ :a :q :c . } :p :z .
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-n3-extras-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+# = is not Turtle
+@prefix : <http://example/> .
+
+{:a = :b .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-n3-extras-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,9 @@
+# N3 paths
+@prefix : <http://example/> .
+@prefix ns: <http://example/p#> .
+
+{
+:x.
+  ns:p.
+    ns:q :p :z .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-n3-extras-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,5 @@
+# N3 paths
+@prefix : <http://example/> .
+@prefix ns: <http://example/p#> .
+
+{:x^ns:p :p :z .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-n3-extras-05.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+# N3 is...of
+@prefix : <http://example/> .
+
+{:z is :p of :x .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-n3-extras-06.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+# = is not Turtle
+@prefix : <http://example/> .
+
+{:a.:b.:c .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-n3-extras-07.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# @keywords is not Turtle
+@keywords a .
+{x a Item .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-n3-extras-08.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# @keywords is not Turtle
+@keywords a .
+{x a Item .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-n3-extras-09.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# => is not Turtle
+@prefix : <http://example/> .
+{:s => :o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-n3-extras-10.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# <= is not Turtle
+@prefix : <http://example/> .
+{:s <= :o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-n3-extras-11.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# @forSome is not Turtle
+@prefix : <http://example/> .
+@forSome :x .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-n3-extras-12.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# @forAll is not Turtle
+@prefix : <http://example/> .
+@forAll :x .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-n3-extras-13.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# @keywords is not Turtle
+@keywords .
+{x @a Item .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-ns-dot-end.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix eg. : <http://example/> .
+{eg.:s eg.:p eg.:o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-ns-dot-start.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix .eg : <http://example/> .
+{.eg:s .eg:p .eg:o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-num-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> 123.abc .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-num-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> 123e .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-num-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> 123abc .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-num-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> 0x123 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-num-05.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> +-1 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-number-dot-in-anon.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,8 @@
+@prefix : <http://example/> .
+
+{
+:s
+	:p [
+		:p1 27.
+	] .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-pname-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# ~ must be escaped.
+@prefix : <http://example/> .
+{:a~b :p :o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-pname-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# Bad %-sequence
+@prefix : <http://example/> .
+{:a%2 :p :o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-pname-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# No \u (x39 is "9")
+@prefix : <http://example/> .
+{:a\u0039 :p :o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-prefix-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# No prefix
+{:s <http://example/p> "x" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-prefix-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# No prefix
+@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+{<http://example/s> rdf:type :C .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-prefix-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# @prefix without URI.
+@prefix ex: .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-prefix-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# @prefix without prefix name .
+@prefix <http://example/> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-prefix-05.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# @prefix without :
+@prefix x <http://example/> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-string-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p "abc' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-string-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p 'abc" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-string-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p '''abc' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-string-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p """abc''' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-string-05.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+# Long literal with missing end
+@prefix : <http://example/> .
+{
+:s :p """abc
+def
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-string-06.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# Long literal with 4"
+@prefix : <http://example/> .
+{:s :p """abc""""@en .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-string-07.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# Long literal with 4'
+@prefix : <http://example/> .
+{:s :p '''abc''''@en .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Turtle is not N3
+<http://example/s> = <http://example/o> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Turtle is not NQuads
+<http://example/s> <http://example/p> <http://example/o> <http://example/g> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# TriG does not allow literals-as-subjects
+{"hello" <http://example/p> <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-05.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# TriG does not allow literals-as-predicates
+{<http://example/s> "hello" <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-06.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Trig does not allow bnodes-as-predicates
+{<http://example/s> [] <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-07.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# TriG does not allow bnodes-as-predicates
+{<http://example/s> _:p <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-08.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# No DOT
+{<http://example/s> <http://example/p> <http://example/o>}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-09.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Too many DOT
+{<http://example/s> <http://example/p> <http://example/o> . .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-10.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,5 @@
+# Too many DOT
+{
+<http://example/s> <http://example/p> <http://example/o> . .
+<http://example/s1> <http://example/p1> <http://example/o1> .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-11.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Trailing ;
+{<http://example/s> <http://example/p> <http://example/o> ;}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-12.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-13.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-14.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Literal as subject
+{"abc" <http://example/p> <http://example/p>  .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-15.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Literal as predicate
+{<http://example/s> "abc" <http://example/p>  .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-16.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# BNode as predicate
+{<http://example/s> [] <http://example/p>  .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-struct-17.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# BNode as predicate
+{<http://example/s> _:a <http://example/p>  .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-uri-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Bad IRI : space.
+{<http://example/ space> <http://example/p> <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-uri-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Bad IRI : bad escape
+{<http://example/\u00ZZ11> <http://example/p> <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-uri-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Bad IRI : bad escape
+{<http://example/\U00ZZ1111> <http://example/p> <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-uri-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Bad IRI : character escapes not allowed.
+{<http://example/\n> <http://example/p> <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bad-uri-05.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# Bad IRI : character escapes not allowed.
+{<http://example/\/> <http://example/p> <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-base-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+@base <http://example/> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-base-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+BASE <http://example/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-base-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@base <http://example/> .
+{<s> <p> <o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-base-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+base <http://example/>
+{<s> <p> <o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-blank-label.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+@prefix : <http://example/> .
+{
+_:0b :p :o . # Starts with digit
+_:_b :p :o . # Starts with underscore
+_:b.0 :p :o . # Contains dot, ends with digit
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bnode-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{[] :p :o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bnode-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p [] .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bnode-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p [ :q :o ] .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bnode-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p [ :q1 :o1 ; :q2 :o2 ] .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bnode-05.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{[ :q1 :o1 ; :q2 :o2 ] :p :o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bnode-06.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{_:a  :p :o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bnode-07.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+@prefix : <http://example/> .
+{:s  :p _:a .
+_:a  :p :o .
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bnode-08.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{[ :p  :o ] .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bnode-09.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix : <http://example/> .
+{[ :p  :o1,:2 ] .
+:s :p :o  .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-bnode-10.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+@prefix : <http://example/> .
+{
+:s1 :p :o .
+[ :p1  :o1 ; :p2 :o2 ] .
+:s2 :p :o .
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-datatypes-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
+{<s> <p> "123"^^xsd:byte .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-datatypes-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
+{<s> <p> "123"^^xsd:string .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-file-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+#Empty file.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-file-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+#One comment, one empty line.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-kw-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<s> <p> true .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-kw-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<s> <p> false .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-kw-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s a :C .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-lists-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p () .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-lists-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p (1 "2" :o) .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-lists-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{(1) :p (1) .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-lists-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{(()) :p (()) .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-lists-05.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{(1 2 (1 2)) :p (( "a") "b" :o) .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-ln-colons.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,8 @@
+@prefix : <http://example/> .
+{
+:s:1 :p:1 :o:1 .
+:s::2 :p::2 :o::2 .
+:3:s :3:p :3 .
+::s ::p ::o .
+::s: ::p: ::o: .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-ln-dots.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+@prefix : <http://example/> .
+{
+:s.1 :p.1 :o.1 .
+:s..2 :p..2 :o..2.
+:3.s :3.p :3.
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-ns-dots.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix e.g: <http://example/> .
+{e.g:s e.g:p e.g:o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-number-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<s> <p> 123 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-number-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<s> <p> -123 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-number-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<s> <p> +123 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-number-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# This is a decimal.
+{<s> <p> 123.0 . }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-number-05.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# This is a decimal.
+{<s> <p> .1 . }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-number-06.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# This is a decimal.
+{<s> <p> -123.0 . }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-number-07.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# This is a decimal.
+{<s> <p> +123.0 . }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-number-08.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# This is an integer
+{<s> <p> 123.}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-number-09.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<s> <p> 123.0e1 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-number-10.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<s> <p> -123e-1 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-number-11.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<s> <p> 123.E+1 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-pname-esc-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p :\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\_\%AA .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-pname-esc-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p :0123\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\_\%AA123 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-pname-esc-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:xyz\~ :abc\.:  : .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-prefix-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+@prefix : <http://example/> .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-prefix-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+PreFIX : <http://example/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-prefix-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+PREFIX : <http://example/>
+{:s :p :123 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-prefix-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p :%20 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-prefix-05.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{: : : .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-prefix-06.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+# colon is a legal pname character
+@prefix : <http://example/> .
+@prefix x: <http://example/> .
+{:a:b:c  x:d:e:f :::: .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-prefix-07.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# dash is a legal pname character
+@prefix x: <http://example/> .
+{x:a-b-c  x:p x:o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-prefix-08.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# underscore is a legal pname character
+@prefix x: <http://example/> .
+{x:_  x:p_1 x:o .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-prefix-09.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+# percents
+@prefix : <http://example/> .
+@prefix x: <http://example/> .
+{:a%3E  x:%25 :a%3Eb .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-str-esc-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> "a\n" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-str-esc-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> "a\u0020b" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-str-esc-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> "a\U00000020b" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-string-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> "string" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-string-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> "string"@en .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-string-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> "string"@en-uk .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-string-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> 'string' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-string-05.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> 'string'@en .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-string-06.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> 'string'@en-uk .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-string-07.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> """abc""def''ghi""" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-string-08.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://example/s> <http://example/p> """abc
+def""" .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-string-09.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://example/s> <http://example/p> '''abc
+def''' .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-string-10.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://example/s> <http://example/p> """abc
+def"""@en .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-string-11.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+{<http://example/s> <http://example/p> '''abc
+def'''@en .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-struct-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+{:s :p :o1 , :o2 .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-struct-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+@prefix : <http://example/> .
+{:s :p1 :o1 ;
+   :p2 :o2 .
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-struct-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,5 @@
+@prefix : <http://example/> .
+{:s :p1 :o1 ;
+   :p2 :o2 ;
+   .
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-struct-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,5 @@
+@prefix : <http://example/> .
+{:s :p1 :o1 ;;
+   :p2 :o2 
+   .
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-struct-05.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,5 @@
+@prefix : <http://example/> .
+{:s :p1 :o1 ;
+   :p2 :o2 ;;
+   .
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-uri-01.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://example/s> <http://example/p> <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-uri-02.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# x53 is capital S
+{<http://example/\u0053> <http://example/p> <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-uri-03.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+# x53 is capital S
+{<http://example/\U00000053> <http://example/p> <http://example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/trig-syntax-uri-04.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,3 @@
+# IRI with all chars in it.
+{<http://example/s> <http://example/p>
+<scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/two_LITERAL_LONG2s.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,4 @@
+{
+<http://example.org/ex#a> <http://example.org/ex#b> "first long literal" .
+<http://example.org/ex#c> <http://example.org/ex#d> "second long literal" .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/two_LITERAL_LONG2s.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,6 @@
+# Test long literal twice to ensure it does not over-quote
+@prefix :  <http://example.org/ex#> .
+{
+:a :b """first long literal""" .
+:c :d """second long literal""" .
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/underscore_in_localName.nq	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,1 @@
+{<http://a.example/s_> <http://a.example/p> <http://a.example/o> .}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trig/tests/underscore_in_localName.trig	Wed Jun 12 16:49:28 2013 -0700
@@ -0,0 +1,2 @@
+@prefix p: <http://a.example/>.
+{p:s_ <http://a.example/p> <http://a.example/o> .}