# 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:label "TriG tests" ;
    mf:assumedTestBase <https://w3c.github.io/rdf-tests/rdf/rdf11/rdf-trig/> ;
    mf:entries
    (
    # TriG specific tests
    <#anonymous_blank_node_graph>
    <#labeled_blank_node_graph>
    <#alternating_iri_graphs>
    <#alternating_bnode_graphs>
    <#trig-syntax-bad-base-04>
    <#trig-syntax-bad-base-05>
    <#trig-syntax-bad-prefix-06>
    <#trig-syntax-bad-prefix-07>
    <#trig-syntax-struct-06>
    <#trig-syntax-struct-07>
    <#trig-syntax-minimal-whitespace-01>

    # From Turtle tests
    # atomic tests
    <#IRI_subject>
    <#IRI_with_four_digit_numeric_escape>
    <#IRI_with_eight_digit_numeric_escape>
    <#IRI_with_all_punctuation>
    <#bareword_a_predicate>
    <#old_style_prefix>
    <#SPARQL_style_prefix>
    <#prefixed_IRI_predicate>
    <#prefixed_IRI_object>
    <#prefix_only_IRI>
    <#prefix_with_PN_CHARS_BASE_character_boundaries>
    <#prefix_with_non_leading_extras>
    <#default_namespace_IRI>
    <#prefix_reassigned_and_used>
    <#reserved_escaped_localName>
    <#percent_escaped_localName>
    <#HYPHEN_MINUS_in_localName>
    <#underscore_in_localName>
    <#localname_with_COLON>
    <#localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries>
    <#localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries>
    <#localName_with_nfc_PN_CHARS_BASE_character_boundaries>
    <#localName_with_leading_underscore>
    <#localName_with_leading_digit>
    <#localName_with_non_leading_extras>
    <#old_style_base>
    <#SPARQL_style_base>
    <#labeled_blank_node_subject>
    <#labeled_blank_node_object>
    <#labeled_blank_node_with_PN_CHARS_BASE_character_boundaries>
    <#labeled_blank_node_with_leading_underscore>
    <#labeled_blank_node_with_leading_digit>
    <#labeled_blank_node_with_non_leading_extras>
    <#anonymous_blank_node_subject>
    <#anonymous_blank_node_object>
    <#sole_blankNodePropertyList>
    <#blankNodePropertyList_as_subject>
    <#blankNodePropertyList_as_object>
    <#blankNodePropertyList_as_object_containing_objectList>
    <#blankNodePropertyList_as_object_containing_objectList_of_two_objects>
    <#blankNodePropertyList_with_multiple_triples>
    <#nested_blankNodePropertyLists>
    <#blankNodePropertyList_containing_collection>
    <#collection_subject>
    <#collection_object>
    <#empty_collection>
    <#nested_collection>
    <#first>
    <#last>
    <#LITERAL1>
    <#LITERAL1_ascii_boundaries>
    <#LITERAL1_with_UTF8_boundaries>
    <#LITERAL1_all_controls>
    <#LITERAL1_all_punctuation>
    <#LITERAL_LONG1>
    <#LITERAL_LONG1_ascii_boundaries>
    <#LITERAL_LONG1_with_UTF8_boundaries>
    <#LITERAL_LONG1_with_1_squote>
    <#LITERAL_LONG1_with_2_squotes>
    <#LITERAL2>
    <#LITERAL2_ascii_boundaries>
    <#LITERAL2_with_UTF8_boundaries>
    <#LITERAL_LONG2>
    <#LITERAL_LONG2_ascii_boundaries>
    <#LITERAL_LONG2_with_UTF8_boundaries>
    <#LITERAL_LONG2_with_1_squote>
    <#LITERAL_LONG2_with_2_squotes>
    <#literal_with_CHARACTER_TABULATION>
    <#literal_with_BACKSPACE>
    <#literal_with_LINE_FEED>
    <#literal_with_CARRIAGE_RETURN>
    <#literal_with_FORM_FEED>
    <#literal_with_REVERSE_SOLIDUS>
    <#literal_with_escaped_CHARACTER_TABULATION>
    <#literal_with_escaped_BACKSPACE>
    <#literal_with_escaped_LINE_FEED>
    <#literal_with_escaped_CARRIAGE_RETURN>
    <#literal_with_escaped_FORM_FEED>
    <#literal_with_numeric_escape4>
    <#literal_with_numeric_escape8>
    <#IRIREF_datatype>
    <#prefixed_name_datatype>
    <#bareword_integer>
    <#bareword_decimal>
    <#bareword_double>
    <#double_lower_case_e>
    <#negative_numeric>
    <#positive_numeric>
    <#numeric_with_leading_0>
    <#literal_true>
    <#literal_false>
    <#langtagged_non_LONG>
    <#langtagged_LONG>
    <#lantag_with_subtag>
    <#objectList_with_two_objects>
    <#predicateObjectList_with_two_objectLists>
    <#predicateObjectList_with_blankNodePropertyList_as_object>
    <#repeated_semis_at_end>
    <#repeated_semis_not_at_end>

    # tests requested by Jeremy Carroll
    # http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c35
    <#comment_following_localName>
    <#number_sign_following_localName>
    <#comment_following_PNAME_NS>
    <#number_sign_following_PNAME_NS>

    # tests from Dave Beckett
    # http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c28
    <#LITERAL_LONG2_with_REVERSE_SOLIDUS>
    <#trig-syntax-bad-LITERAL2_with_langtag_and_datatype>
    <#two_LITERAL_LONG2s>
    <#langtagged_LONG_with_subtag>

    # 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-number-12>
    <#trig-syntax-number-13>
    <#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-bnode-01>
    <#trig-syntax-bad-bnode-02>
    <#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-numeric-escape-01>
    <#trig-syntax-bad-numeric-escape-02>
    <#trig-syntax-bad-numeric-escape-03>
    <#trig-syntax-bad-numeric-escape-04>
    <#trig-syntax-bad-numeric-escape-05>
    <#trig-syntax-bad-numeric-escape-06>
    <#trig-syntax-bad-numeric-escape-07>
    <#trig-syntax-bad-numeric-escape-08>
    <#trig-syntax-bad-numeric-escape-09>
    <#trig-syntax-bad-numeric-escape-10>
    <#trig-syntax-bad-struct-09>
    <#trig-syntax-bad-struct-10>
    <#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 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-bad-list-01>
    <#trig-syntax-bad-list-02>
    <#trig-syntax-bad-list-03>
    <#trig-syntax-bad-list-04>

    <#trig-syntax-blank-label>
    <#trig-syntax-ln-colons>
    <#trig-syntax-ln-dots>
    <#trig-syntax-ns-dots>

    # tests for bnode graph names, optional GRAPH keyword and
    # triples outside {}
      <#trig-kw-graph-01>
      <#trig-kw-graph-02>
      <#trig-kw-graph-03>
      <#trig-kw-graph-04>
      <#trig-kw-graph-05>

      <#trig-kw-graph-06>
      <#trig-kw-graph-07>
      <#trig-kw-graph-08>
      <#trig-kw-graph-09>

      <#trig-kw-graph-10>

      <#trig-graph-bad-01>
      <#trig-graph-bad-02>
      <#trig-graph-bad-03>
      <#trig-graph-bad-04>
      <#trig-graph-bad-05>

      <#trig-graph-bad-06>
      <#trig-graph-bad-07>
      <#trig-graph-bad-08>
      <#trig-graph-bad-09>

      <#trig-graph-bad-10>
      <#trig-graph-bad-11>

      <#trig-bnodeplist-graph-01>

      <#trig-collection-graph-01>
      <#trig-collection-graph-02>

      <#trig-turtle-01>
      <#trig-turtle-02>
      <#trig-turtle-03>
      <#trig-turtle-04>
      <#trig-turtle-05>

      <#trig-turtle-06>

      <#trig-turtle-bad-01>
      <#trig-turtle-bad-02>

      # Tests from N-Triples/N-Quads

    # IRI resolution tests
    <#IRI-resolution-01>
    <#IRI-resolution-02>
    <#IRI-resolution-07>
    <#IRI-resolution-08>
    ) .

# TriG tests
<#anonymous_blank_node_graph> rdf:type rdft:TestTrigEval ;
   mf:name      "anonymous_blank_node_graph" ;
   rdfs:comment "anonymous blank node graph" ;
   rdft:approval rdft:Approved ;
   mf:action    <anonymous_blank_node_graph.trig> ;
   mf:result    <labeled_blank_node_graph.nq> ;
   .

<#labeled_blank_node_graph> rdf:type rdft:TestTrigEval ;
   mf:name      "labeled_blank_node_graph" ;
   rdfs:comment "labeled blank node graph" ;
   rdft:approval rdft:Approved ;
   mf:action    <labeled_blank_node_graph.trig> ;
   mf:result    <labeled_blank_node_graph.nq> ;
   .
<#alternating_iri_graphs> rdf:type rdft:TestTrigEval ;
   mf:name      "alternating_iri_graphs" ;
   rdfs:comment "alternating graphs with IRI names" ;
   rdft:approval rdft:Approved ;
   mf:action    <alternating_iri_graphs.trig> ;
   mf:result    <alternating_iri_graphs.nq> ;
   .

<#alternating_bnode_graphs> rdf:type rdft:TestTrigEval ;
   mf:name      "alternating_bnode_graphs" ;
   rdfs:comment "alternating graphs with BNode names" ;
   rdft:approval rdft:Approved ;
   mf:action    <alternating_bnode_graphs.trig> ;
   mf:result    <alternating_bnode_graphs.nq> ;
   .

<#trig-syntax-bad-base-04> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-base-04" ;
   rdfs:comment "@base inside graph (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-base-04.trig> ;
   .

<#trig-syntax-bad-base-05> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-base-05" ;
   rdfs:comment "BASE inside graph (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-base-05.trig> ;
   .

<#trig-syntax-bad-prefix-06> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-prefix-06" ;
   rdfs:comment "@prefix inside graph (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-prefix-06.trig> ;
   .

<#trig-syntax-bad-prefix-07> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-prefix-07" ;
   rdfs:comment "PREFIX inside graph (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-prefix-07.trig> ;
   .

<#trig-syntax-struct-06> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name    "trig-syntax-struct-06" ;
   rdfs:comment "missing '.'" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-struct-06.trig> ;
   .

<#trig-syntax-struct-07> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name    "trig-syntax-struct-07" ;
   rdfs:comment "trailing ';' no '.'" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-struct-07.trig> ;
   .

<#trig-syntax-minimal-whitespace-01> a rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-syntax-minimal-whitespace-01" ;
   rdfs:comment "tests absense of whitespace in various positions" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-minimal-whitespace-01.trig> ;
   .
# Original Turtle tests
# atomic tests
<#IRI_subject> rdf:type rdft:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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> ;
   .

<#default_namespace_IRI> rdf:type rdft:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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    <anonymous_blank_node_subject.nq> ;
   .

<#anonymous_blank_node_object> rdf:type rdft:TestTrigEval ;
   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    <anonymous_blank_node_object.nq> ;
   .

<#sole_blankNodePropertyList> rdf:type rdft:TestTrigEval ;
   mf:name      "sole_blankNodePropertyList" ;
   rdfs:comment "sole blankNodePropertyList [ <p> <o> ] ." ;
   rdft:approval rdft:Approved ;
   mf:action    <sole_blankNodePropertyList.trig> ;
   mf:result    <sole_blankNodePropertyList.nq> ;
   .

<#blankNodePropertyList_as_subject> rdf:type rdft:TestTrigEval ;
   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:TestTrigEval ;
   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_as_object_containing_objectList> rdf:type rdft:TestTrigEval ;
   mf:name      "blankNodePropertyList_as_object_containing_objectList" ;
   rdfs:comment "blankNodePropertyList as object containing objectList <s> <p> [ <p2> <o>,<o2> ] ." ;
   rdft:approval rdft:Approved ;
   mf:action    <blankNodePropertyList_as_object_containing_objectList.trig> ;
   mf:result    <blankNodePropertyList_as_object_containing_objectList.nq> ;
   .

<#blankNodePropertyList_as_object_containing_objectList_of_two_objects> rdf:type rdft:TestTrigEval ;
   mf:name      "blankNodePropertyList_as_object_containing_objectList_of_two_objects" ;
   rdfs:comment "blankNodePropertyList as object containing objectList of two objects <s> <p> [ <p2 <o> ] , <o2> ." ;
   rdft:approval rdft:Approved ;
   mf:action    <blankNodePropertyList_as_object_containing_objectList_of_two_objects.trig> ;
   mf:result    <blankNodePropertyList_as_object_containing_objectList_of_two_objects.nq> ;
   .

<#blankNodePropertyList_with_multiple_triples> rdf:type rdft:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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_with_UTF8_boundaries> rdf:type rdft:TestTrigEval ;
   mf:name      "LITERAL1_with_UTF8_boundaries" ;
   rdfs:comment "LITERAL1_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ;
   rdft:approval rdft:Approved ;
   mf:action    <LITERAL1_with_UTF8_boundaries.trig> ;
   mf:result    <LITERAL_with_UTF8_boundaries.nq> ;
   .

<#LITERAL1_all_controls> rdf:type rdft:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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_UTF8_boundaries> rdf:type rdft:TestTrigEval ;
   mf:name      "LITERAL_LONG1_with_UTF8_boundaries" ;
   rdfs:comment "LITERAL_LONG1_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ;
   rdft:approval rdft:Approved ;
   mf:action    <LITERAL_LONG1_with_UTF8_boundaries.trig> ;
   mf:result    <LITERAL_with_UTF8_boundaries.nq> ;
   .

<#LITERAL_LONG1_with_1_squote> rdf:type rdft:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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> ;
   .

<#LITERAL2_with_UTF8_boundaries> rdf:type rdft:TestTrigEval ;
   mf:name      "LITERAL2_with_UTF8_boundaries" ;
   rdfs:comment "LITERAL2_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ;
   rdft:approval rdft:Approved ;
   mf:action    <LITERAL2_with_UTF8_boundaries.trig> ;
   mf:result    <LITERAL_with_UTF8_boundaries.nq> ;
   .

<#LITERAL_LONG2> rdf:type rdft:TestTrigEval ;
   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:TestTrigEval ;
   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_UTF8_boundaries> rdf:type rdft:TestTrigEval ;
   mf:name      "LITERAL_LONG2_with_UTF8_boundaries" ;
   rdfs:comment "LITERAL_LONG2_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ;
   rdft:approval rdft:Approved ;
   mf:action    <LITERAL_LONG2_with_UTF8_boundaries.trig> ;
   mf:result    <LITERAL_with_UTF8_boundaries.nq> ;
   .

<#LITERAL_LONG2_with_1_squote> rdf:type rdft:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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> ;
   .

<#predicateObjectList_with_blankNodePropertyList_as_object> rdf:type rdft:TestTrigEval ;
   mf:name      "predicateObjectList_with_blankNodePropertyList_as_object" ;
   rdfs:comment "predicateObjectList_with_blankNodePropertyList_as_object <s> <p> [ <p2> <o> ] ; <p3> [ <p4> <o2> , <o3> ] " ;
   rdft:approval rdft:Approved ;
   mf:action    <predicateObjectList_with_blankNodePropertyList_as_object.trig> ;
   mf:result    <predicateObjectList_with_blankNodePropertyList_as_object.nq> ;
   .

<#repeated_semis_at_end> rdf:type rdft:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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-number-12> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name    "trig-syntax-number-12" ;
   rdfs:comment "double literal no leading zero" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-number-12.trig> ;
   .

<#trig-syntax-number-13> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name    "trig-syntax-number-13" ;
   rdfs:comment "decimal literal no leading zero" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-number-13.trig> ;
   .

<#trig-syntax-datatypes-01> rdf:type rdft:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigPositiveSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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-bnode-01> rdf:type rdft:TestNTriplesNegativeSyntax ;
   mf:name      "trig-syntax-bad-bnode-01" ;
   rdfs:comment "Colon in bnode label not allowed (negative test)" ;
   mf:action    <trig-syntax-bad-bnode-01.trig> ;
   .

<#trig-syntax-bad-bnode-02> rdf:type rdft:TestNTriplesNegativeSyntax ;
   mf:name      "trig-syntax-bad-bnode-02" ;
   rdfs:comment "Colon in bnode label not allowed (negative test)" ;
   mf:action    <trig-syntax-bad-bnode-02.trig> ;
   .

<#trig-syntax-bad-struct-02> rdf:type rdft:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-n3-extras-01" ;
   rdfs:comment "{} fomulae not in TriG (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-n3-extras-01.trig> ;
   .

<#trig-syntax-bad-n3-extras-02> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-n3-extras-02" ;
   rdfs:comment "= is not TriG (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-n3-extras-02.trig> ;
   .

<#trig-syntax-bad-n3-extras-03> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-n3-extras-03" ;
   rdfs:comment "N3 paths not in TriG (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-n3-extras-03.trig> ;
   .

<#trig-syntax-bad-n3-extras-04> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-n3-extras-04" ;
   rdfs:comment "N3 paths not in TriG (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-n3-extras-04.trig> ;
   .

<#trig-syntax-bad-n3-extras-05> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-n3-extras-05" ;
   rdfs:comment "N3 is...of not in TriG (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-n3-extras-05.trig> ;
   .

<#trig-syntax-bad-n3-extras-06> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-n3-extras-06" ;
   rdfs:comment "N3 paths not in TriG (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-n3-extras-06.trig> ;
   .

<#trig-syntax-bad-n3-extras-07> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-n3-extras-07" ;
   rdfs:comment "@keywords is not TriG (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-n3-extras-07.trig> ;
   .

<#trig-syntax-bad-n3-extras-08> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-n3-extras-08" ;
   rdfs:comment "@keywords is not TriG (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-n3-extras-08.trig> ;
   .

<#trig-syntax-bad-n3-extras-09> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-n3-extras-09" ;
   rdfs:comment "=> is not TriG (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-n3-extras-09.trig> ;
   .

<#trig-syntax-bad-n3-extras-10> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-n3-extras-10" ;
   rdfs:comment "<= is not TriG (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-n3-extras-10.trig> ;
   .

<#trig-syntax-bad-n3-extras-11> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-n3-extras-11" ;
   rdfs:comment "@forSome is not TriG (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-n3-extras-11.trig> ;
   .

<#trig-syntax-bad-n3-extras-12> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-n3-extras-12" ;
   rdfs:comment "@forAll is not TriG (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-n3-extras-12.trig> ;
   .

<#trig-syntax-bad-n3-extras-13> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-n3-extras-13" ;
   rdfs:comment "@keywords is not TriG (negative test)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-n3-extras-13.trig> ;
   .

<#trig-syntax-bad-numeric-escape-01> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-numeric-escape-01" ;
   rdfs:comment "Surrogates not allowed in STRING_LITERAL_QUOTE" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-numeric-escape-01.trig> ;
   .

<#trig-syntax-bad-numeric-escape-02> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-numeric-escape-02" ;
   rdfs:comment "Surrogates not allowed in STRING_LITERAL_QUOTE" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-numeric-escape-02.trig> ;
   .

<#trig-syntax-bad-numeric-escape-03> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-numeric-escape-03" ;
   rdfs:comment "Surrogates not allowed in STRING_LITERAL_SINGLE_QUOTE" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-numeric-escape-03.trig> ;
   .

<#trig-syntax-bad-numeric-escape-04> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-numeric-escape-04" ;
   rdfs:comment "Surrogates not allowed in STRING_LITERAL_SINGLE_QUOTE" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-numeric-escape-04.trig> ;
   .

<#trig-syntax-bad-numeric-escape-05> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-numeric-escape-05" ;
   rdfs:comment "Surrogates not allowed in STRING_LITERAL_LONG_SINGLE_QUOTE" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-numeric-escape-05.trig> ;
   .

<#trig-syntax-bad-numeric-escape-06> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-numeric-escape-06" ;
   rdfs:comment "Surrogates not allowed in STRING_LITERAL_LONG_SINGLE_QUOTE" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-numeric-escape-06.trig> ;
   .

<#trig-syntax-bad-numeric-escape-07> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-numeric-escape-07" ;
   rdfs:comment "Surrogates not allowed in STRING_LITERAL_LONG_QUOTE" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-numeric-escape-07.trig> ;
   .

<#trig-syntax-bad-numeric-escape-08> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-numeric-escape-08" ;
   rdfs:comment "Surrogates not allowed in STRING_LITERAL_LONG_QUOTE" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-numeric-escape-08.trig> ;
   .

<#trig-syntax-bad-numeric-escape-09> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-numeric-escape-09" ;
   rdfs:comment "Surrogates not allowed in IRIREF" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-numeric-escape-09.trig> ;
   .

<#trig-syntax-bad-numeric-escape-10> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name    "trig-syntax-bad-numeric-escape-10" ;
   rdfs:comment "Surrogates not allowed in IRIREF" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-syntax-bad-numeric-escape-10.trig> ;
   .

<#trig-syntax-bad-struct-09> rdf:type rdft:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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-12> rdf:type rdft:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigNegativeEval ;
   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:TestTrigNegativeEval ;
   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:TestTrigNegativeEval ;
   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:TestTrigNegativeEval ;
   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 requested by Jeremy Carroll
# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c35
<#comment_following_localName> rdf:type rdft:TestTrigEval ;
   mf:name      "comment_following_localName" ;
   rdfs:comment "comment following localName" ;
   rdft:approval rdft:Approved ;
   mf:action    <comment_following_localName.trig> ;
   mf:result    <IRI_spo.nq> ;
   .

<#number_sign_following_localName> rdf:type rdft:TestTrigEval ;
   mf:name      "number_sign_following_localName" ;
   rdfs:comment "number sign following localName" ;
   rdft:approval rdft:Approved ;
   mf:action    <number_sign_following_localName.trig> ;
   mf:result    <number_sign_following_localName.nq> ;
   .

<#comment_following_PNAME_NS> rdf:type rdft:TestTrigEval ;
   mf:name      "comment_following_PNAME_NS" ;
   rdfs:comment "comment following PNAME_NS" ;
   rdft:approval rdft:Approved ;
   mf:action    <comment_following_PNAME_NS.trig> ;
   mf:result    <comment_following_PNAME_NS.nq> ;
   .

<#number_sign_following_PNAME_NS> rdf:type rdft:TestTrigEval ;
   mf:name      "number_sign_following_PNAME_NS" ;
   rdfs:comment "number sign following PNAME_NS" ;
   rdft:approval rdft:Approved ;
   mf:action    <number_sign_following_PNAME_NS.trig> ;
   mf:result    <number_sign_following_PNAME_NS.nq> ;
   .

# 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:TestTrigEval ;
   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:TestTrigNegativeSyntax ;
   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:TestTrigEval ;
   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:TestTrigEval ;
   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:TestTrigNegativeSyntax ;
	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:TestTrigNegativeSyntax ;
	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:TestTrigNegativeSyntax ;
	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:TestTrigNegativeSyntax ;
	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:TestTrigNegativeSyntax ;
	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:TestTrigNegativeSyntax ;
	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:TestTrigNegativeSyntax ;
	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:TestTrigNegativeSyntax ;
	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:TestTrigNegativeSyntax ;
	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-bad-list-01>
    rdf:type rdft:TestTrigNegativeSyntax ;
    rdfs:comment "Free-standing list outside {} : bad syntax" ;
   	mf:name "trig-syntax-bad-list-01" ;
    rdft:approval rdft:Approved ;
    mf:action <trig-syntax-bad-list-01.trig> 
    .

<#trig-syntax-bad-list-02>
    rdf:type rdft:TestTrigNegativeSyntax ;
    rdfs:comment "Free-standing list of zero-elements outside {} : bad syntax" ;
   	mf:name "trig-syntax-bad-list-02" ;
    rdft:approval rdft:Approved ;
    mf:action <trig-syntax-bad-list-02.trig> 
    .

<#trig-syntax-bad-list-03>
    rdf:type rdft:TestTrigNegativeSyntax ;
    rdfs:comment "Free-standing list inside {} : bad syntax" ;
   	mf:name "trig-syntax-bad-list-03" ;
    rdft:approval rdft:Approved ;
    mf:action <trig-syntax-bad-list-03.trig> 
    .

<#trig-syntax-bad-list-04>
    rdf:type rdft:TestTrigNegativeSyntax ;
    rdfs:comment "Free-standing list of zero elements : bad syntax" ;
   	mf:name "trig-syntax-bad-list-04" ;
    rdft:approval rdft:Approved ;
    mf:action <trig-syntax-bad-list-04.trig> 
    .

<#trig-syntax-ln-dots>
	rdf:type rdft:TestTrigPositiveSyntax ;
	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:TestTrigPositiveSyntax ;
	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:TestTrigPositiveSyntax ;
	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:TestTrigPositiveSyntax ;
	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> .

# tests for bnode graph names, optional GRAPH keyword and
# triples outside {}

<#trig-kw-graph-01> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-kw-graph-01" ;
   rdfs:comment "Named graphs can be proceeded by GRAPH" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-kw-graph-01.trig> ;
   .

<#trig-kw-graph-02> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-kw-graph-02" ;
   rdfs:comment "Trailing . not necessary inside {}" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-kw-graph-02.trig> ;
   .

<#trig-kw-graph-03> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-kw-graph-03" ;
   rdfs:comment "Named graph may be empty" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-kw-graph-03.trig> ;
   .

<#trig-kw-graph-04> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-kw-graph-04" ;
   rdfs:comment "" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-kw-graph-04.trig> ;
   .

<#trig-kw-graph-05> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-kw-graph-05" ;
   rdfs:comment "Use of empty prefix inside named graph" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-kw-graph-05.trig> ;
   .

<#trig-kw-graph-06> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-kw-graph-06" ;
   rdfs:comment "" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-kw-graph-06.trig> ;
   .

<#trig-kw-graph-07> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-kw-graph-07" ;
   rdfs:comment "Named graph may be named with BNode _:a" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-kw-graph-07.trig> ;
   .

<#trig-kw-graph-08> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-kw-graph-08" ;
   rdfs:comment "Named graph may be named with BNode []" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-kw-graph-08.trig> ;
   .

<#trig-kw-graph-09> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-kw-graph-09" ;
   rdfs:comment "Named graph may be named with PNAME" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-kw-graph-09.trig> ;
   .

<#trig-kw-graph-10> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-kw-graph-10" ;
   rdfs:comment "Named graph with PNAME and empty graph" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-kw-graph-10.trig> ;
   .

<#trig-graph-bad-01> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-graph-bad-01" ;
   rdfs:comment "GRAPH but no name - GRAPH is not used with the default graph" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-graph-bad-01.trig> ;
   .

<#trig-graph-bad-02> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-graph-bad-02" ;
   rdfs:comment "GRAPH not followed by DOT" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-graph-bad-02.trig> ;
   .

<#trig-graph-bad-03> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-graph-bad-03" ;
   rdfs:comment "GRAPH needs {}" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-graph-bad-03.trig> ;
   .

<#trig-graph-bad-04> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-graph-bad-04" ;
   rdfs:comment "GRAPH needs {}" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-graph-bad-04.trig> ;
   .

<#trig-graph-bad-05> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-graph-bad-05" ;
   rdfs:comment "GRAPH and a name, not several" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-graph-bad-05.trig> ;
   .

<#trig-graph-bad-06> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-graph-bad-06" ;
   rdfs:comment "GRAPH - Must close {}" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-graph-bad-06.trig> ;
   .

<#trig-graph-bad-07> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-graph-bad-07" ;
   rdfs:comment "GRAPH may not include a GRAPH" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-graph-bad-07.trig> ;
   .

<#trig-graph-bad-08> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-graph-bad-08" ;
   rdfs:comment "@graph is not a keyword" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-graph-bad-08.trig> ;
   .

<#trig-graph-bad-09> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-graph-bad-09" ;
   rdfs:comment "Directives not allowed inside GRAPH" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-graph-bad-09.trig> ;
   .

<#trig-graph-bad-10> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-graph-bad-10" ;
   rdfs:comment "A graph may not be named with an empty collection" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-graph-bad-10.trig> ;
   .

<#trig-graph-bad-11> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-graph-bad-11" ;
   rdfs:comment "A graph may not be named with a collection" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-graph-bad-11.trig> ;
   .

<#trig-bnodeplist-graph-01> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-bnodeplist-graph-bad-01" ;
   rdfs:comment "A graph may not be named with a blankNodePropertyList" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-bnodeplist-graph-bad-01.trig> ;
   .

<#trig-collection-graph-01> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-collection-graph-bad-01" ;
   rdfs:comment "A graph may not be named with an empty collection" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-collection-graph-bad-01.trig> ;
   .

<#trig-collection-graph-02> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-collection-graph-bad-02" ;
   rdfs:comment "A graph may not be named with a collection" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-collection-graph-bad-02.trig> ;
   .

<#trig-turtle-01> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-turtle-01" ;
   rdfs:comment "TriG can parse Turtle" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-turtle-01.trig> ;
   .

<#trig-turtle-02> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-turtle-02" ;
   rdfs:comment "TriG can parse Turtle (repeated PREFIX)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-turtle-02.trig> ;
   .

<#trig-turtle-03> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-turtle-03" ;
   rdfs:comment "TriG can parse Turtle (blankNodePropertyList subject)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-turtle-03.trig> ;
   .

<#trig-turtle-04> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-turtle-04" ;
   rdfs:comment "TriG can parse Turtle (blankNodePropertyList subject)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-turtle-04.trig> ;
   .

<#trig-turtle-05> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-turtle-05" ;
   rdfs:comment "TriG can parse Turtle (bare blankNodePropertyList)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-turtle-05.trig> ;
   .

<#trig-turtle-06> rdf:type rdft:TestTrigPositiveSyntax ;
   mf:name      "trig-turtle-06" ;
   rdfs:comment "TriG can parse Turtle (collection subject and object)" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-turtle-06.trig> ;
   .

<#trig-turtle-bad-01> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-turtle-bad-01" ;
   rdfs:comment "Trailing dot required in Turtle block" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-turtle-bad-01.trig> ;
   .

<#trig-turtle-bad-02> rdf:type rdft:TestTrigNegativeSyntax ;
   mf:name      "trig-turtle-bad-02" ;
   rdfs:comment "TriG is not N-Quads" ;
   rdft:approval rdft:Approved ;
   mf:action    <trig-turtle-bad-02.trig> ;
   .

# IRI resolution tests
<#IRI-resolution-01>
	rdf:type rdft:TestTrigEval ;
	rdfs:comment "IRI resolution (RFC3986 original cases)" ;
	mf:name "IRI-resolution-01" ;
	rdft:approval rdft:Proposed ;
	mf:action <IRI-resolution-01.trig> ;
	mf:result <IRI-resolution-01.nq> .

<#IRI-resolution-02>
	rdf:type rdft:TestTrigEval ;
	rdfs:comment "IRI resolution (RFC3986 using base IRI with trailing slash)" ;
	mf:name "IRI-resolution-02" ;
	rdft:approval rdft:Proposed ;
	mf:action <IRI-resolution-02.trig> ;
	mf:result <IRI-resolution-02.nq> .

<#IRI-resolution-07>
	rdf:type rdft:TestTrigEval ;
	rdfs:comment "IRI resolution (RFC3986 using base IRI with file path)" ;
	mf:name "IRI-resolution-07" ;
	rdft:approval rdft:Proposed ;
	mf:action <IRI-resolution-07.trig> ;
	mf:result <IRI-resolution-07.nq> .

<#IRI-resolution-08>
	rdf:type rdft:TestTrigEval ;
	rdfs:comment "IRI resolution (miscellaneous cases)" ;
	mf:name "IRI-resolution-08" ;
	rdft:approval rdft:Proposed ;
	mf:action <IRI-resolution-08.trig> ;
	mf:result <IRI-resolution-08.nq> .
