#  Licensed to the Apache Software Foundation (ASF) under one or more
#  contributor license agreements.  See the NOTICE file distributed with
#  this work for additional information regarding copyright ownership.
#  The ASF licenses this file to You under the Apache License, Version 2.0
#  (the "License"); you may not use this file except in compliance with
#  the License.  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

# Test named *subm* are (c) W3C and taken from the Turtle submission.

@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix mf: <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
@prefix qt:     <http://www.w3.org/2001/sw/DataAccess/tests/test-query#> .

@prefix rdft:   <http://www.w3.org/ns/rdftest#> .

<>  rdf:type mf:Manifest ;
    rdfs:comment "Turtle tests" ;
    mf:entries
    (

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

    # original tests-ttl
    <#turtle-syntax-file-01>
    <#turtle-syntax-file-02>
    <#turtle-syntax-file-03>
    <#turtle-syntax-uri-01>
    <#turtle-syntax-uri-02>
    <#turtle-syntax-uri-03>
    <#turtle-syntax-uri-04>
    <#turtle-syntax-base-01>
    <#turtle-syntax-base-02>
    <#turtle-syntax-base-03>
    <#turtle-syntax-base-04>
    <#turtle-syntax-prefix-01>
    <#turtle-syntax-prefix-02>
    <#turtle-syntax-prefix-03>
    <#turtle-syntax-prefix-04>
    <#turtle-syntax-prefix-05>
    <#turtle-syntax-prefix-06>
    <#turtle-syntax-prefix-07>
    <#turtle-syntax-prefix-08>
    <#turtle-syntax-prefix-09>
    <#turtle-syntax-string-01>
    <#turtle-syntax-string-02>
    <#turtle-syntax-string-03>
    <#turtle-syntax-string-04>
    <#turtle-syntax-string-05>
    <#turtle-syntax-string-06>
    <#turtle-syntax-string-07>
    <#turtle-syntax-string-08>
    <#turtle-syntax-string-09>
    <#turtle-syntax-string-10>
    <#turtle-syntax-string-11>
    <#turtle-syntax-str-esc-01>
    <#turtle-syntax-str-esc-02>
    <#turtle-syntax-str-esc-03>
    <#turtle-syntax-pname-esc-01>
    <#turtle-syntax-pname-esc-02>
    <#turtle-syntax-pname-esc-03>
    <#turtle-syntax-bnode-01>
    <#turtle-syntax-bnode-02>
    <#turtle-syntax-bnode-03>
    <#turtle-syntax-bnode-04>
    <#turtle-syntax-bnode-05>
    <#turtle-syntax-bnode-06>
    <#turtle-syntax-bnode-07>
    <#turtle-syntax-bnode-08>
    <#turtle-syntax-bnode-09>
    <#turtle-syntax-bnode-10>
    <#turtle-syntax-number-01>
    <#turtle-syntax-number-02>
    <#turtle-syntax-number-03>
    <#turtle-syntax-number-04>
    <#turtle-syntax-number-05>
    <#turtle-syntax-number-06>
    <#turtle-syntax-number-07>
    <#turtle-syntax-number-08>
    <#turtle-syntax-number-09>
    <#turtle-syntax-number-10>
    <#turtle-syntax-number-11>
    <#turtle-syntax-datatypes-01>
    <#turtle-syntax-datatypes-02>
    <#turtle-syntax-kw-01>
    <#turtle-syntax-kw-02>
    <#turtle-syntax-kw-03>
    <#turtle-syntax-struct-01>
    <#turtle-syntax-struct-02>
    <#turtle-syntax-struct-03>
    <#turtle-syntax-struct-04>
    <#turtle-syntax-struct-05>
    <#turtle-syntax-lists-01>
    <#turtle-syntax-lists-02>
    <#turtle-syntax-lists-03>
    <#turtle-syntax-lists-04>
    <#turtle-syntax-lists-05>
    <#turtle-syntax-bad-uri-01>
    <#turtle-syntax-bad-uri-02>
    <#turtle-syntax-bad-uri-03>
    <#turtle-syntax-bad-uri-04>
    <#turtle-syntax-bad-uri-05>
    <#turtle-syntax-bad-prefix-01>
    <#turtle-syntax-bad-prefix-02>
    <#turtle-syntax-bad-prefix-03>
    <#turtle-syntax-bad-prefix-04>
    <#turtle-syntax-bad-prefix-05>
    <#turtle-syntax-bad-base-01>
    <#turtle-syntax-bad-base-02>
    <#turtle-syntax-bad-base-03>
    <#turtle-syntax-bad-struct-01>
    <#turtle-syntax-bad-struct-02>
    <#turtle-syntax-bad-struct-03>
    <#turtle-syntax-bad-struct-04>
    <#turtle-syntax-bad-struct-05>
    <#turtle-syntax-bad-struct-06>
    <#turtle-syntax-bad-struct-07>
    <#turtle-syntax-bad-kw-01>
    <#turtle-syntax-bad-kw-02>
    <#turtle-syntax-bad-kw-03>
    <#turtle-syntax-bad-kw-04>
    <#turtle-syntax-bad-kw-05>
    <#turtle-syntax-bad-n3-extras-01>
    <#turtle-syntax-bad-n3-extras-02>
    <#turtle-syntax-bad-n3-extras-03>
    <#turtle-syntax-bad-n3-extras-04>
    <#turtle-syntax-bad-n3-extras-05>
    <#turtle-syntax-bad-n3-extras-06>
    <#turtle-syntax-bad-n3-extras-07>
    <#turtle-syntax-bad-n3-extras-08>
    <#turtle-syntax-bad-n3-extras-09>
    <#turtle-syntax-bad-n3-extras-10>
    <#turtle-syntax-bad-n3-extras-11>
    <#turtle-syntax-bad-n3-extras-12>
    <#turtle-syntax-bad-n3-extras-13>
    <#turtle-syntax-bad-struct-08>
    <#turtle-syntax-bad-struct-09>
    <#turtle-syntax-bad-struct-10>
    <#turtle-syntax-bad-struct-11>
    <#turtle-syntax-bad-struct-12>
    <#turtle-syntax-bad-struct-13>
    <#turtle-syntax-bad-struct-14>
    <#turtle-syntax-bad-struct-15>
    <#turtle-syntax-bad-struct-16>
    <#turtle-syntax-bad-struct-17>
    <#turtle-syntax-bad-lang-01>
    <#turtle-syntax-bad-esc-01>
    <#turtle-syntax-bad-esc-02>
    <#turtle-syntax-bad-esc-03>
    <#turtle-syntax-bad-esc-04>
    <#turtle-syntax-bad-pname-01>
    <#turtle-syntax-bad-pname-02>
    <#turtle-syntax-bad-pname-03>
    <#turtle-syntax-bad-string-01>
    <#turtle-syntax-bad-string-02>
    <#turtle-syntax-bad-string-03>
    <#turtle-syntax-bad-string-04>
    <#turtle-syntax-bad-string-05>
    <#turtle-syntax-bad-string-06>
    <#turtle-syntax-bad-string-07>
    <#turtle-syntax-bad-num-01>
    <#turtle-syntax-bad-num-02>
    <#turtle-syntax-bad-num-03>
    <#turtle-syntax-bad-num-04>
    <#turtle-syntax-bad-num-05>
    <#turtle-eval-struct-01>
    <#turtle-eval-struct-02>
    <#turtle-subm-01>
    <#turtle-subm-02>
    <#turtle-subm-03>
    <#turtle-subm-04>
    <#turtle-subm-05>
    <#turtle-subm-06>
    <#turtle-subm-07>
    <#turtle-subm-08>
    <#turtle-subm-09>
    <#turtle-subm-10>
    <#turtle-subm-11>
    <#turtle-subm-12>
    <#turtle-subm-13>
    <#turtle-subm-14>
    <#turtle-subm-15>
    <#turtle-subm-16>
    <#turtle-subm-17>
    <#turtle-subm-18>
    <#turtle-subm-19>
    <#turtle-subm-20>
    <#turtle-subm-21>
    <#turtle-subm-22>
    <#turtle-subm-23>
    <#turtle-subm-24>
    <#turtle-subm-25>
    <#turtle-subm-26>
    <#turtle-subm-27>
    <#turtle-eval-bad-01>
    <#turtle-eval-bad-02>
    <#turtle-eval-bad-03>
    <#turtle-eval-bad-04>

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

    # tests from David Robillard
    # http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c21
    <#turtle-syntax-bad-blank-label-dot-end>
    <#turtle-syntax-bad-ln-dash-start>
    <#turtle-syntax-bad-ln-escape-start>
    <#turtle-syntax-bad-ln-escape>
    <#turtle-syntax-bad-missing-ns-dot-end>
    <#turtle-syntax-bad-missing-ns-dot-start>
    <#turtle-syntax-bad-ns-dot-end>
    <#turtle-syntax-bad-ns-dot-start>
    <#turtle-syntax-bad-number-dot-in-anon>
    <#turtle-syntax-blank-label>
    <#turtle-syntax-ln-colons>
    <#turtle-syntax-ln-dots>
    <#turtle-syntax-ns-dots>
    ) .

# atomic tests
<#IRI_subject> rdf:type rdft:TestTurtleEval ;
   mf:name      "IRI_subject" ;
   rdfs:comment "IRI subject" ;
   mf:action    <IRI_subject.ttl> ;
   mf:result    <IRI_spo.nt> ;
   .

<#IRI_with_four_digit_numeric_escape> rdf:type rdft:TestTurtleEval ;
   mf:name      "IRI_with_four_digit_numeric_escape" ;
   rdfs:comment "IRI with four digit numeric escape (\\u)" ;
   mf:action    <IRI_with_four_digit_numeric_escape.ttl> ;
   mf:result    <IRI_spo.nt> ;
   .

<#IRI_with_eight_digit_numeric_escape> rdf:type rdft:TestTurtleEval ;
   mf:name      "IRI_with_eight_digit_numeric_escape" ;
   rdfs:comment "IRI with eight digit numeric escape (\\U)" ;
   mf:action    <IRI_with_eight_digit_numeric_escape.ttl> ;
   mf:result    <IRI_spo.nt> ;
   .

<#IRI_with_all_punctuation> rdf:type rdft:TestTurtleEval ;
   mf:name      "IRI_with_all_punctuation" ;
   rdfs:comment "IRI with all punctuation" ;
   mf:action    <IRI_with_all_punctuation.ttl> ;
   mf:result    <IRI_with_all_punctuation.nt> ;
   .

<#bareword_a_predicate> rdf:type rdft:TestTurtleEval ;
   mf:name      "bareword_a_predicate" ;
   rdfs:comment "bareword a predicate" ;
   mf:action    <bareword_a_predicate.ttl> ;
   mf:result    <bareword_a_predicate.nt> ;
   .

<#old_style_prefix> rdf:type rdft:TestTurtleEval ;
   mf:name      "old_style_prefix" ;
   rdfs:comment "old-style prefix" ;
   mf:action    <old_style_prefix.ttl> ;
   mf:result    <IRI_spo.nt> ;
   .

<#SPARQL_style_prefix> rdf:type rdft:TestTurtleEval ;
   mf:name      "SPARQL_style_prefix" ;
   rdfs:comment "SPARQL-style prefix" ;
   mf:action    <SPARQL_style_prefix.ttl> ;
   mf:result    <IRI_spo.nt> ;
   .

<#prefixed_IRI_predicate> rdf:type rdft:TestTurtleEval ;
   mf:name      "prefixed_IRI_predicate" ;
   rdfs:comment "prefixed IRI predicate" ;
   mf:action    <prefixed_IRI_predicate.ttl> ;
   mf:result    <IRI_spo.nt> ;
   .

<#prefixed_IRI_object> rdf:type rdft:TestTurtleEval ;
   mf:name      "prefixed_IRI_object" ;
   rdfs:comment "prefixed IRI object" ;
   mf:action    <prefixed_IRI_object.ttl> ;
   mf:result    <IRI_spo.nt> ;
   .

<#prefix_only_IRI> rdf:type rdft:TestTurtleEval ;
   mf:name      "prefix_only_IRI" ;
   rdfs:comment "prefix-only IRI (p:)" ;
   mf:action    <prefix_only_IRI.ttl> ;
   mf:result    <IRI_spo.nt> ;
   .

<#prefix_with_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ;
   mf:name      "prefix_with_PN_CHARS_BASE_character_boundaries" ;
   rdfs:comment "prefix with PN CHARS BASE character boundaries (prefix: AZazÀÖØöø...:)" ;
   mf:action    <prefix_with_PN_CHARS_BASE_character_boundaries.ttl> ;
   mf:result    <IRI_spo.nt> ;
   .

<#prefix_with_non_leading_extras> rdf:type rdft:TestTurtleEval ;
   mf:name      "prefix_with_non_leading_extras" ;
   rdfs:comment "prefix with_non_leading_extras (_:a·̀ͯ‿.⁀)" ;
   mf:action    <prefix_with_non_leading_extras.ttl> ;
   mf:result    <IRI_spo.nt> ;
   .

<#localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ;
   mf:name      "localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries" ;
   rdfs:comment "localName with assigned, NFC-normalized, basic-multilingual-plane PN CHARS BASE character boundaries (p:AZazÀÖØöø...)" ;
   mf:action    <localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.ttl> ;
   mf:result    <localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries.nt> ;
   .

<#localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ;
   mf:name      "localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries" ;
   rdfs:comment "localName with assigned, NFC-normalized PN CHARS BASE character boundaries (p:AZazÀÖØöø...)" ;
   mf:action    <localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.ttl> ;
   mf:result    <localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries.nt> ;
   .

<#localName_with_nfc_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ;
   mf:name      "localName_with_nfc_PN_CHARS_BASE_character_boundaries" ;
   rdfs:comment "localName with nfc-normalize PN CHARS BASE character boundaries (p:AZazÀÖØöø...)" ;
   mf:action    <localName_with_nfc_PN_CHARS_BASE_character_boundaries.ttl> ;
   mf:result    <localName_with_nfc_PN_CHARS_BASE_character_boundaries.nt> ;
   .

<#localName_with_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ;
   mf:name      "localName_with_PN_CHARS_BASE_character_boundaries" ;
   rdfs:comment "localName with PN CHARS BASE character boundaries (p:AZazÀÖØöø...)" ;
   mf:action    <localName_with_PN_CHARS_BASE_character_boundaries.ttl> ;
   mf:result    <localName_with_PN_CHARS_BASE_character_boundaries.nt> ;
   .

<#default_namespace_IRI> rdf:type rdft:TestTurtleEval ;
   mf:name      "default_namespace_IRI" ;
   rdfs:comment "default namespace IRI (:ln)" ;
   mf:action    <default_namespace_IRI.ttl> ;
   mf:result    <IRI_spo.nt> ;
   .

<#prefix_reassigned_and_used> rdf:type rdft:TestTurtleEval ;
   mf:name      "prefix_reassigned_and_used" ;
   rdfs:comment "prefix reassigned and used" ;
   mf:action    <prefix_reassigned_and_used.ttl> ;
   mf:result    <prefix_reassigned_and_used.nt> ;
   .

<#reserved_escaped_localName> rdf:type rdft:TestTurtleEval ;
   mf:name      "reserved_escaped_localName" ;
   rdfs:comment "reserved-escaped local name" ;
   mf:action    <reserved_escaped_localName.ttl> ;
   mf:result    <reserved_escaped_localName.nt> ;
   .

<#percent_escaped_localName> rdf:type rdft:TestTurtleEval ;
   mf:name      "percent_escaped_localName" ;
   rdfs:comment "percent-escaped local name" ;
   mf:action    <percent_escaped_localName.ttl> ;
   mf:result    <percent_escaped_localName.nt> ;
   .

<#HYPHEN_MINUS_in_localName> rdf:type rdft:TestTurtleEval ;
   mf:name      "HYPHEN_MINUS_in_localName" ;
   rdfs:comment "HYPHEN-MINUS in local name" ;
   mf:action    <HYPHEN_MINUS_in_localName.ttl> ;
   mf:result    <HYPHEN_MINUS_in_localName.nt> ;
   .

<#underscore_in_localName> rdf:type rdft:TestTurtleEval ;
   mf:name      "underscore_in_localName" ;
   rdfs:comment "underscore in local name" ;
   mf:action    <underscore_in_localName.ttl> ;
   mf:result    <underscore_in_localName.nt> ;
   .

<#localname_with_COLON> rdf:type rdft:TestTurtleEval ;
   mf:name      "localname_with_COLON" ;
   rdfs:comment "localname with COLON" ;
   mf:action    <localname_with_COLON.ttl> ;
   mf:result    <localname_with_COLON.nt> ;
   .

<#localName_with_leading_underscore> rdf:type rdft:TestTurtleEval ;
   mf:name      "localName_with_leading_underscore" ;
   rdfs:comment "localName with leading underscore (p:_)" ;
   mf:action    <localName_with_leading_underscore.ttl> ;
   mf:result    <localName_with_leading_underscore.nt> ;
   .

<#localName_with_leading_digit> rdf:type rdft:TestTurtleEval ;
   mf:name      "localName_with_leading_digit" ;
   rdfs:comment "localName with leading digit (p:_)" ;
   mf:action    <localName_with_leading_digit.ttl> ;
   mf:result    <localName_with_leading_digit.nt> ;
   .

<#localName_with_non_leading_extras> rdf:type rdft:TestTurtleEval ;
   mf:name      "localName_with_non_leading_extras" ;
   rdfs:comment "localName with_non_leading_extras (_:a·̀ͯ‿.⁀)" ;
   mf:action    <localName_with_non_leading_extras.ttl> ;
   mf:result    <localName_with_non_leading_extras.nt> ;
   .

<#old_style_base> rdf:type rdft:TestTurtleEval ;
   mf:name      "old_style_base" ;
   rdfs:comment "old-style base" ;
   mf:action    <old_style_base.ttl> ;
   mf:result    <IRI_spo.nt> ;
   .

<#SPARQL_style_base> rdf:type rdft:TestTurtleEval ;
   mf:name      "SPARQL_style_base" ;
   rdfs:comment "SPARQL-style base" ;
   mf:action    <SPARQL_style_base.ttl> ;
   mf:result    <IRI_spo.nt> ;
   .

<#labeled_blank_node_subject> rdf:type rdft:TestTurtleEval ;
   mf:name      "labeled_blank_node_subject" ;
   rdfs:comment "labeled blank node subject" ;
   mf:action    <labeled_blank_node_subject.ttl> ;
   mf:result    <labeled_blank_node_subject.nt> ;
   .

<#labeled_blank_node_object> rdf:type rdft:TestTurtleEval ;
   mf:name      "labeled_blank_node_object" ;
   rdfs:comment "labeled blank node object" ;
   mf:action    <labeled_blank_node_object.ttl> ;
   mf:result    <labeled_blank_node_object.nt> ;
   .

<#labeled_blank_node_with_PN_CHARS_BASE_character_boundaries> rdf:type rdft:TestTurtleEval ;
   mf:name      "labeled_blank_node_with_PN_CHARS_BASE_character_boundaries" ;
   rdfs:comment "labeled blank node with PN_CHARS_BASE character boundaries (_:AZazÀÖØöø...)" ;
   mf:action    <labeled_blank_node_with_PN_CHARS_BASE_character_boundaries.ttl> ;
   mf:result    <labeled_blank_node_object.nt> ;
   .

<#labeled_blank_node_with_leading_underscore> rdf:type rdft:TestTurtleEval ;
   mf:name      "labeled_blank_node_with_leading_underscore" ;
   rdfs:comment "labeled blank node with_leading_underscore (_:_)" ;
   mf:action    <labeled_blank_node_with_leading_underscore.ttl> ;
   mf:result    <labeled_blank_node_object.nt> ;
   .

<#labeled_blank_node_with_leading_digit> rdf:type rdft:TestTurtleEval ;
   mf:name      "labeled_blank_node_with_leading_digit" ;
   rdfs:comment "labeled blank node with_leading_digit (_:0)" ;
   mf:action    <labeled_blank_node_with_leading_digit.ttl> ;
   mf:result    <labeled_blank_node_object.nt> ;
   .

<#labeled_blank_node_with_non_leading_extras> rdf:type rdft:TestTurtleEval ;
   mf:name      "labeled_blank_node_with_non_leading_extras" ;
   rdfs:comment "labeled blank node with_non_leading_extras (_:a·̀ͯ‿.⁀)" ;
   mf:action    <labeled_blank_node_with_non_leading_extras.ttl> ;
   mf:result    <labeled_blank_node_object.nt> ;
   .

<#anonymous_blank_node_subject> rdf:type rdft:TestTurtleEval ;
   mf:name      "anonymous_blank_node_subject" ;
   rdfs:comment "anonymous blank node subject" ;
   mf:action    <anonymous_blank_node_subject.ttl> ;
   mf:result    <labeled_blank_node_subject.nt> ;
   .

<#anonymous_blank_node_object> rdf:type rdft:TestTurtleEval ;
   mf:name      "anonymous_blank_node_object" ;
   rdfs:comment "anonymous blank node object" ;
   mf:action    <anonymous_blank_node_object.ttl> ;
   mf:result    <labeled_blank_node_object.nt> ;
   .

<#sole_blankNodePropertyList> rdf:type rdft:TestTurtleEval ;
   mf:name      "sole_blankNodePropertyList" ;
   rdfs:comment "sole blankNodePropertyList [ <p> <o> ] ." ;
   mf:action    <sole_blankNodePropertyList.ttl> ;
   mf:result    <labeled_blank_node_subject.nt> ;
   .

<#blankNodePropertyList_as_subject> rdf:type rdft:TestTurtleEval ;
   mf:name      "blankNodePropertyList_as_subject" ;
   rdfs:comment "blankNodePropertyList as subject [ … ] <p> <o> ." ;
   mf:action    <blankNodePropertyList_as_subject.ttl> ;
   mf:result    <blankNodePropertyList_as_subject.nt> ;
   .

<#blankNodePropertyList_as_object> rdf:type rdft:TestTurtleEval ;
   mf:name      "blankNodePropertyList_as_object" ;
   rdfs:comment "blankNodePropertyList as object <s> <p> [ … ] ." ;
   mf:action    <blankNodePropertyList_as_object.ttl> ;
   mf:result    <blankNodePropertyList_as_object.nt> ;
   .

<#blankNodePropertyList_with_multiple_triples> rdf:type rdft:TestTurtleEval ;
   mf:name      "blankNodePropertyList_with_multiple_triples" ;
   rdfs:comment "blankNodePropertyList with multiple triples [ <s> <p> ; <s2> <p2> ]" ;
   mf:action    <blankNodePropertyList_with_multiple_triples.ttl> ;
   mf:result    <blankNodePropertyList_with_multiple_triples.nt> ;
   .

<#nested_blankNodePropertyLists> rdf:type rdft:TestTurtleEval ;
   mf:name      "nested_blankNodePropertyLists" ;
   rdfs:comment "nested blankNodePropertyLists [ <p1> [ <p2> <o2> ] ; <p3> <o3> ]" ;
   mf:action    <nested_blankNodePropertyLists.ttl> ;
   mf:result    <nested_blankNodePropertyLists.nt> ;
   .

<#blankNodePropertyList_containing_collection> rdf:type rdft:TestTurtleEval ;
   mf:name      "blankNodePropertyList_containing_collection" ;
   rdfs:comment "blankNodePropertyList containing collection [ <p1> ( … ) ]" ;
   mf:action    <blankNodePropertyList_containing_collection.ttl> ;
   mf:result    <blankNodePropertyList_containing_collection.nt> ;
   .

<#collection_subject> rdf:type rdft:TestTurtleEval ;
   mf:name      "collection_subject" ;
   rdfs:comment "collection subject" ;
   mf:action    <collection_subject.ttl> ;
   mf:result    <collection_subject.nt> ;
   .

<#collection_object> rdf:type rdft:TestTurtleEval ;
   mf:name      "collection_object" ;
   rdfs:comment "collection object" ;
   mf:action    <collection_object.ttl> ;
   mf:result    <collection_object.nt> ;
   .

<#empty_collection> rdf:type rdft:TestTurtleEval ;
   mf:name      "empty_collection" ;
   rdfs:comment "empty collection ()" ;
   mf:action    <empty_collection.ttl> ;
   mf:result    <empty_collection.nt> ;
   .

<#nested_collection> rdf:type rdft:TestTurtleEval ;
   mf:name      "nested_collection" ;
   rdfs:comment "nested collection (())" ;
   mf:action    <nested_collection.ttl> ;
   mf:result    <nested_collection.nt> ;
   .

<#first> rdf:type rdft:TestTurtleEval ;
   mf:name      "first" ;
   rdfs:comment "first, not last, non-empty nested collection" ;
   mf:action    <first.ttl> ;
   mf:result    <first.nt> ;
   .

<#last> rdf:type rdft:TestTurtleEval ;
   mf:name      "last" ;
   rdfs:comment "last, not first, non-empty nested collection" ;
   mf:action    <last.ttl> ;
   mf:result    <last.nt> ;
   .

<#LITERAL1> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL1" ;
   rdfs:comment "LITERAL1 'x'" ;
   mf:action    <LITERAL1.ttl> ;
   mf:result    <LITERAL1.nt> ;
   .

<#LITERAL1_ascii_boundaries> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL1_ascii_boundaries" ;
   rdfs:comment "LITERAL1_ascii_boundaries '\\x00\\x09\\x0b\\x0c\\x0e\\x26\\x28...'" ;
   mf:action    <LITERAL1_ascii_boundaries.ttl> ;
   mf:result    <LITERAL1_ascii_boundaries.nt> ;
   .

<#LITERAL1_with_UTF8_boundaries> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL1_with_UTF8_boundaries" ;
   rdfs:comment "LITERAL1_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ;
   mf:action    <LITERAL1_with_UTF8_boundaries.ttl> ;
   mf:result    <LITERAL_with_UTF8_boundaries.nt> ;
   .

<#LITERAL1_all_controls> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL1_all_controls" ;
   rdfs:comment "LITERAL1_all_controls '\\x00\\x01\\x02\\x03\\x04...'" ;
   mf:action    <LITERAL1_all_controls.ttl> ;
   mf:result    <LITERAL1_all_controls.nt> ;
   .

<#LITERAL1_all_punctuation> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL1_all_punctuation" ;
   rdfs:comment "LITERAL1_all_punctuation '!\"#$%&()...'" ;
   mf:action    <LITERAL1_all_punctuation.ttl> ;
   mf:result    <LITERAL1_all_punctuation.nt> ;
   .

<#LITERAL_LONG1> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL_LONG1" ;
   rdfs:comment "LITERAL_LONG1 '''x'''" ;
   mf:action    <LITERAL_LONG1.ttl> ;
   mf:result    <LITERAL1.nt> ;
   .

<#LITERAL_LONG1_ascii_boundaries> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL_LONG1_ascii_boundaries" ;
   rdfs:comment "LITERAL_LONG1_ascii_boundaries '\\x00\\x26\\x28...'" ;
   mf:action    <LITERAL_LONG1_ascii_boundaries.ttl> ;
   mf:result    <LITERAL_LONG1_ascii_boundaries.nt> ;
   .

<#LITERAL_LONG1_with_UTF8_boundaries> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL_LONG1_with_UTF8_boundaries" ;
   rdfs:comment "LITERAL_LONG1_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ;
   mf:action    <LITERAL_LONG1_with_UTF8_boundaries.ttl> ;
   mf:result    <LITERAL_with_UTF8_boundaries.nt> ;
   .

<#LITERAL_LONG1_with_1_squote> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL_LONG1_with_1_squote" ;
   rdfs:comment "LITERAL_LONG1 with 1 squote '''a'b'''" ;
   mf:action    <LITERAL_LONG1_with_1_squote.ttl> ;
   mf:result    <LITERAL_LONG1_with_1_squote.nt> ;
   .

<#LITERAL_LONG1_with_2_squotes> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL_LONG1_with_2_squotes" ;
   rdfs:comment "LITERAL_LONG1 with 2 squotes '''a''b'''" ;
   mf:action    <LITERAL_LONG1_with_2_squotes.ttl> ;
   mf:result    <LITERAL_LONG1_with_2_squotes.nt> ;
   .

<#LITERAL2> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL2" ;
   rdfs:comment "LITERAL2 \"x\"" ;
   mf:action    <LITERAL2.ttl> ;
   mf:result    <LITERAL1.nt> ;
   .

<#LITERAL2_ascii_boundaries> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL2_ascii_boundaries" ;
   rdfs:comment "LITERAL2_ascii_boundaries '\\x00\\x09\\x0b\\x0c\\x0e\\x21\\x23...'" ;
   mf:action    <LITERAL2_ascii_boundaries.ttl> ;
   mf:result    <LITERAL2_ascii_boundaries.nt> ;
   .

<#LITERAL2_with_UTF8_boundaries> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL2_with_UTF8_boundaries" ;
   rdfs:comment "LITERAL2_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ;
   mf:action    <LITERAL2_with_UTF8_boundaries.ttl> ;
   mf:result    <LITERAL_with_UTF8_boundaries.nt> ;
   .

<#LITERAL_LONG2> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL_LONG2" ;
   rdfs:comment "LITERAL_LONG2 \"\"\"x\"\"\"" ;
   mf:action    <LITERAL_LONG2.ttl> ;
   mf:result    <LITERAL1.nt> ;
   .

<#LITERAL_LONG2_ascii_boundaries> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL_LONG2_ascii_boundaries" ;
   rdfs:comment "LITERAL_LONG2_ascii_boundaries '\\x00\\x21\\x23...'" ;
   mf:action    <LITERAL_LONG2_ascii_boundaries.ttl> ;
   mf:result    <LITERAL_LONG2_ascii_boundaries.nt> ;
   .

<#LITERAL_LONG2_with_UTF8_boundaries> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL_LONG2_with_UTF8_boundaries" ;
   rdfs:comment "LITERAL_LONG2_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ;
   mf:action    <LITERAL_LONG2_with_UTF8_boundaries.ttl> ;
   mf:result    <LITERAL_with_UTF8_boundaries.nt> ;
   .

<#LITERAL_LONG2_with_1_squote> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL_LONG2_with_1_squote" ;
   rdfs:comment "LITERAL_LONG2 with 1 squote \"\"\"a\"b\"\"\"" ;
   mf:action    <LITERAL_LONG2_with_1_squote.ttl> ;
   mf:result    <LITERAL_LONG2_with_1_squote.nt> ;
   .

<#LITERAL_LONG2_with_2_squotes> rdf:type rdft:TestTurtleEval ;
   mf:name      "LITERAL_LONG2_with_2_squotes" ;
   rdfs:comment "LITERAL_LONG2 with 2 squotes \"\"\"a\"\"b\"\"\"" ;
   mf:action    <LITERAL_LONG2_with_2_squotes.ttl> ;
   mf:result    <LITERAL_LONG2_with_2_squotes.nt> ;
   .

<#literal_with_CHARACTER_TABULATION> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_with_CHARACTER_TABULATION" ;
   rdfs:comment "literal with CHARACTER TABULATION" ;
   mf:action    <literal_with_CHARACTER_TABULATION.ttl> ;
   mf:result    <literal_with_CHARACTER_TABULATION.nt> ;
   .

<#literal_with_BACKSPACE> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_with_BACKSPACE" ;
   rdfs:comment "literal with BACKSPACE" ;
   mf:action    <literal_with_BACKSPACE.ttl> ;
   mf:result    <literal_with_BACKSPACE.nt> ;
   .

<#literal_with_LINE_FEED> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_with_LINE_FEED" ;
   rdfs:comment "literal with LINE FEED" ;
   mf:action    <literal_with_LINE_FEED.ttl> ;
   mf:result    <literal_with_LINE_FEED.nt> ;
   .

<#literal_with_CARRIAGE_RETURN> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_with_CARRIAGE_RETURN" ;
   rdfs:comment "literal with CARRIAGE RETURN" ;
   mf:action    <literal_with_CARRIAGE_RETURN.ttl> ;
   mf:result    <literal_with_CARRIAGE_RETURN.nt> ;
   .

<#literal_with_FORM_FEED> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_with_FORM_FEED" ;
   rdfs:comment "literal with FORM FEED" ;
   mf:action    <literal_with_FORM_FEED.ttl> ;
   mf:result    <literal_with_FORM_FEED.nt> ;
   .

<#literal_with_REVERSE_SOLIDUS> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_with_REVERSE_SOLIDUS" ;
   rdfs:comment "literal with REVERSE SOLIDUS" ;
   mf:action    <literal_with_REVERSE_SOLIDUS.ttl> ;
   mf:result    <literal_with_REVERSE_SOLIDUS.nt> ;
   .

<#literal_with_escaped_CHARACTER_TABULATION> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_with_escaped_CHARACTER_TABULATION" ;
   rdfs:comment "literal with escaped CHARACTER TABULATION" ;
   mf:action    <literal_with_escaped_CHARACTER_TABULATION.ttl> ;
   mf:result    <literal_with_CHARACTER_TABULATION.nt> ;
   .

<#literal_with_escaped_BACKSPACE> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_with_escaped_BACKSPACE" ;
   rdfs:comment "literal with escaped BACKSPACE" ;
   mf:action    <literal_with_escaped_BACKSPACE.ttl> ;
   mf:result    <literal_with_BACKSPACE.nt> ;
   .

<#literal_with_escaped_LINE_FEED> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_with_escaped_LINE_FEED" ;
   rdfs:comment "literal with escaped LINE FEED" ;
   mf:action    <literal_with_escaped_LINE_FEED.ttl> ;
   mf:result    <literal_with_LINE_FEED.nt> ;
   .

<#literal_with_escaped_CARRIAGE_RETURN> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_with_escaped_CARRIAGE_RETURN" ;
   rdfs:comment "literal with escaped CARRIAGE RETURN" ;
   mf:action    <literal_with_escaped_CARRIAGE_RETURN.ttl> ;
   mf:result    <literal_with_CARRIAGE_RETURN.nt> ;
   .

<#literal_with_escaped_FORM_FEED> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_with_escaped_FORM_FEED" ;
   rdfs:comment "literal with escaped FORM FEED" ;
   mf:action    <literal_with_escaped_FORM_FEED.ttl> ;
   mf:result    <literal_with_FORM_FEED.nt> ;
   .

<#literal_with_numeric_escape4> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_with_numeric_escape4" ;
   rdfs:comment "literal with numeric escape4 \\u" ;
   mf:action    <literal_with_numeric_escape4.ttl> ;
   mf:result    <literal_with_numeric_escape4.nt> ;
   .

<#literal_with_numeric_escape8> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_with_numeric_escape8" ;
   rdfs:comment "literal with numeric escape8 \\U" ;
   mf:action    <literal_with_numeric_escape8.ttl> ;
   mf:result    <literal_with_numeric_escape4.nt> ;
   .

<#IRIREF_datatype> rdf:type rdft:TestTurtleEval ;
   mf:name      "IRIREF_datatype" ;
   rdfs:comment "IRIREF datatype \"\"^^<t>" ;
   mf:action    <IRIREF_datatype.ttl> ;
   mf:result    <IRIREF_datatype.nt> ;
   .

<#prefixed_name_datatype> rdf:type rdft:TestTurtleEval ;
   mf:name      "prefixed_name_datatype" ;
   rdfs:comment "prefixed name datatype \"\"^^p:t" ;
   mf:action    <prefixed_name_datatype.ttl> ;
   mf:result    <IRIREF_datatype.nt> ;
   .

<#bareword_integer> rdf:type rdft:TestTurtleEval ;
   mf:name      "bareword_integer" ;
   rdfs:comment "bareword integer" ;
   mf:action    <bareword_integer.ttl> ;
   mf:result    <IRIREF_datatype.nt> ;
   .

<#bareword_decimal> rdf:type rdft:TestTurtleEval ;
   mf:name      "bareword_decimal" ;
   rdfs:comment "bareword decimal" ;
   mf:action    <bareword_decimal.ttl> ;
   mf:result    <bareword_decimal.nt> ;
   .

<#bareword_double> rdf:type rdft:TestTurtleEval ;
   mf:name      "bareword_double" ;
   rdfs:comment "bareword double" ;
   mf:action    <bareword_double.ttl> ;
   mf:result    <bareword_double.nt> ;
   .

<#double_lower_case_e> rdf:type rdft:TestTurtleEval ;
   mf:name      "double_lower_case_e" ;
   rdfs:comment "double lower case e" ;
   mf:action    <double_lower_case_e.ttl> ;
   mf:result    <double_lower_case_e.nt> ;
   .

<#negative_numeric> rdf:type rdft:TestTurtleEval ;
   mf:name      "negative_numeric" ;
   rdfs:comment "negative numeric" ;
   mf:action    <negative_numeric.ttl> ;
   mf:result    <negative_numeric.nt> ;
   .

<#positive_numeric> rdf:type rdft:TestTurtleEval ;
   mf:name      "positive_numeric" ;
   rdfs:comment "positive numeric" ;
   mf:action    <positive_numeric.ttl> ;
   mf:result    <positive_numeric.nt> ;
   .

<#numeric_with_leading_0> rdf:type rdft:TestTurtleEval ;
   mf:name      "numeric_with_leading_0" ;
   rdfs:comment "numeric with leading 0" ;
   mf:action    <numeric_with_leading_0.ttl> ;
   mf:result    <numeric_with_leading_0.nt> ;
   .

<#literal_true> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_true" ;
   rdfs:comment "literal true" ;
   mf:action    <literal_true.ttl> ;
   mf:result    <literal_true.nt> ;
   .

<#literal_false> rdf:type rdft:TestTurtleEval ;
   mf:name      "literal_false" ;
   rdfs:comment "literal false" ;
   mf:action    <literal_false.ttl> ;
   mf:result    <literal_false.nt> ;
   .

<#langtagged_non_LONG> rdf:type rdft:TestTurtleEval ;
   mf:name      "langtagged_non_LONG" ;
   rdfs:comment "langtagged non-LONG \"x\"@en" ;
   mf:action    <langtagged_non_LONG.ttl> ;
   mf:result    <langtagged_non_LONG.nt> ;
   .

<#langtagged_LONG> rdf:type rdft:TestTurtleEval ;
   mf:name      "langtagged_LONG" ;
   rdfs:comment "langtagged LONG \"\"\"x\"\"\"@en" ;
   mf:action    <langtagged_LONG.ttl> ;
   mf:result    <langtagged_non_LONG.nt> ;
   .

<#lantag_with_subtag> rdf:type rdft:TestTurtleEval ;
   mf:name      "lantag_with_subtag" ;
   rdfs:comment "lantag with subtag \"x\"@en-us" ;
   mf:action    <lantag_with_subtag.ttl> ;
   mf:result    <lantag_with_subtag.nt> ;
   .

<#objectList_with_two_objects> rdf:type rdft:TestTurtleEval ;
   mf:name      "objectList_with_two_objects" ;
   rdfs:comment "objectList with two objects … <o1>,<o2>" ;
   mf:action    <objectList_with_two_objects.ttl> ;
   mf:result    <objectList_with_two_objects.nt> ;
   .

<#predicateObjectList_with_two_objectLists> rdf:type rdft:TestTurtleEval ;
   mf:name      "predicateObjectList_with_two_objectLists" ;
   rdfs:comment "predicateObjectList with two objectLists … <o1>,<o2>" ;
   mf:action    <predicateObjectList_with_two_objectLists.ttl> ;
   mf:result    <predicateObjectList_with_two_objectLists.nt> ;
   .

<#repeated_semis_at_end> rdf:type rdft:TestTurtleEval ;
   mf:name      "repeated_semis_at_end" ;
   rdfs:comment "repeated semis at end <s> <p> <o> ;; <p2> <o2> ." ;
   mf:action    <repeated_semis_at_end.ttl> ;
   mf:result    <predicateObjectList_with_two_objectLists.nt> ;
   .

<#repeated_semis_not_at_end> rdf:type rdft:TestTurtleEval ;
   mf:name      "repeated_semis_not_at_end" ;
   rdfs:comment "repeated semis not at end <s> <p> <o> ;;." ;
   mf:action    <repeated_semis_not_at_end.ttl> ;
   mf:result    <repeated_semis_not_at_end.nt> ;
   .

# original tests-ttl
<#turtle-syntax-file-01> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-file-01" ;
   rdfs:comment "Empty file" ;
   mf:action    <turtle-syntax-file-01.ttl> ;
   .

<#turtle-syntax-file-02> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-file-02" ;
   rdfs:comment "Only comment" ;
   mf:action    <turtle-syntax-file-02.ttl> ;
   .

<#turtle-syntax-file-03> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-file-03" ;
   rdfs:comment "One comment, one empty line" ;
   mf:action    <turtle-syntax-file-03.ttl> ;
   .

<#turtle-syntax-uri-01> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-uri-01" ;
   rdfs:comment "Only IRIs" ;
   mf:action    <turtle-syntax-uri-01.ttl> ;
   .

<#turtle-syntax-uri-02> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-uri-02" ;
   rdfs:comment "IRIs with Unicode escape" ;
   mf:action    <turtle-syntax-uri-02.ttl> ;
   .

<#turtle-syntax-uri-03> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-uri-03" ;
   rdfs:comment "IRIs with long Unicode escape" ;
   mf:action    <turtle-syntax-uri-03.ttl> ;
   .

<#turtle-syntax-uri-04> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-uri-04" ;
   rdfs:comment "Legal IRIs" ;
   mf:action    <turtle-syntax-uri-04.ttl> ;
   .

<#turtle-syntax-base-01> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-base-01" ;
   rdfs:comment "@base" ;
   mf:action    <turtle-syntax-base-01.ttl> ;
   .

<#turtle-syntax-base-02> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-base-02" ;
   rdfs:comment "BASE" ;
   mf:action    <turtle-syntax-base-02.ttl> ;
   .

<#turtle-syntax-base-03> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-base-03" ;
   rdfs:comment "@base with relative IRIs" ;
   mf:action    <turtle-syntax-base-03.ttl> ;
   .

<#turtle-syntax-base-04> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-base-04" ;
   rdfs:comment "base with relative IRIs" ;
   mf:action    <turtle-syntax-base-04.ttl> ;
   .

<#turtle-syntax-prefix-01> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-prefix-01" ;
   rdfs:comment "@prefix" ;
   mf:action    <turtle-syntax-prefix-01.ttl> ;
   .

<#turtle-syntax-prefix-02> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-prefix-02" ;
   rdfs:comment "PreFIX" ;
   mf:action    <turtle-syntax-prefix-02.ttl> ;
   .

<#turtle-syntax-prefix-03> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-prefix-03" ;
   rdfs:comment "Empty PREFIX" ;
   mf:action    <turtle-syntax-prefix-03.ttl> ;
   .

<#turtle-syntax-prefix-04> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-prefix-04" ;
   rdfs:comment "Empty @prefix with % escape" ;
   mf:action    <turtle-syntax-prefix-04.ttl> ;
   .

<#turtle-syntax-prefix-05> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-prefix-05" ;
   rdfs:comment "@prefix with no suffix" ;
   mf:action    <turtle-syntax-prefix-05.ttl> ;
   .

<#turtle-syntax-prefix-06> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-prefix-06" ;
   rdfs:comment "colon is a legal pname character" ;
   mf:action    <turtle-syntax-prefix-06.ttl> ;
   .

<#turtle-syntax-prefix-07> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-prefix-07" ;
   rdfs:comment "dash is a legal pname character" ;
   mf:action    <turtle-syntax-prefix-07.ttl> ;
   .

<#turtle-syntax-prefix-08> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-prefix-08" ;
   rdfs:comment "underscore is a legal pname character" ;
   mf:action    <turtle-syntax-prefix-08.ttl> ;
   .

<#turtle-syntax-prefix-09> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-prefix-09" ;
   rdfs:comment "percents in pnames" ;
   mf:action    <turtle-syntax-prefix-09.ttl> ;
   .

<#turtle-syntax-string-01> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-string-01" ;
   rdfs:comment "string literal" ;
   mf:action    <turtle-syntax-string-01.ttl> ;
   .

<#turtle-syntax-string-02> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-string-02" ;
   rdfs:comment "langString literal" ;
   mf:action    <turtle-syntax-string-02.ttl> ;
   .

<#turtle-syntax-string-03> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-string-03" ;
   rdfs:comment "langString literal with region" ;
   mf:action    <turtle-syntax-string-03.ttl> ;
   .

<#turtle-syntax-string-04> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-string-04" ;
   rdfs:comment "squote string literal" ;
   mf:action    <turtle-syntax-string-04.ttl> ;
   .

<#turtle-syntax-string-05> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-string-05" ;
   rdfs:comment "squote langString literal" ;
   mf:action    <turtle-syntax-string-05.ttl> ;
   .

<#turtle-syntax-string-06> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-string-06" ;
   rdfs:comment "squote langString literal with region" ;
   mf:action    <turtle-syntax-string-06.ttl> ;
   .

<#turtle-syntax-string-07> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-string-07" ;
   rdfs:comment "long string literal with embedded single- and double-quotes" ;
   mf:action    <turtle-syntax-string-07.ttl> ;
   .

<#turtle-syntax-string-08> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-string-08" ;
   rdfs:comment "long string literal with embedded newline" ;
   mf:action    <turtle-syntax-string-08.ttl> ;
   .

<#turtle-syntax-string-09> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-string-09" ;
   rdfs:comment "squote long string literal with embedded single- and double-quotes" ;
   mf:action    <turtle-syntax-string-09.ttl> ;
   .

<#turtle-syntax-string-10> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-string-10" ;
   rdfs:comment "long langString literal with embedded newline" ;
   mf:action    <turtle-syntax-string-10.ttl> ;
   .

<#turtle-syntax-string-11> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-string-11" ;
   rdfs:comment "squote long langString literal with embedded newline" ;
   mf:action    <turtle-syntax-string-11.ttl> ;
   .

<#turtle-syntax-str-esc-01> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-str-esc-01" ;
   rdfs:comment "string literal with escaped newline" ;
   mf:action    <turtle-syntax-str-esc-01.ttl> ;
   .

<#turtle-syntax-str-esc-02> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-str-esc-02" ;
   rdfs:comment "string literal with Unicode escape" ;
   mf:action    <turtle-syntax-str-esc-02.ttl> ;
   .

<#turtle-syntax-str-esc-03> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-str-esc-03" ;
   rdfs:comment "string literal with long Unicode escape" ;
   mf:action    <turtle-syntax-str-esc-03.ttl> ;
   .

<#turtle-syntax-pname-esc-01> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-pname-esc-01" ;
   rdfs:comment "pname with back-slash escapes" ;
   mf:action    <turtle-syntax-pname-esc-01.ttl> ;
   .

<#turtle-syntax-pname-esc-02> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-pname-esc-02" ;
   rdfs:comment "pname with back-slash escapes (2)" ;
   mf:action    <turtle-syntax-pname-esc-02.ttl> ;
   .

<#turtle-syntax-pname-esc-03> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-pname-esc-03" ;
   rdfs:comment "pname with back-slash escapes (3)" ;
   mf:action    <turtle-syntax-pname-esc-03.ttl> ;
   .

<#turtle-syntax-bnode-01> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-bnode-01" ;
   rdfs:comment "bnode subject" ;
   mf:action    <turtle-syntax-bnode-01.ttl> ;
   .

<#turtle-syntax-bnode-02> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-bnode-02" ;
   rdfs:comment "bnode object" ;
   mf:action    <turtle-syntax-bnode-02.ttl> ;
   .

<#turtle-syntax-bnode-03> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-bnode-03" ;
   rdfs:comment "bnode property list object" ;
   mf:action    <turtle-syntax-bnode-03.ttl> ;
   .

<#turtle-syntax-bnode-04> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-bnode-04" ;
   rdfs:comment "bnode property list object (2)" ;
   mf:action    <turtle-syntax-bnode-04.ttl> ;
   .

<#turtle-syntax-bnode-05> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-bnode-05" ;
   rdfs:comment "bnode property list subject" ;
   mf:action    <turtle-syntax-bnode-05.ttl> ;
   .

<#turtle-syntax-bnode-06> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-bnode-06" ;
   rdfs:comment "labeled bnode subject" ;
   mf:action    <turtle-syntax-bnode-06.ttl> ;
   .

<#turtle-syntax-bnode-07> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-bnode-07" ;
   rdfs:comment "labeled bnode subject and object" ;
   mf:action    <turtle-syntax-bnode-07.ttl> ;
   .

<#turtle-syntax-bnode-08> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-bnode-08" ;
   rdfs:comment "bare bnode property list" ;
   mf:action    <turtle-syntax-bnode-08.ttl> ;
   .

<#turtle-syntax-bnode-09> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-bnode-09" ;
   rdfs:comment "bnode property list" ;
   mf:action    <turtle-syntax-bnode-09.ttl> ;
   .

<#turtle-syntax-bnode-10> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-bnode-10" ;
   rdfs:comment "mixed bnode property list and triple" ;
   mf:action    <turtle-syntax-bnode-10.ttl> ;
   .

<#turtle-syntax-number-01> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-number-01" ;
   rdfs:comment "integer literal" ;
   mf:action    <turtle-syntax-number-01.ttl> ;
   .

<#turtle-syntax-number-02> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-number-02" ;
   rdfs:comment "negative integer literal" ;
   mf:action    <turtle-syntax-number-02.ttl> ;
   .

<#turtle-syntax-number-03> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-number-03" ;
   rdfs:comment "positive integer literal" ;
   mf:action    <turtle-syntax-number-03.ttl> ;
   .

<#turtle-syntax-number-04> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-number-04" ;
   rdfs:comment "decimal literal" ;
   mf:action    <turtle-syntax-number-04.ttl> ;
   .

<#turtle-syntax-number-05> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-number-05" ;
   rdfs:comment "decimal literal (no leading digits)" ;
   mf:action    <turtle-syntax-number-05.ttl> ;
   .

<#turtle-syntax-number-06> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-number-06" ;
   rdfs:comment "negative decimal literal" ;
   mf:action    <turtle-syntax-number-06.ttl> ;
   .

<#turtle-syntax-number-07> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-number-07" ;
   rdfs:comment "positive decimal literal" ;
   mf:action    <turtle-syntax-number-07.ttl> ;
   .

<#turtle-syntax-number-08> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-number-08" ;
   rdfs:comment "integer literal with decimal lexical confusion" ;
   mf:action    <turtle-syntax-number-08.ttl> ;
   .

<#turtle-syntax-number-09> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-number-09" ;
   rdfs:comment "double literal" ;
   mf:action    <turtle-syntax-number-09.ttl> ;
   .

<#turtle-syntax-number-10> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-number-10" ;
   rdfs:comment "negative double literal" ;
   mf:action    <turtle-syntax-number-10.ttl> ;
   .

<#turtle-syntax-number-11> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-number-11" ;
   rdfs:comment "double literal no fraction" ;
   mf:action    <turtle-syntax-number-11.ttl> ;
   .

<#turtle-syntax-datatypes-01> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-datatypes-01" ;
   rdfs:comment "xsd:byte literal" ;
   mf:action    <turtle-syntax-datatypes-01.ttl> ;
   .

<#turtle-syntax-datatypes-02> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-datatypes-02" ;
   rdfs:comment "integer as xsd:string" ;
   mf:action    <turtle-syntax-datatypes-02.ttl> ;
   .

<#turtle-syntax-kw-01> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-kw-01" ;
   rdfs:comment "boolean literal (true)" ;
   mf:action    <turtle-syntax-kw-01.ttl> ;
   .

<#turtle-syntax-kw-02> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-kw-02" ;
   rdfs:comment "boolean literal (false)" ;
   mf:action    <turtle-syntax-kw-02.ttl> ;
   .

<#turtle-syntax-kw-03> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-kw-03" ;
   rdfs:comment "'a' as keyword" ;
   mf:action    <turtle-syntax-kw-03.ttl> ;
   .

<#turtle-syntax-struct-01> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-struct-01" ;
   rdfs:comment "object list" ;
   mf:action    <turtle-syntax-struct-01.ttl> ;
   .

<#turtle-syntax-struct-02> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-struct-02" ;
   rdfs:comment "predicate list with object list" ;
   mf:action    <turtle-syntax-struct-02.ttl> ;
   .

<#turtle-syntax-struct-03> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-struct-03" ;
   rdfs:comment "predicate list with object list and dangling ';'" ;
   mf:action    <turtle-syntax-struct-03.ttl> ;
   .

<#turtle-syntax-struct-04> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-struct-04" ;
   rdfs:comment "predicate list with multiple ;;" ;
   mf:action    <turtle-syntax-struct-04.ttl> ;
   .

<#turtle-syntax-struct-05> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-struct-05" ;
   rdfs:comment "predicate list with multiple ;;" ;
   mf:action    <turtle-syntax-struct-05.ttl> ;
   .

<#turtle-syntax-lists-01> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-lists-01" ;
   rdfs:comment "empty list" ;
   mf:action    <turtle-syntax-lists-01.ttl> ;
   .

<#turtle-syntax-lists-02> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-lists-02" ;
   rdfs:comment "mixed list" ;
   mf:action    <turtle-syntax-lists-02.ttl> ;
   .

<#turtle-syntax-lists-03> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-lists-03" ;
   rdfs:comment "isomorphic list as subject and object" ;
   mf:action    <turtle-syntax-lists-03.ttl> ;
   .

<#turtle-syntax-lists-04> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-lists-04" ;
   rdfs:comment "lists of lists" ;
   mf:action    <turtle-syntax-lists-04.ttl> ;
   .

<#turtle-syntax-lists-05> rdf:type rdft:TestTurtlePositiveSyntax ;
   mf:name    "turtle-syntax-lists-05" ;
   rdfs:comment "mixed lists with embedded lists" ;
   mf:action    <turtle-syntax-lists-05.ttl> ;
   .

<#turtle-syntax-bad-uri-01> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-uri-01" ;
   rdfs:comment "Bad IRI : space (negative test)" ;
   mf:action    <turtle-syntax-bad-uri-01.ttl> ;
   .

<#turtle-syntax-bad-uri-02> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-uri-02" ;
   rdfs:comment "Bad IRI : bad escape (negative test)" ;
   mf:action    <turtle-syntax-bad-uri-02.ttl> ;
   .

<#turtle-syntax-bad-uri-03> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-uri-03" ;
   rdfs:comment "Bad IRI : bad long escape (negative test)" ;
   mf:action    <turtle-syntax-bad-uri-03.ttl> ;
   .

<#turtle-syntax-bad-uri-04> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-uri-04" ;
   rdfs:comment "Bad IRI : character escapes not allowed (negative test)" ;
   mf:action    <turtle-syntax-bad-uri-04.ttl> ;
   .

<#turtle-syntax-bad-uri-05> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-uri-05" ;
   rdfs:comment "Bad IRI : character escapes not allowed (2) (negative test)" ;
   mf:action    <turtle-syntax-bad-uri-05.ttl> ;
   .

<#turtle-syntax-bad-prefix-01> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-prefix-01" ;
   rdfs:comment "No prefix (negative test)" ;
   mf:action    <turtle-syntax-bad-prefix-01.ttl> ;
   .

<#turtle-syntax-bad-prefix-02> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-prefix-02" ;
   rdfs:comment "No prefix (2) (negative test)" ;
   mf:action    <turtle-syntax-bad-prefix-02.ttl> ;
   .

<#turtle-syntax-bad-prefix-03> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-prefix-03" ;
   rdfs:comment "@prefix without URI (negative test)" ;
   mf:action    <turtle-syntax-bad-prefix-03.ttl> ;
   .

<#turtle-syntax-bad-prefix-04> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-prefix-04" ;
   rdfs:comment "@prefix without prefix name (negative test)" ;
   mf:action    <turtle-syntax-bad-prefix-04.ttl> ;
   .

<#turtle-syntax-bad-prefix-05> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-prefix-05" ;
   rdfs:comment "@prefix without ':' (negative test)" ;
   mf:action    <turtle-syntax-bad-prefix-05.ttl> ;
   .

<#turtle-syntax-bad-base-01> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-base-01" ;
   rdfs:comment "@base without URI (negative test)" ;
   mf:action    <turtle-syntax-bad-base-01.ttl> ;
   .

<#turtle-syntax-bad-base-02> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-base-02" ;
   rdfs:comment "@base in wrong case (negative test)" ;
   mf:action    <turtle-syntax-bad-base-02.ttl> ;
   .

<#turtle-syntax-bad-base-03> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-base-03" ;
   rdfs:comment "BASE without URI (negative test)" ;
   mf:action    <turtle-syntax-bad-base-03.ttl> ;
   .

<#turtle-syntax-bad-struct-01> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-01" ;
   rdfs:comment "Turtle is not TriG (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-01.ttl> ;
   .

<#turtle-syntax-bad-struct-02> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-02" ;
   rdfs:comment "Turtle is not N3 (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-02.ttl> ;
   .

<#turtle-syntax-bad-struct-03> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-03" ;
   rdfs:comment "Turtle is not NQuads (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-03.ttl> ;
   .

<#turtle-syntax-bad-struct-04> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-04" ;
   rdfs:comment "Turtle does not allow literals-as-subjects (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-04.ttl> ;
   .

<#turtle-syntax-bad-struct-05> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-05" ;
   rdfs:comment "Turtle does not allow literals-as-predicates (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-05.ttl> ;
   .

<#turtle-syntax-bad-struct-06> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-06" ;
   rdfs:comment "Turtle does not allow bnodes-as-predicates (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-06.ttl> ;
   .

<#turtle-syntax-bad-struct-07> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-07" ;
   rdfs:comment "Turtle does not allow labeled bnodes-as-predicates (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-07.ttl> ;
   .

<#turtle-syntax-bad-kw-01> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-kw-01" ;
   rdfs:comment "'A' is not a keyword (negative test)" ;
   mf:action    <turtle-syntax-bad-kw-01.ttl> ;
   .

<#turtle-syntax-bad-kw-02> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-kw-02" ;
   rdfs:comment "'a' cannot be used as subject (negative test)" ;
   mf:action    <turtle-syntax-bad-kw-02.ttl> ;
   .

<#turtle-syntax-bad-kw-03> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-kw-03" ;
   rdfs:comment "'a' cannot be used as object (negative test)" ;
   mf:action    <turtle-syntax-bad-kw-03.ttl> ;
   .

<#turtle-syntax-bad-kw-04> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-kw-04" ;
   rdfs:comment "'true' cannot be used as subject (negative test)" ;
   mf:action    <turtle-syntax-bad-kw-04.ttl> ;
   .

<#turtle-syntax-bad-kw-05> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-kw-05" ;
   rdfs:comment "'true' cannot be used as object (negative test)" ;
   mf:action    <turtle-syntax-bad-kw-05.ttl> ;
   .

<#turtle-syntax-bad-n3-extras-01> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-n3-extras-01" ;
   rdfs:comment "{} fomulae not in Turtle (negative test)" ;
   mf:action    <turtle-syntax-bad-n3-extras-01.ttl> ;
   .

<#turtle-syntax-bad-n3-extras-02> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-n3-extras-02" ;
   rdfs:comment "= is not Turtle (negative test)" ;
   mf:action    <turtle-syntax-bad-n3-extras-02.ttl> ;
   .

<#turtle-syntax-bad-n3-extras-03> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-n3-extras-03" ;
   rdfs:comment "N3 paths not in Turtle (negative test)" ;
   mf:action    <turtle-syntax-bad-n3-extras-03.ttl> ;
   .

<#turtle-syntax-bad-n3-extras-04> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-n3-extras-04" ;
   rdfs:comment "N3 paths not in Turtle (negative test)" ;
   mf:action    <turtle-syntax-bad-n3-extras-04.ttl> ;
   .

<#turtle-syntax-bad-n3-extras-05> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-n3-extras-05" ;
   rdfs:comment "N3 is...of not in Turtle (negative test)" ;
   mf:action    <turtle-syntax-bad-n3-extras-05.ttl> ;
   .

<#turtle-syntax-bad-n3-extras-06> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-n3-extras-06" ;
   rdfs:comment "N3 paths not in Turtle (negative test)" ;
   mf:action    <turtle-syntax-bad-n3-extras-06.ttl> ;
   .

<#turtle-syntax-bad-n3-extras-07> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-n3-extras-07" ;
   rdfs:comment "@keywords is not Turtle (negative test)" ;
   mf:action    <turtle-syntax-bad-n3-extras-07.ttl> ;
   .

<#turtle-syntax-bad-n3-extras-08> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-n3-extras-08" ;
   rdfs:comment "@keywords is not Turtle (negative test)" ;
   mf:action    <turtle-syntax-bad-n3-extras-08.ttl> ;
   .

<#turtle-syntax-bad-n3-extras-09> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-n3-extras-09" ;
   rdfs:comment "=> is not Turtle (negative test)" ;
   mf:action    <turtle-syntax-bad-n3-extras-09.ttl> ;
   .

<#turtle-syntax-bad-n3-extras-10> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-n3-extras-10" ;
   rdfs:comment "<= is not Turtle (negative test)" ;
   mf:action    <turtle-syntax-bad-n3-extras-10.ttl> ;
   .

<#turtle-syntax-bad-n3-extras-11> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-n3-extras-11" ;
   rdfs:comment "@forSome is not Turtle (negative test)" ;
   mf:action    <turtle-syntax-bad-n3-extras-11.ttl> ;
   .

<#turtle-syntax-bad-n3-extras-12> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-n3-extras-12" ;
   rdfs:comment "@forAll is not Turtle (negative test)" ;
   mf:action    <turtle-syntax-bad-n3-extras-12.ttl> ;
   .

<#turtle-syntax-bad-n3-extras-13> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-n3-extras-13" ;
   rdfs:comment "@keywords is not Turtle (negative test)" ;
   mf:action    <turtle-syntax-bad-n3-extras-13.ttl> ;
   .

<#turtle-syntax-bad-struct-08> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-08" ;
   rdfs:comment "missing '.' (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-08.ttl> ;
   .

<#turtle-syntax-bad-struct-09> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-09" ;
   rdfs:comment "extra '.' (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-09.ttl> ;
   .

<#turtle-syntax-bad-struct-10> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-10" ;
   rdfs:comment "extra '.' (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-10.ttl> ;
   .

<#turtle-syntax-bad-struct-11> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-11" ;
   rdfs:comment "trailing ';' no '.' (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-11.ttl> ;
   .

<#turtle-syntax-bad-struct-12> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-12" ;
   rdfs:comment "subject, predicate, no object (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-12.ttl> ;
   .

<#turtle-syntax-bad-struct-13> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-13" ;
   rdfs:comment "subject, predicate, no object (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-13.ttl> ;
   .

<#turtle-syntax-bad-struct-14> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-14" ;
   rdfs:comment "literal as subject (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-14.ttl> ;
   .

<#turtle-syntax-bad-struct-15> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-15" ;
   rdfs:comment "literal as predicate (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-15.ttl> ;
   .

<#turtle-syntax-bad-struct-16> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-16" ;
   rdfs:comment "bnode as predicate (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-16.ttl> ;
   .

<#turtle-syntax-bad-struct-17> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-struct-17" ;
   rdfs:comment "labeled bnode as predicate (negative test)" ;
   mf:action    <turtle-syntax-bad-struct-17.ttl> ;
   .

<#turtle-syntax-bad-lang-01> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-lang-01" ;
   rdfs:comment "langString with bad lang (negative test)" ;
   mf:action    <turtle-syntax-bad-lang-01.ttl> ;
   .

<#turtle-syntax-bad-esc-01> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-esc-01" ;
   rdfs:comment "Bad string escape (negative test)" ;
   mf:action    <turtle-syntax-bad-esc-01.ttl> ;
   .

<#turtle-syntax-bad-esc-02> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-esc-02" ;
   rdfs:comment "Bad string escape (negative test)" ;
   mf:action    <turtle-syntax-bad-esc-02.ttl> ;
   .

<#turtle-syntax-bad-esc-03> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-esc-03" ;
   rdfs:comment "Bad string escape (negative test)" ;
   mf:action    <turtle-syntax-bad-esc-03.ttl> ;
   .

<#turtle-syntax-bad-esc-04> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-esc-04" ;
   rdfs:comment "Bad string escape (negative test)" ;
   mf:action    <turtle-syntax-bad-esc-04.ttl> ;
   .

<#turtle-syntax-bad-pname-01> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-pname-01" ;
   rdfs:comment "'~' must be escaped in pname (negative test)" ;
   mf:action    <turtle-syntax-bad-pname-01.ttl> ;
   .

<#turtle-syntax-bad-pname-02> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-pname-02" ;
   rdfs:comment "Bad %-sequence in pname (negative test)" ;
   mf:action    <turtle-syntax-bad-pname-02.ttl> ;
   .

<#turtle-syntax-bad-pname-03> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-pname-03" ;
   rdfs:comment "Bad unicode escape in pname (negative test)" ;
   mf:action    <turtle-syntax-bad-pname-03.ttl> ;
   .

<#turtle-syntax-bad-string-01> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-string-01" ;
   rdfs:comment "mismatching string literal open/close (negative test)" ;
   mf:action    <turtle-syntax-bad-string-01.ttl> ;
   .

<#turtle-syntax-bad-string-02> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-string-02" ;
   rdfs:comment "mismatching string literal open/close (negative test)" ;
   mf:action    <turtle-syntax-bad-string-02.ttl> ;
   .

<#turtle-syntax-bad-string-03> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-string-03" ;
   rdfs:comment "mismatching string literal long/short (negative test)" ;
   mf:action    <turtle-syntax-bad-string-03.ttl> ;
   .

<#turtle-syntax-bad-string-04> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-string-04" ;
   rdfs:comment "mismatching long string literal open/close (negative test)" ;
   mf:action    <turtle-syntax-bad-string-04.ttl> ;
   .

<#turtle-syntax-bad-string-05> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-string-05" ;
   rdfs:comment "Long literal with missing end (negative test)" ;
   mf:action    <turtle-syntax-bad-string-05.ttl> ;
   .

<#turtle-syntax-bad-string-06> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-string-06" ;
   rdfs:comment "Long literal with extra quote (negative test)" ;
   mf:action    <turtle-syntax-bad-string-06.ttl> ;
   .

<#turtle-syntax-bad-string-07> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-string-07" ;
   rdfs:comment "Long literal with extra squote (negative test)" ;
   mf:action    <turtle-syntax-bad-string-07.ttl> ;
   .

<#turtle-syntax-bad-num-01> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-num-01" ;
   rdfs:comment "Bad number format (negative test)" ;
   mf:action    <turtle-syntax-bad-num-01.ttl> ;
   .

<#turtle-syntax-bad-num-02> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-num-02" ;
   rdfs:comment "Bad number format (negative test)" ;
   mf:action    <turtle-syntax-bad-num-02.ttl> ;
   .

<#turtle-syntax-bad-num-03> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-num-03" ;
   rdfs:comment "Bad number format (negative test)" ;
   mf:action    <turtle-syntax-bad-num-03.ttl> ;
   .

<#turtle-syntax-bad-num-04> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-num-04" ;
   rdfs:comment "Bad number format (negative test)" ;
   mf:action    <turtle-syntax-bad-num-04.ttl> ;
   .

<#turtle-syntax-bad-num-05> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-num-05" ;
   rdfs:comment "Bad number format (negative test)" ;
   mf:action    <turtle-syntax-bad-num-05.ttl> ;
   .

<#turtle-eval-struct-01> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-eval-struct-01" ;
   rdfs:comment "triple with IRIs" ;
   mf:action    <turtle-eval-struct-01.ttl> ;
   mf:result    <turtle-eval-struct-01.nt> ;
   .

<#turtle-eval-struct-02> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-eval-struct-02" ;
   rdfs:comment "triple with IRIs and embedded whitespace" ;
   mf:action    <turtle-eval-struct-02.ttl> ;
   mf:result    <turtle-eval-struct-02.nt> ;
   .

<#turtle-subm-01> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-01" ;
   rdfs:comment "Blank subject" ;
   mf:action    <turtle-subm-01.ttl> ;
   mf:result    <turtle-subm-01.nt> ;
   .

<#turtle-subm-02> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-02" ;
   rdfs:comment "@prefix and qnames" ;
   mf:action    <turtle-subm-02.ttl> ;
   mf:result    <turtle-subm-02.nt> ;
   .

<#turtle-subm-03> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-03" ;
   rdfs:comment ", operator" ;
   mf:action    <turtle-subm-03.ttl> ;
   mf:result    <turtle-subm-03.nt> ;
   .

<#turtle-subm-04> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-04" ;
   rdfs:comment "; operator" ;
   mf:action    <turtle-subm-04.ttl> ;
   mf:result    <turtle-subm-04.nt> ;
   .

<#turtle-subm-05> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-05" ;
   rdfs:comment "empty [] as subject and object" ;
   mf:action    <turtle-subm-05.ttl> ;
   mf:result    <turtle-subm-05.nt> ;
   .

<#turtle-subm-06> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-06" ;
   rdfs:comment "non-empty [] as subject and object" ;
   mf:action    <turtle-subm-06.ttl> ;
   mf:result    <turtle-subm-06.nt> ;
   .

<#turtle-subm-07> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-07" ;
   rdfs:comment "'a' as predicate" ;
   mf:action    <turtle-subm-07.ttl> ;
   mf:result    <turtle-subm-07.nt> ;
   .

<#turtle-subm-08> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-08" ;
   rdfs:comment "simple collection" ;
   mf:action    <turtle-subm-08.ttl> ;
   mf:result    <turtle-subm-08.nt> ;
   .

<#turtle-subm-09> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-09" ;
   rdfs:comment "empty collection" ;
   mf:action    <turtle-subm-09.ttl> ;
   mf:result    <turtle-subm-09.nt> ;
   .

<#turtle-subm-10> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-10" ;
   rdfs:comment "integer datatyped literal" ;
   mf:action    <turtle-subm-10.ttl> ;
   mf:result    <turtle-subm-10.nt> ;
   .

<#turtle-subm-11> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-11" ;
   rdfs:comment "decimal integer canonicalization" ;
   mf:action    <turtle-subm-11.ttl> ;
   mf:result    <turtle-subm-11.nt> ;
   .

<#turtle-subm-12> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-12" ;
   rdfs:comment "- and _ in names and qnames" ;
   mf:action    <turtle-subm-12.ttl> ;
   mf:result    <turtle-subm-12.nt> ;
   .

<#turtle-subm-13> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-13" ;
   rdfs:comment "tests for rdf:_<numbers> and other qnames starting with _" ;
   mf:action    <turtle-subm-13.ttl> ;
   mf:result    <turtle-subm-13.nt> ;
   .

<#turtle-subm-14> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-14" ;
   rdfs:comment "bare : allowed" ;
   mf:action    <turtle-subm-14.ttl> ;
   mf:result    <turtle-subm-14.nt> ;
   .

<#turtle-subm-15> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-15" ;
   rdfs:comment "simple long literal" ;
   mf:action    <turtle-subm-15.ttl> ;
   mf:result    <turtle-subm-15.nt> ;
   .

<#turtle-subm-16> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-16" ;
   rdfs:comment "long literals with escapes" ;
   mf:action    <turtle-subm-16.ttl> ;
   mf:result    <turtle-subm-16.nt> ;
   .

<#turtle-subm-17> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-17" ;
   rdfs:comment "floating point number" ;
   mf:action    <turtle-subm-17.ttl> ;
   mf:result    <turtle-subm-17.nt> ;
   .

<#turtle-subm-18> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-18" ;
   rdfs:comment "empty literals, normal and long variant" ;
   mf:action    <turtle-subm-18.ttl> ;
   mf:result    <turtle-subm-18.nt> ;
   .

<#turtle-subm-19> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-19" ;
   rdfs:comment "positive integer, decimal and doubles" ;
   mf:action    <turtle-subm-19.ttl> ;
   mf:result    <turtle-subm-19.nt> ;
   .

<#turtle-subm-20> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-20" ;
   rdfs:comment "negative integer, decimal and doubles" ;
   mf:action    <turtle-subm-20.ttl> ;
   mf:result    <turtle-subm-20.nt> ;
   .

<#turtle-subm-21> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-21" ;
   rdfs:comment "long literal ending in double quote" ;
   mf:action    <turtle-subm-21.ttl> ;
   mf:result    <turtle-subm-21.nt> ;
   .

<#turtle-subm-22> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-22" ;
   rdfs:comment "boolean literals" ;
   mf:action    <turtle-subm-22.ttl> ;
   mf:result    <turtle-subm-22.nt> ;
   .

<#turtle-subm-23> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-23" ;
   rdfs:comment "comments" ;
   mf:action    <turtle-subm-23.ttl> ;
   mf:result    <turtle-subm-23.nt> ;
   .

<#turtle-subm-24> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-24" ;
   rdfs:comment "no final mewline" ;
   mf:action    <turtle-subm-24.ttl> ;
   mf:result    <turtle-subm-24.nt> ;
   .

<#turtle-subm-25> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-25" ;
   rdfs:comment "repeating a @prefix changes pname definition" ;
   mf:action    <turtle-subm-25.ttl> ;
   mf:result    <turtle-subm-25.nt> ;
   .

<#turtle-subm-26> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-26" ;
   rdfs:comment "Variations on decimal canonicalization" ;
   mf:action    <turtle-subm-26.ttl> ;
   mf:result    <turtle-subm-26.nt> ;
   .

<#turtle-subm-27> rdf:type rdft:TestTurtleEval ;
   mf:name    "turtle-subm-27" ;
   rdfs:comment "Repeating @base changes base for relative IRI lookup" ;
   mf:action    <turtle-subm-27.ttl> ;
   mf:result    <turtle-subm-27.nt> ;
   .

<#turtle-eval-bad-01> rdf:type rdft:TestTurtleNegativeEval ;
   mf:name    "turtle-eval-bad-01" ;
   rdfs:comment "Bad IRI : good escape, bad charcater (negative evaluation test)" ;
   mf:action    <turtle-eval-bad-01.ttl> ;
   .

<#turtle-eval-bad-02> rdf:type rdft:TestTurtleNegativeEval ;
   mf:name    "turtle-eval-bad-02" ;
   rdfs:comment "Bad IRI : hex 3C is < (negative evaluation test)" ;
   mf:action    <turtle-eval-bad-02.ttl> ;
   .

<#turtle-eval-bad-03> rdf:type rdft:TestTurtleNegativeEval ;
   mf:name    "turtle-eval-bad-03" ;
   rdfs:comment "Bad IRI : hex 3E is  (negative evaluation test)" ;
   mf:action    <turtle-eval-bad-03.ttl> ;
   .

<#turtle-eval-bad-04> rdf:type rdft:TestTurtleNegativeEval ;
   mf:name    "turtle-eval-bad-04" ;
   rdfs:comment "Bad IRI : {abc} (negative evaluation test)" ;
   mf:action    <turtle-eval-bad-04.ttl> ;
   .

# tests from Dave Beckett
# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c28
<#LITERAL_LONG2_with_REVERSE_SOLIDUS> rdf:type rdft:TestTurtleEval ;
   mf:name    "LITERAL_LONG2_with_REVERSE_SOLIDUS" ;
   rdfs:comment "REVERSE SOLIDUS at end of LITERAL_LONG2" ;
   mf:action    <LITERAL_LONG2_with_REVERSE_SOLIDUS.ttl> ;
   mf:result    <LITERAL_LONG2_with_REVERSE_SOLIDUS.nt> ;
   .

<#turtle-syntax-bad-LITERAL2_with_langtag_and_datatype> rdf:type rdft:TestTurtleNegativeSyntax ;
   mf:name    "turtle-syntax-bad-num-05" ;
   rdfs:comment "Bad number format (negative test)" ;
   mf:action    <turtle-syntax-bad-LITERAL2_with_langtag_and_datatype.ttl> ;
   .

<#two_LITERAL_LONG2s> rdf:type rdft:TestTurtleEval ;
   mf:name    "two_LITERAL_LONG2s" ;
   rdfs:comment "two LITERAL_LONG2s testing quote delimiter overrun" ;
   mf:action    <two_LITERAL_LONG2s.ttl> ;
   mf:result    <two_LITERAL_LONG2s.nt> ;
   .

<#langtagged_LONG_with_subtag> rdf:type rdft:TestTurtleEval ;
   mf:name      "langtagged_LONG_with_subtag" ;
   rdfs:comment "langtagged LONG with subtag \"\"\"Cheers\"\"\"@en-UK" ;
   mf:action    <langtagged_LONG_with_subtag.ttl> ;
   mf:result    <langtagged_LONG_with_subtag.nt> ;
   .

# tests from David Robillard
# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c21
<#turtle-syntax-bad-blank-label-dot-end>
	rdf:type rdft:TestTurtleNegativeSyntax ;
	rdfs:comment "Blank node label must not end in dot" ;
	mf:name "turtle-syntax-bad-blank-label-dot-end" ;
	mf:action <turtle-syntax-bad-blank-label-dot-end.ttl> .

<#turtle-syntax-bad-number-dot-in-anon>
	rdf:type rdft:TestTurtleNegativeSyntax ;
	rdfs:comment "Dot delimeter may not appear in anonymous nodes" ;
	mf:name "turtle-syntax-bad-number-dot-in-anon" ;
	mf:action <turtle-syntax-bad-number-dot-in-anon.ttl> .

<#turtle-syntax-bad-ln-dash-start>
	rdf:type rdft:TestTurtleNegativeSyntax ;
	rdfs:comment "Local name must not begin with dash" ;
	mf:name "turtle-syntax-bad-ln-dash-start" ;
	mf:action <turtle-syntax-bad-ln-dash-start.ttl> .

<#turtle-syntax-bad-ln-escape>
	rdf:type rdft:TestTurtleNegativeSyntax ;
	rdfs:comment "Bad hex escape in local name" ;
	mf:name "turtle-syntax-bad-ln-escape" ;
	mf:action <turtle-syntax-bad-ln-escape.ttl> .

<#turtle-syntax-bad-ln-escape-start>
	rdf:type rdft:TestTurtleNegativeSyntax ;
	rdfs:comment "Bad hex escape at start of local name" ;
	mf:name "turtle-syntax-bad-ln-escape-start" ;
	mf:action <turtle-syntax-bad-ln-escape-start.ttl> .

<#turtle-syntax-bad-ns-dot-end>
	rdf:type rdft:TestTurtleNegativeSyntax ;
	rdfs:comment "Prefix must not end in dot" ;
	mf:name "turtle-syntax-bad-ns-dot-end" ;
	mf:action <turtle-syntax-bad-ns-dot-end.ttl> .

<#turtle-syntax-bad-ns-dot-start>
	rdf:type rdft:TestTurtleNegativeSyntax ;
	rdfs:comment "Prefix must not start with dot" ;
	mf:name "turtle-syntax-bad-ns-dot-start" ;
	mf:action <turtle-syntax-bad-ns-dot-start.ttl> .

<#turtle-syntax-bad-missing-ns-dot-end>
	rdf:type rdft:TestTurtleNegativeSyntax ;
	rdfs:comment "Prefix must not end in dot (error in triple, not prefix directive like turtle-syntax-bad-ns-dot-end)" ;
	mf:name "turtle-syntax-bad-missing-ns-dot-end" ;
	mf:action <turtle-syntax-bad-missing-ns-dot-end.ttl> .

<#turtle-syntax-bad-missing-ns-dot-start>
	rdf:type rdft:TestTurtleNegativeSyntax ;
	rdfs:comment "Prefix must not start with dot (error in triple, not prefix directive like turtle-syntax-bad-ns-dot-end)" ;
	mf:name "turtle-syntax-bad-missing-ns-dot-start" ;
	mf:action <turtle-syntax-bad-missing-ns-dot-start.ttl> .

<#turtle-syntax-ln-dots>
	rdf:type rdft:TestTurtlePositiveSyntax ;
	rdfs:comment "Dots in pname local names" ;
	mf:name "turtle-syntax-ln-dots" ;
	mf:action <turtle-syntax-ln-dots.ttl> .

<#turtle-syntax-ln-colons>
	rdf:type rdft:TestTurtlePositiveSyntax ;
	rdfs:comment "Colons in pname local names" ;
	mf:name "turtle-syntax-ln-colons" ;
	mf:action <turtle-syntax-ln-colons.ttl> .

<#turtle-syntax-ns-dots>
	rdf:type rdft:TestTurtlePositiveSyntax ;
	rdfs:comment "Dots in namespace names" ;
	mf:name "turtle-syntax-ns-dots" ;
	mf:action <turtle-syntax-ns-dots.ttl> .

<#turtle-syntax-blank-label>
	rdf:type rdft:TestTurtlePositiveSyntax ;
	rdfs:comment "Characters allowed in blank node labels" ;
	mf:name "turtle-syntax-blank-label" ;
	mf:action <turtle-syntax-blank-label.ttl> .
