Abstract

This document report test subject conformance for and related specifications for Turtle [TURTLE] according to the requirements of the Evaluation and Report Language (EARL) 1.0 Schema [EARL10-SCHEMA].

This report is also available in alternate formats: Turtle and JSON-LD

See also the Implementation report for PR transition (a step in the W3C Process ).

Status of This Document

This document is merely a public working draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organisation.

Table of Contents

1. Instructions for submitting implementation reports

Tests should be run using the test manifests defined in the Test Manifests Section.

The assumed base URI for the tests is <http://example/base/> if needed.

Reports should be submitted in Turtle format to public-rdf-comments@w3.org and include an earl:Assertion for each test, referencing the test resource from the associated manifest and the test subject being reported upon. An example test entry is be the following:

  [ a earl:Assertion;
    earl:assertedBy <http://greggkellogg.net/foaf#me>;
    earl:subject <http://rubygems.org/gems/rdf-turtle>;
    earl:test <http://www.w3.org/2013/TurtleTests/manifest.ttl#turtle-syntax-file-01>;
    earl:result [
      a earl:TestResult;
      earl:outcome earl:passed;
      dc:date "2013-02-22T15:12:30-08:00"^^xsd:dateTime];
    earl:mode earl:automatic ] .

The Test Subject should be defined as a doap:Project, including the name, homepage and developer(s) of the software (see [DOAP]). Optionally, including the project description and programming language. An example test subject description is the following:

  <> foaf:primaryTopic <http://rubygems.org/gems/rdf-turtle>
    dc:issued "2013-06-18T17:30:22-07:00"^^xsd:dateTime ;
    foaf:maker <http://greggkellogg.net/foaf#me> .

  <http://rubygems.org/gems/rdf-turtle> a doap:Project, earl:TestSubject, earl:Software ;
    doap:name          "RDF::Turtle" ;
    doap:homepage      <http://ruby-rdf.github.com/rdf-turtle> ;
    doap:license       <http://creativecommons.org/licenses/publicdomain/> ;
    doap:description   "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ;
    doap:created       "2011-08-29"^^xsd:date ;
    doap:programming-language "Ruby" ;
    doap:implements    <http://www.w3.org/TR/turtle/> ;
    doap:category      <http://dbpedia.org/resource/Resource_Description_Framework>,
                       <http://dbpedia.org/resource/Ruby_(programming_language)> ;
    doap:developer     <http://greggkellogg.net/foaf#me> ;
    dc:title           "RDF::Turtle" ;
    dc:description     "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ;
    dc:date            "2011-08-29"^^xsd:date ;
    .

The software developer, either an organization or one or more individuals SHOULD be referenced from doap:developer using [FOAF]. For example:

  <http://greggkellogg.net/foaf#me> a foaf:Person, earl:Assertor;
    foaf:name "Gregg Kellogg";
    foaf:title "Implementor";
    foaf:homepage <http://greggkellogg.net/> .

See Turtle Test Suite Wiki for more information.

2. Test Manifests

2.1 Turtle tests

Test Serd EYE Apache Jena RIOT RDF::Trine Raptor Wesin RDF::Turtle SWObjects dotNetRDF Green Turtle Chelona rdflib N3.js Turtle Parser
IRI_subject PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
IRI_with_four_digit_numeric_escape PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
IRI_with_eight_digit_numeric_escape PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
IRI_with_all_punctuation PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
bareword_a_predicate PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
old_style_prefix PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
SPARQL_style_prefix UNTESTED PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
prefixed_IRI_predicate PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
prefixed_IRI_object PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
prefix_only_IRI PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
prefix_with_PN_CHARS_BASE_character_boundaries PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
prefix_with_non_leading_extras PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
default_namespace_IRI PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
prefix_reassigned_and_used PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
reserved_escaped_localName PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
percent_escaped_localName PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
HYPHEN_MINUS_in_localName PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
underscore_in_localName PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
localname_with_COLON PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
localName_with_nfc_PN_CHARS_BASE_character_boundaries PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
localName_with_leading_underscore PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
localName_with_leading_digit PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
localName_with_non_leading_extras PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
old_style_base PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
SPARQL_style_base UNTESTED PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
labeled_blank_node_subject PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
labeled_blank_node_object PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
labeled_blank_node_with_PN_CHARS_BASE_character_boundaries PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
labeled_blank_node_with_leading_underscore PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
labeled_blank_node_with_leading_digit PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
labeled_blank_node_with_non_leading_extras PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
anonymous_blank_node_subject PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
anonymous_blank_node_object PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
sole_blankNodePropertyList PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
blankNodePropertyList_as_subject PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
blankNodePropertyList_as_object PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
blankNodePropertyList_with_multiple_triples PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
nested_blankNodePropertyLists PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
blankNodePropertyList_containing_collection PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
collection_subject PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
collection_object PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
empty_collection PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
nested_collection PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
first PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
last PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL1 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL1_ascii_boundaries PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL1_with_UTF8_boundaries PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL1_all_controls PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL1_all_punctuation PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL_LONG1 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL_LONG1_ascii_boundaries PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL_LONG1_with_UTF8_boundaries PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL_LONG1_with_1_squote PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL_LONG1_with_2_squotes PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL2 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL2_ascii_boundaries PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL2_with_UTF8_boundaries PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL_LONG2 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL_LONG2_ascii_boundaries PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL_LONG2_with_UTF8_boundaries PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL_LONG2_with_1_squote PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
LITERAL_LONG2_with_2_squotes PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_with_CHARACTER_TABULATION PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_with_BACKSPACE PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_with_LINE_FEED PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_with_CARRIAGE_RETURN PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_with_FORM_FEED PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_with_REVERSE_SOLIDUS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_with_escaped_CHARACTER_TABULATION PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_with_escaped_BACKSPACE PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_with_escaped_LINE_FEED PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_with_escaped_CARRIAGE_RETURN PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_with_escaped_FORM_FEED PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_with_numeric_escape4 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_with_numeric_escape8 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
IRIREF_datatype PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
prefixed_name_datatype PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
bareword_integer PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
bareword_decimal PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
bareword_double PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
double_lower_case_e PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
negative_numeric PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
positive_numeric PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
numeric_with_leading_0 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_true PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
literal_false PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
langtagged_non_LONG PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
langtagged_LONG PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
lantag_with_subtag PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
objectList_with_two_objects PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
predicateObjectList_with_two_objectLists PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
repeated_semis_at_end PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
repeated_semis_not_at_end PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
comment_following_localName PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS UNTESTED PASS PASS
number_sign_following_localName PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS UNTESTED PASS PASS
comment_following_PNAME_NS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS UNTESTED PASS PASS
number_sign_following_PNAME_NS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS UNTESTED PASS PASS
LITERAL_LONG2_with_REVERSE_SOLIDUS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-num-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
two_LITERAL_LONG2s PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
langtagged_LONG_with_subtag PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-file-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-file-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-file-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-uri-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-uri-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-uri-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-uri-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-base-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-base-02 UNTESTED PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-base-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-base-04 UNTESTED PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-prefix-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-prefix-02 UNTESTED PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-prefix-03 UNTESTED PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-prefix-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-prefix-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-prefix-06 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-prefix-07 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-prefix-08 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-prefix-09 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-string-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-string-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-string-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-string-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-string-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-string-06 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-string-07 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-string-08 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-string-09 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-string-10 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-string-11 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-str-esc-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-str-esc-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-str-esc-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-pname-esc-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-pname-esc-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-pname-esc-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bnode-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bnode-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bnode-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bnode-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bnode-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bnode-06 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bnode-07 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bnode-08 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bnode-09 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bnode-10 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-number-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-number-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-number-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-number-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-number-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-number-06 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-number-07 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-number-08 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-number-09 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-number-10 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-number-11 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-datatypes-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-datatypes-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-kw-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-kw-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-kw-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-struct-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-struct-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-struct-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-struct-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-struct-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-lists-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-lists-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-lists-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-lists-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-lists-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-uri-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-uri-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-uri-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-uri-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-uri-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-prefix-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-prefix-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-prefix-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-prefix-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-prefix-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-base-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-base-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-base-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-06 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-07 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-kw-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-kw-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-kw-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-kw-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-kw-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-n3-extras-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-n3-extras-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-n3-extras-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-n3-extras-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-n3-extras-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-n3-extras-06 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-n3-extras-07 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-n3-extras-08 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-n3-extras-09 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-n3-extras-10 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-n3-extras-11 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-n3-extras-12 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-n3-extras-13 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-08 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-09 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-10 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-11 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-12 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-13 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-14 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-15 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-16 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-struct-17 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-lang-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-esc-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-esc-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-esc-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-esc-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-pname-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-pname-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-pname-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-string-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-string-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-string-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-string-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-string-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-string-06 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-string-07 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-num-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-num-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-num-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-num-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-num-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-eval-struct-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-eval-struct-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-05 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-06 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-07 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-08 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-09 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-10 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-11 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-12 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-13 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-14 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-15 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-16 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-17 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-18 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-19 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-20 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-21 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-22 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-23 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-24 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-25 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-26 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-subm-27 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-eval-bad-01 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-eval-bad-02 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-eval-bad-03 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-eval-bad-04 PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-blank-label-dot-end PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-ln-dash-start PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-ln-escape-start PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-ln-escape PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-missing-ns-dot-end PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-missing-ns-dot-start PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-ns-dot-end PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-ns-dot-start PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-bad-number-dot-in-anon PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-blank-label PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-ln-colons PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-ln-dots PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
turtle-syntax-ns-dots PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS PASS
Percentage passed out of 291 Tests 97.9% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 98.6% 100.0% 100.0%

A. Test Subjects

This report was tested using the following test subjects:

Serd
Description
Serd is a lightweight high-performance C library for reading and writing RDF in the Turtle and NTriples syntaxes.
Programming Language
C
Home Page
http://drobilla.net/software/serd
Developer
Test Suite Compliance
285/291 (97.9%)
EYE
Programming Language
Prolog
Home Page
http://eulersharp.sourceforge.net/
Developer
Home Page
http://www.agfa.com/w3c/jdroo/
Test Suite Compliance
291/291 (100.0%)
Apache Jena RIOT
Description
Apache Jena provides a complete framework for building Semantic Web and Linked Data applications in Java, and provides: parsers for RDF/XML, Turtle and N-triples; a Java programming API; a complete implementation of the SPARQL query language; a rule-based inference engine for RDFS and OWL entailments; TDB (a non-SQL persistent triple store); SDB (a persistent triples store built on a relational store) and Fuseki, an RDF server using web protocols. Jena complies with all relevant recommendations for RDF and related technologies from the W3C.
Programming Language
Java
Home Page
http://jena.apache.org/
Developer
Rob Vesse
Paolo Castagna
Chris Dollin
Stephen Allen
Ian Dickinson
Damian Steer
Andy Seaborne
Claude Warren
Dave Reynolds
Test Suite Compliance
291/291 (100.0%)
RDF::Trine
Programming Language
perl
Developer
Gregory Todd Williams
Home Page
http://kasei.us/
Test Suite Compliance
291/291 (100.0%)
Raptor
Programming Language
C
Home Page
http://librdf.org/raptor/
Developer
Dave Beckett
Home Page
http://www.dajobe.org/
Test Suite Compliance
291/291 (100.0%)
Wesin
Programming Language
Scala
Home Page
http://purl.org/weso/wesin
Developer
Jose Emilio Labra Gayo
Home Page
http://www.di.uniovi.es/~labra
Test Suite Compliance
291/291 (100.0%)
RDF::Turtle
Description
RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite.
Programming Language
Ruby
Home Page
http://ruby-rdf.github.com/rdf-turtle
Developer
Gregg Kellogg
Home Page
http://greggkellogg.net/
Test Suite Compliance
291/291 (100.0%)
SWObjects
Home Page
http://swobjects.org/
Developer
Eric Prud'hommeaux
Home Page
http://www.w3.org/People/Eric/
Test Suite Compliance
291/291 (100.0%)
dotNetRDF
Description
dotNetRDF is a powerful and flexible API for working with RDF and SPARQL in .Net environments. It supports most common RDF formats and provides a fully compliant SPARQL 1.1 engine.
Programming Language
C# .Net
Home Page
http://www.dotnetrdf.org
Developer
Rob Vesse
Tomasz Pluskiewicz
Graham Moore
Khalil Ahmed
Ron Michael Zettlemoyer
Test Suite Compliance
291/291 (100.0%)
Green Turtle
Programming Language
Javascript
Home Page
https://code.google.com/p/green-turtle/
Developer
Alex Milowski
Home Page
http://www.milowski.com/
Test Suite Compliance
291/291 (100.0%)
Chelona
Description
Cheló̱na is a reader / writer for the W3C RDF 1.1 Turtle Languagen written in Scala.
Programming Language
Scala
Home Page
https://github.com/JuPfu/chelona
Developer
Jürgen Pfundt
Test Suite Compliance
291/291 (100.0%)
rdflib
Home Page
https://github.com/RDFLib/rdflib
Developer
Gunnar Aastrand Grimnes
Home Page
http://gromgull.net
Test Suite Compliance
287/291 (98.6%)
N3.js
Description
N3.js is an asynchronous, streaming RDF parser for JavaScript.
Programming Language
JavaScript
Home Page
https://github.com/RubenVerborgh/N3.js
Developer
Ruben Verborgh
Home Page
http://ruben.verborgh.org/
Test Suite Compliance
291/291 (100.0%)
Turtle Parser
Description
A Turtle parser for Java.
Programming Language
Java
Home Page
https://github.com/peteroupc/TurtleParserJava
Developer
Peter Occil
Home Page
http://upokecenter.com/
Test Suite Compliance
291/291 (100.0%)

B. Individual Test Results

Individual test results used to construct this report are available here:

C. Test Definitions

Test IRI_subject

IRI subject

Example 1: IRI_subject Input
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Example 2: IRI_subject Result
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Test IRI_with_four_digit_numeric_escape

IRI with four digit numeric escape (\u)

Example 3: IRI_with_four_digit_numeric_escape Input
<http://a.example/\u0073> <http://a.example/p> <http://a.example/o> .
Example 4: IRI_with_four_digit_numeric_escape Result
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Test IRI_with_eight_digit_numeric_escape

IRI with eight digit numeric escape (\U)

Example 5: IRI_with_eight_digit_numeric_escape Input
<http://a.example/\U00000073> <http://a.example/p> <http://a.example/o> .
Example 6: IRI_with_eight_digit_numeric_escape Result
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Test IRI_with_all_punctuation

IRI with all punctuation

Example 7: IRI_with_all_punctuation Input
<scheme:!$%25&amp;'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> <http://a.example/p> <http://a.example/o> .
Example 8: IRI_with_all_punctuation Result
<scheme:!$%25&amp;'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> <http://a.example/p> <http://a.example/o> .
Test bareword_a_predicate

bareword a predicate

Example 9: bareword_a_predicate Input
<http://a.example/s> a <http://a.example/o> .
Example 10: bareword_a_predicate Result
<http://a.example/s> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://a.example/o> .
Test old_style_prefix

old-style prefix

Example 11: old_style_prefix Input
@prefix p: <http://a.example/>.
p:s <http://a.example/p> <http://a.example/o> .
Example 12: old_style_prefix Result
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Test SPARQL_style_prefix

SPARQL-style prefix

Example 13: SPARQL_style_prefix Input
PREFIX p: <http://a.example/>
p:s <http://a.example/p> <http://a.example/o> .
Example 14: SPARQL_style_prefix Result
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Test prefixed_IRI_predicate

prefixed IRI predicate

Example 15: prefixed_IRI_predicate Input
@prefix p: <http://a.example/>.
<http://a.example/s> p:p <http://a.example/o> .
Example 16: prefixed_IRI_predicate Result
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Test prefixed_IRI_object

prefixed IRI object

Example 17: prefixed_IRI_object Input
@prefix p: <http://a.example/>.
<http://a.example/s> <http://a.example/p> p:o .
Example 18: prefixed_IRI_object Result
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Test prefix_only_IRI

prefix-only IRI (p:)

Example 19: prefix_only_IRI Input
@prefix p: <http://a.example/s>.
p: <http://a.example/p> <http://a.example/o> .
Example 20: prefix_only_IRI Result
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Test prefix_with_PN_CHARS_BASE_character_boundaries

prefix with PN CHARS BASE character boundaries (prefix: AZazÀÖØöø...:)

Example 21: prefix_with_PN_CHARS_BASE_character_boundaries Input
@prefix AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽: <http://a.example/> .
<http://a.example/s> <http://a.example/p> AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽:o .
Example 22: prefix_with_PN_CHARS_BASE_character_boundaries Result
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Test prefix_with_non_leading_extras

prefix with_non_leading_extras (_:a·̀ͯ‿.⁀)

Example 23: prefix_with_non_leading_extras Input
@prefix a·̀ͯ‿.⁀: <http://a.example/>.
a·̀ͯ‿.⁀:s <http://a.example/p> <http://a.example/o> .
Example 24: prefix_with_non_leading_extras Result
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Test default_namespace_IRI

default namespace IRI (:ln)

Example 25: default_namespace_IRI Input
@prefix : <http://a.example/>.
:s <http://a.example/p> <http://a.example/o> .
Example 26: default_namespace_IRI Result
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Test prefix_reassigned_and_used

prefix reassigned and used

Example 27: prefix_reassigned_and_used Input
@prefix p: <http://a.example/>.
@prefix p: <http://b.example/>.
p:s <http://a.example/p> <http://a.example/o> .
Example 28: prefix_reassigned_and_used Result
<http://b.example/s> <http://a.example/p> <http://a.example/o> .
Test reserved_escaped_localName

reserved-escaped local name

Example 29: reserved_escaped_localName Input
@prefix p: <http://a.example/>.
p:\_\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\%00 <http://a.example/p> <http://a.example/o> .
Example 30: reserved_escaped_localName Result
<http://a.example/_~.-!$&'()*+,;=/?#@%00> <http://a.example/p> <http://a.example/o> .
Test percent_escaped_localName

percent-escaped local name

Example 31: percent_escaped_localName Input
@prefix p: <http://a.example/>.
p:%25 <http://a.example/p> <http://a.example/o> .
Example 32: percent_escaped_localName Result
<http://a.example/%25> <http://a.example/p> <http://a.example/o> .
Test HYPHEN_MINUS_in_localName

HYPHEN-MINUS in local name

Example 33: HYPHEN_MINUS_in_localName Input
@prefix p: <http://a.example/>.
p:s- <http://a.example/p> <http://a.example/o> .
Example 34: HYPHEN_MINUS_in_localName Result
<http://a.example/s-> <http://a.example/p> <http://a.example/o> .
Test underscore_in_localName

underscore in local name

Example 35: underscore_in_localName Input
@prefix p: <http://a.example/>.
p:s_ <http://a.example/p> <http://a.example/o> .
Example 36: underscore_in_localName Result
<http://a.example/s_> <http://a.example/p> <http://a.example/o> .
Test localname_with_COLON

localname with COLON

Example 37: localname_with_COLON Input
@prefix p: <http://a.example/>.
p:s: <http://a.example/p> <http://a.example/o> .
Example 38: localname_with_COLON Result
<http://a.example/s:> <http://a.example/p> <http://a.example/o> .
Test localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries

localName with assigned, NFC-normalized, basic-multilingual-plane PN CHARS BASE character boundaries (p:AZazÀÖØöø...)

Example 39: localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries Input
@prefix p: <http://a.example/> .
<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿Ͱͽ΄῾‌‍⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ￯ .
Example 40: localName_with_assigned_nfc_bmp_PN_CHARS_BASE_character_boundaries Result
<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00C0\u00D6\u00D8\u00F6\u00F8\u02FF\u0370\u037D\u0384\u1FFE\u200C\u200D\u2070\u2189\u2C00\u2FD5\u3001\uD7FB\uFA0E\uFDC7\uFDF0\uFFEF> .
Test localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries

localName with assigned, NFC-normalized PN CHARS BASE character boundaries (p:AZazÀÖØöø...)

Example 41: localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries Input
@prefix p: <http://a.example/> .
<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿Ͱͽ΄῾‌‍⁰↉Ⰰ⿕、ퟻ﨎ﷇﷰ￯𐀀󠇯 .
Example 42: localName_with_assigned_nfc_PN_CHARS_BASE_character_boundaries Result
<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00C0\u00D6\u00D8\u00F6\u00F8\u02FF\u0370\u037D\u0384\u1FFE\u200C\u200D\u2070\u2189\u2C00\u2FD5\u3001\uD7FB\uFA0E\uFDC7\uFDF0\uFFEF\U00010000\U000E01EF> .
Test localName_with_nfc_PN_CHARS_BASE_character_boundaries

localName with nfc-normalize PN CHARS BASE character boundaries (p:AZazÀÖØöø...)

Example 43: localName_with_nfc_PN_CHARS_BASE_character_boundaries Input
@prefix p: <http://a.example/> .
<http://a.example/s> <http://a.example/p> p:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿﨎﷏ﷰ￯𐀀󯿽 .
Example 44: localName_with_nfc_PN_CHARS_BASE_character_boundaries Result
<http://a.example/s> <http://a.example/p> <http://a.example/AZaz\u00C0\u00D6\u00D8\u00F6\u00F8\u02FF\u0370\u037D\u037F\u1FFF\u200C\u200D\u2070\u218F\u2C00\u2FEF\u3001\uD7FF\uFA0E\uFDCF\uFDF0\uFFEF\U00010000\U000EFFFD> .
Test localName_with_leading_underscore

localName with leading underscore (p:_)

Example 45: localName_with_leading_underscore Input
@prefix p: <http://a.example/>.
p:_ <http://a.example/p> <http://a.example/o> .
Example 46: localName_with_leading_underscore Result
<http://a.example/_> <http://a.example/p> <http://a.example/o> .
Test localName_with_leading_digit

localName with leading digit (p:_)

Example 47: localName_with_leading_digit Input
@prefix p: <http://a.example/>.
p:0 <http://a.example/p> <http://a.example/o> .
Example 48: localName_with_leading_digit Result
<http://a.example/0> <http://a.example/p> <http://a.example/o> .
Test localName_with_non_leading_extras

localName with_non_leading_extras (_:a·̀ͯ‿.⁀)

Example 49: localName_with_non_leading_extras Input
@prefix p: <http://a.example/>.
p:a·̀ͯ‿.⁀ <http://a.example/p> <http://a.example/o> .
Example 50: localName_with_non_leading_extras Result
<http://a.example/a\u00b7\u0300\u036f\u203f\u002e\u2040> <http://a.example/p> <http://a.example/o> .
Test old_style_base

old-style base

Example 51: old_style_base Input
@base <http://a.example/>.
<s> <http://a.example/p> <http://a.example/o> .
Example 52: old_style_base Result
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Test SPARQL_style_base

SPARQL-style base

Example 53: SPARQL_style_base Input
BASE <http://a.example/>
<s> <http://a.example/p> <http://a.example/o> .
Example 54: SPARQL_style_base Result
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Test labeled_blank_node_subject

labeled blank node subject

Example 55: labeled_blank_node_subject Input
_:s <http://a.example/p> <http://a.example/o> .
Example 56: labeled_blank_node_subject Result
_:b1 <http://a.example/p> <http://a.example/o> .
Test labeled_blank_node_object

labeled blank node object

Example 57: labeled_blank_node_object Input
<http://a.example/s> <http://a.example/p> _:o .
Example 58: labeled_blank_node_object Result
<http://a.example/s> <http://a.example/p> _:b1 .
Test labeled_blank_node_with_PN_CHARS_BASE_character_boundaries

labeled blank node with PN_CHARS_BASE character boundaries (_:AZazÀÖØöø...)

Example 59: labeled_blank_node_with_PN_CHARS_BASE_character_boundaries Input
<http://a.example/s> <http://a.example/p> _:AZazÀÖØöø˿ͰͽͿ῿‌‍⁰↏Ⰰ⿯、퟿豈﷏ﷰ�𐀀󯿽 .
Example 60: labeled_blank_node_with_PN_CHARS_BASE_character_boundaries Result
<http://a.example/s> <http://a.example/p> _:b1 .
Test labeled_blank_node_with_leading_underscore

labeled blank node with_leading_underscore (_:_)

Example 61: labeled_blank_node_with_leading_underscore Input
<http://a.example/s> <http://a.example/p> _:_ .
Example 62: labeled_blank_node_with_leading_underscore Result
<http://a.example/s> <http://a.example/p> _:b1 .
Test labeled_blank_node_with_leading_digit

labeled blank node with_leading_digit (_:0)

Example 63: labeled_blank_node_with_leading_digit Input
<http://a.example/s> <http://a.example/p> _:0 .
Example 64: labeled_blank_node_with_leading_digit Result
<http://a.example/s> <http://a.example/p> _:b1 .
Test labeled_blank_node_with_non_leading_extras

labeled blank node with_non_leading_extras (_:a·̀ͯ‿.⁀)

Example 65: labeled_blank_node_with_non_leading_extras Input
<http://a.example/s> <http://a.example/p> _:a·̀ͯ‿.⁀ .
Example 66: labeled_blank_node_with_non_leading_extras Result
<http://a.example/s> <http://a.example/p> _:b1 .
Test anonymous_blank_node_subject

anonymous blank node subject

Example 67: anonymous_blank_node_subject Input
[] <http://a.example/p> <http://a.example/o> .
Example 68: anonymous_blank_node_subject Result
_:b1 <http://a.example/p> <http://a.example/o> .
Test anonymous_blank_node_object

anonymous blank node object

Example 69: anonymous_blank_node_object Input
<http://a.example/s> <http://a.example/p> [] .
Example 70: anonymous_blank_node_object Result
<http://a.example/s> <http://a.example/p> _:b1 .
Test sole_blankNodePropertyList

sole blankNodePropertyList [ <p> <o> ] .

Example 71: sole_blankNodePropertyList Input
[ <http://a.example/p> <http://a.example/o> ] .
Example 72: sole_blankNodePropertyList Result
_:b1 <http://a.example/p> <http://a.example/o> .
Test blankNodePropertyList_as_subject

blankNodePropertyList as subject [ … ] <p> <o> .

Example 73: blankNodePropertyList_as_subject Input
[ <http://a.example/p> <http://a.example/o> ] <http://a.example/p2> <http://a.example/o2> .
Example 74: blankNodePropertyList_as_subject Result
_:b1 <http://a.example/p> <http://a.example/o> .
_:b1 <http://a.example/p2> <http://a.example/o2> .
Test blankNodePropertyList_as_object

blankNodePropertyList as object <s> <p> [ … ] .

Example 75: blankNodePropertyList_as_object Input
<http://a.example/s> <http://a.example/p> [ <http://a.example/p2> <http://a.example/o2> ] .
Example 76: blankNodePropertyList_as_object Result
<http://a.example/s> <http://a.example/p> _:b1 .
_:b1 <http://a.example/p2> <http://a.example/o2> .
Test blankNodePropertyList_with_multiple_triples

blankNodePropertyList with multiple triples [ <s> <p> ; <s2> <p2> ]

Example 77: blankNodePropertyList_with_multiple_triples Input
[ <http://a.example/p1> <http://a.example/o1> ; <http://a.example/p2> <http://a.example/o2> ] <http://a.example/p> <http://a.example/o> .
Example 78: blankNodePropertyList_with_multiple_triples Result
_:b1 <http://a.example/p1> <http://a.example/o1> .
_:b1 <http://a.example/p2> <http://a.example/o2> .
_:b1 <http://a.example/p> <http://a.example/o> .
Test nested_blankNodePropertyLists

nested blankNodePropertyLists [ <p1> [ <p2> <o2> ] ; <p3> <o3> ]

Example 79: nested_blankNodePropertyLists Input
[ <http://a.example/p1> [ <http://a.example/p2> <http://a.example/o2> ] ; <http://a.example/p> <http://a.example/o> ].
Example 80: nested_blankNodePropertyLists Result
_:b1 <http://a.example/p1> _:b2 .
_:b2 <http://a.example/p2> <http://a.example/o2> .
_:b1 <http://a.example/p> <http://a.example/o> .
Test blankNodePropertyList_containing_collection

blankNodePropertyList containing collection [ <p1> ( … ) ]

Example 81: blankNodePropertyList_containing_collection Input
[ <http://a.example/p1> (1) ] .
Example 82: blankNodePropertyList_containing_collection Result
_:b1 <http://a.example/p1> _:el1 .
_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
Test collection_subject

collection subject

Example 83: collection_subject Input
(1) <http://a.example/p> <http://a.example/o> .
Example 84: collection_subject Result
_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:el1 <http://a.example/p> <http://a.example/o> .
Test collection_object

collection object

Example 85: collection_object Input
<http://a.example/s> <http://a.example/p> (1) .
Example 86: collection_object Result
<http://a.example/s> <http://a.example/p> _:el1 .
_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:el1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
Test empty_collection

empty collection ()

Example 87: empty_collection Input
<http://a.example/s> <http://a.example/p> () .
Example 88: empty_collection Result
<http://a.example/s> <http://a.example/p> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
Test nested_collection

nested collection (())

Example 89: nested_collection Input
<http://a.example/s> <http://a.example/p> ((1)) .
Example 90: nested_collection Result
<http://a.example/s> <http://a.example/p> _:outerEl1 .
_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl1 .
_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
Test first

first, not last, non-empty nested collection

Example 91: first Input
<http://a.example/s> <http://a.example/p> ((1) 2) .
Example 92: first Result
<http://a.example/s> <http://a.example/p> _:outerEl1 .
_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl1 .
_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:outerEl2 .
_:outerEl2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:outerEl2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
Test last

last, not first, non-empty nested collection

Example 93: last Input
<http://a.example/s> <http://a.example/p> (1 (2)) .
Example 94: last Result
<http://a.example/s> <http://a.example/p> _:outerEl1 .
_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:outerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:outerEl2 .
_:outerEl2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> _:innerEl1 .
_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:innerEl1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:outerEl2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
Test LITERAL1

LITERAL1 'x'

Example 95: LITERAL1 Input
<http://a.example/s> <http://a.example/p> 'x' .
Example 96: LITERAL1 Result
<http://a.example/s> <http://a.example/p> "x" .
Test LITERAL1_ascii_boundaries

LITERAL1_ascii_boundaries '\x00\x09\x0b\x0c\x0e\x26\x28...'

Example 97: LITERAL1_ascii_boundaries Input
<http://a.example/s> <http://a.example/p> '	&([]' .
Example 98: LITERAL1_ascii_boundaries Result
<http://a.example/s> <http://a.example/p> "\u0000\t\u000B\u000C\u000E&([]\u007F" .
Test LITERAL1_with_UTF8_boundaries

LITERAL1_with_UTF8_boundaries '\x80\x7ff\x800\xfff...'

Example 99: LITERAL1_with_UTF8_boundaries Input
<http://a.example/s> <http://a.example/p> '€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽' .
Example 100: LITERAL1_with_UTF8_boundaries Result
<http://a.example/s> <http://a.example/p> "\u0080\u07FF\u0800\u0FFF\u1000\uCFFF\uD000\uD7FF\uE000\uFFFD\U00010000\U0003FFFD\U00040000\U000FFFFD\U00100000\U0010FFFD" .
Test LITERAL1_all_controls

LITERAL1_all_controls '\x00\x01\x02\x03\x04...'

Example 101: LITERAL1_all_controls Input
<http://a.example/s> <http://a.example/p> '	' .
Example 102: LITERAL1_all_controls Result
<http://a.example/s> <http://a.example/p> "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\t\u000B\u000C\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" .
Test LITERAL1_all_punctuation

LITERAL1_all_punctuation '!"#$%&()...'

Example 103: LITERAL1_all_punctuation Input
<http://a.example/s> <http://a.example/p> ' !"#$%&():;<=>?@[]^_`{|}~' .
Example 104: LITERAL1_all_punctuation Result
<http://a.example/s> <http://a.example/p> " !\"#$%&():;<=>?@[]^_`{|}~" .
Test LITERAL_LONG1

LITERAL_LONG1 '''x'''

Example 105: LITERAL_LONG1 Input
<http://a.example/s> <http://a.example/p> '''x''' .
Example 106: LITERAL_LONG1 Result
<http://a.example/s> <http://a.example/p> "x" .
Test LITERAL_LONG1_ascii_boundaries

LITERAL_LONG1_ascii_boundaries '\x00\x26\x28...'

Example 107: LITERAL_LONG1_ascii_boundaries Input
<http://a.example/s> <http://a.example/p> '&([]' .
Example 108: LITERAL_LONG1_ascii_boundaries Result
<http://a.example/s> <http://a.example/p> "\u0000&([]\u007F" .
Test LITERAL_LONG1_with_UTF8_boundaries

LITERAL_LONG1_with_UTF8_boundaries '\x80\x7ff\x800\xfff...'

Example 109: LITERAL_LONG1_with_UTF8_boundaries Input
<http://a.example/s> <http://a.example/p> '''€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽''' .
Example 110: LITERAL_LONG1_with_UTF8_boundaries Result
<http://a.example/s> <http://a.example/p> "\u0080\u07FF\u0800\u0FFF\u1000\uCFFF\uD000\uD7FF\uE000\uFFFD\U00010000\U0003FFFD\U00040000\U000FFFFD\U00100000\U0010FFFD" .
Test LITERAL_LONG1_with_1_squote

LITERAL_LONG1 with 1 squote '''a'b'''

Example 111: LITERAL_LONG1_with_1_squote Input
<http://a.example/s> <http://a.example/p> '''x'y''' .
Example 112: LITERAL_LONG1_with_1_squote Result
<http://a.example/s> <http://a.example/p> "x'y" .
Test LITERAL_LONG1_with_2_squotes

LITERAL_LONG1 with 2 squotes '''a''b'''

Example 113: LITERAL_LONG1_with_2_squotes Input
<http://a.example/s> <http://a.example/p> '''x''y''' .
Example 114: LITERAL_LONG1_with_2_squotes Result
<http://a.example/s> <http://a.example/p> "x''y" .
Test LITERAL2

LITERAL2 "x"

Example 115: LITERAL2 Input
<http://a.example/s> <http://a.example/p> "x" .
Example 116: LITERAL2 Result
<http://a.example/s> <http://a.example/p> "x" .
Test LITERAL2_ascii_boundaries

LITERAL2_ascii_boundaries '\x00\x09\x0b\x0c\x0e\x21\x23...'

Example 117: LITERAL2_ascii_boundaries Input
<http://a.example/s> <http://a.example/p> "	!#[]" .
Example 118: LITERAL2_ascii_boundaries Result
<http://a.example/s> <http://a.example/p> "\u0000\t\u000B\u000C\u000E!#[]\u007F" .
Test LITERAL2_with_UTF8_boundaries

LITERAL2_with_UTF8_boundaries '\x80\x7ff\x800\xfff...'

Example 119: LITERAL2_with_UTF8_boundaries Input
<http://a.example/s> <http://a.example/p> "€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽" .
Example 120: LITERAL2_with_UTF8_boundaries Result
<http://a.example/s> <http://a.example/p> "\u0080\u07FF\u0800\u0FFF\u1000\uCFFF\uD000\uD7FF\uE000\uFFFD\U00010000\U0003FFFD\U00040000\U000FFFFD\U00100000\U0010FFFD" .
Test LITERAL_LONG2

LITERAL_LONG2 """x"""

Example 121: LITERAL_LONG2 Input
<http://a.example/s> <http://a.example/p> """x""" .
Example 122: LITERAL_LONG2 Result
<http://a.example/s> <http://a.example/p> "x" .
Test LITERAL_LONG2_ascii_boundaries

LITERAL_LONG2_ascii_boundaries '\x00\x21\x23...'

Example 123: LITERAL_LONG2_ascii_boundaries Input
<http://a.example/s> <http://a.example/p> "!#[]" .
Example 124: LITERAL_LONG2_ascii_boundaries Result
<http://a.example/s> <http://a.example/p> "\u0000!#[]\u007F" .
Test LITERAL_LONG2_with_UTF8_boundaries

LITERAL_LONG2_with_UTF8_boundaries '\x80\x7ff\x800\xfff...'

Example 125: LITERAL_LONG2_with_UTF8_boundaries Input
<http://a.example/s> <http://a.example/p> """€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽""" .
Example 126: LITERAL_LONG2_with_UTF8_boundaries Result
<http://a.example/s> <http://a.example/p> "\u0080\u07FF\u0800\u0FFF\u1000\uCFFF\uD000\uD7FF\uE000\uFFFD\U00010000\U0003FFFD\U00040000\U000FFFFD\U00100000\U0010FFFD" .
Test LITERAL_LONG2_with_1_squote

LITERAL_LONG2 with 1 squote """a"b"""

Example 127: LITERAL_LONG2_with_1_squote Input
<http://a.example/s> <http://a.example/p> """x"y""" .
Example 128: LITERAL_LONG2_with_1_squote Result
<http://a.example/s> <http://a.example/p> "x\"y" .
Test LITERAL_LONG2_with_2_squotes

LITERAL_LONG2 with 2 squotes """a""b"""

Example 129: LITERAL_LONG2_with_2_squotes Input
<http://a.example/s> <http://a.example/p> """x""y""" .
Example 130: LITERAL_LONG2_with_2_squotes Result
<http://a.example/s> <http://a.example/p> "x\"\"y" .
Test literal_with_CHARACTER_TABULATION

literal with CHARACTER TABULATION

Example 131: literal_with_CHARACTER_TABULATION Input
<http://a.example/s> <http://a.example/p> '	' .
Example 132: literal_with_CHARACTER_TABULATION Result
<http://a.example/s> <http://a.example/p> "\t" .
Test literal_with_BACKSPACE

literal with BACKSPACE

Example 133: literal_with_BACKSPACE Input
<http://a.example/s> <http://a.example/p> '' .
Example 134: literal_with_BACKSPACE Result
<http://a.example/s> <http://a.example/p> "\u0008" .
Test literal_with_LINE_FEED

literal with LINE FEED

Example 135: literal_with_LINE_FEED Input
<http://a.example/s> <http://a.example/p> '''
''' .
Example 136: literal_with_LINE_FEED Result
<http://a.example/s> <http://a.example/p> "\n" .
Test literal_with_CARRIAGE_RETURN

literal with CARRIAGE RETURN

Example 137: literal_with_CARRIAGE_RETURN Input
<http://a.example/s> <http://a.example/p> '''
''' .
Example 138: literal_with_CARRIAGE_RETURN Result
<http://a.example/s> <http://a.example/p> "\r" .
Test literal_with_FORM_FEED

literal with FORM FEED

Example 139: literal_with_FORM_FEED Input
<http://a.example/s> <http://a.example/p> '' .
Example 140: literal_with_FORM_FEED Result
<http://a.example/s> <http://a.example/p> "\u000C" .
Test literal_with_REVERSE_SOLIDUS

literal with REVERSE SOLIDUS

Example 141: literal_with_REVERSE_SOLIDUS Input
<http://a.example/s> <http://a.example/p> '\\' .
Example 142: literal_with_REVERSE_SOLIDUS Result
<http://a.example/s> <http://a.example/p> "\\" .
Test literal_with_escaped_CHARACTER_TABULATION

literal with escaped CHARACTER TABULATION

Example 143: literal_with_escaped_CHARACTER_TABULATION Input
<http://a.example/s> <http://a.example/p> '\t' .
Example 144: literal_with_escaped_CHARACTER_TABULATION Result
<http://a.example/s> <http://a.example/p> "\t" .
Test literal_with_escaped_BACKSPACE

literal with escaped BACKSPACE

Example 145: literal_with_escaped_BACKSPACE Input
<http://a.example/s> <http://a.example/p> '\b' .
Example 146: literal_with_escaped_BACKSPACE Result
<http://a.example/s> <http://a.example/p> "\u0008" .
Test literal_with_escaped_LINE_FEED

literal with escaped LINE FEED

Example 147: literal_with_escaped_LINE_FEED Input
<http://a.example/s> <http://a.example/p> '\n' .
Example 148: literal_with_escaped_LINE_FEED Result
<http://a.example/s> <http://a.example/p> "\n" .
Test literal_with_escaped_CARRIAGE_RETURN

literal with escaped CARRIAGE RETURN

Example 149: literal_with_escaped_CARRIAGE_RETURN Input
<http://a.example/s> <http://a.example/p> '\r' .
Example 150: literal_with_escaped_CARRIAGE_RETURN Result
<http://a.example/s> <http://a.example/p> "\r" .
Test literal_with_escaped_FORM_FEED

literal with escaped FORM FEED

Example 151: literal_with_escaped_FORM_FEED Input
<http://a.example/s> <http://a.example/p> '\f' .
Example 152: literal_with_escaped_FORM_FEED Result
<http://a.example/s> <http://a.example/p> "\u000C" .
Test literal_with_numeric_escape4

literal with numeric escape4 \u

Example 153: literal_with_numeric_escape4 Input
<http://a.example/s> <http://a.example/p> '\u006F' .
Example 154: literal_with_numeric_escape4 Result
<http://a.example/s> <http://a.example/p> "o" .
Test literal_with_numeric_escape8

literal with numeric escape8 \U

Example 155: literal_with_numeric_escape8 Input
<http://a.example/s> <http://a.example/p> '\U0000006F' .
Example 156: literal_with_numeric_escape8 Result
<http://a.example/s> <http://a.example/p> "o" .
Test IRIREF_datatype

IRIREF datatype ""^^<t>

Example 157: IRIREF_datatype Input
<http://a.example/s> <http://a.example/p> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
Example 158: IRIREF_datatype Result
<http://a.example/s> <http://a.example/p> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
Test prefixed_name_datatype

prefixed name datatype ""^^p:t

Example 159: prefixed_name_datatype Input
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://a.example/s> <http://a.example/p> "1"^^xsd:integer .
Example 160: prefixed_name_datatype Result
<http://a.example/s> <http://a.example/p> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
Test bareword_integer

bareword integer

Example 161: bareword_integer Input
<http://a.example/s> <http://a.example/p> 1 .
Example 162: bareword_integer Result
<http://a.example/s> <http://a.example/p> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
Test bareword_decimal

bareword decimal

Example 163: bareword_decimal Input
<http://a.example/s> <http://a.example/p> 1.0 .
Example 164: bareword_decimal Result
<http://a.example/s> <http://a.example/p> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
Test bareword_double

bareword double

Example 165: bareword_double Input
<http://a.example/s> <http://a.example/p> 1E0 .
Example 166: bareword_double Result
<http://a.example/s> <http://a.example/p> "1E0"^^<http://www.w3.org/2001/XMLSchema#double> .
Test double_lower_case_e

double lower case e

Example 167: double_lower_case_e Input
<http://a.example/s> <http://a.example/p> 1e0 .
Example 168: double_lower_case_e Result
<http://a.example/s> <http://a.example/p> "1e0"^^<http://www.w3.org/2001/XMLSchema#double> .
Test negative_numeric

negative numeric

Example 169: negative_numeric Input
<http://a.example/s> <http://a.example/p> -1 .
Example 170: negative_numeric Result
<http://a.example/s> <http://a.example/p> "-1"^^<http://www.w3.org/2001/XMLSchema#integer> .
Test positive_numeric

positive numeric

Example 171: positive_numeric Input
<http://a.example/s> <http://a.example/p> +1 .
Example 172: positive_numeric Result
<http://a.example/s> <http://a.example/p> "+1"^^<http://www.w3.org/2001/XMLSchema#integer> .
Test numeric_with_leading_0

numeric with leading 0

Example 173: numeric_with_leading_0 Input
<http://a.example/s> <http://a.example/p> 01 .
Example 174: numeric_with_leading_0 Result
<http://a.example/s> <http://a.example/p> "01"^^<http://www.w3.org/2001/XMLSchema#integer> .
Test literal_true

literal true

Example 175: literal_true Input
<http://a.example/s> <http://a.example/p> true .
Example 176: literal_true Result
<http://a.example/s> <http://a.example/p> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .
Test literal_false

literal false

Example 177: literal_false Input
<http://a.example/s> <http://a.example/p> false .
Example 178: literal_false Result
<http://a.example/s> <http://a.example/p> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
Test langtagged_non_LONG

langtagged non-LONG "x"@en

Example 179: langtagged_non_LONG Input
<http://a.example/s> <http://a.example/p> "chat"@en .
Example 180: langtagged_non_LONG Result
<http://a.example/s> <http://a.example/p> "chat"@en .
Test langtagged_LONG

langtagged LONG """x"""@en

Example 181: langtagged_LONG Input
<http://a.example/s> <http://a.example/p> """chat"""@en .
Example 182: langtagged_LONG Result
<http://a.example/s> <http://a.example/p> "chat"@en .
Test lantag_with_subtag

lantag with subtag "x"@en-us

Example 183: lantag_with_subtag Input
<http://a.example/s> <http://a.example/p> "chat"@en-us .
Example 184: lantag_with_subtag Result
<http://a.example/s> <http://a.example/p> "chat"@en-us .
Test objectList_with_two_objects

objectList with two objects … <o1>,<o2>

Example 185: objectList_with_two_objects Input
<http://a.example/s> <http://a.example/p> <http://a.example/o1>, <http://a.example/o2> .
Example 186: objectList_with_two_objects Result
<http://a.example/s> <http://a.example/p> <http://a.example/o1> .
<http://a.example/s> <http://a.example/p> <http://a.example/o2> .
Test predicateObjectList_with_two_objectLists

predicateObjectList with two objectLists … <o1>,<o2>

Example 187: predicateObjectList_with_two_objectLists Input
<http://a.example/s> <http://a.example/p1> <http://a.example/o1>; <http://a.example/p2> <http://a.example/o2> .
Example 188: predicateObjectList_with_two_objectLists Result
<http://a.example/s> <http://a.example/p1> <http://a.example/o1> .
<http://a.example/s> <http://a.example/p2> <http://a.example/o2> .
Test repeated_semis_at_end

repeated semis at end <s> <p> <o> ;; <p2> <o2> .

Example 189: repeated_semis_at_end Input
<http://a.example/s> <http://a.example/p1> <http://a.example/o1>;; <http://a.example/p2> <http://a.example/o2> .
Example 190: repeated_semis_at_end Result
<http://a.example/s> <http://a.example/p1> <http://a.example/o1> .
<http://a.example/s> <http://a.example/p2> <http://a.example/o2> .
Test repeated_semis_not_at_end

repeated semis not at end <s> <p> <o> ;;.

Example 191: repeated_semis_not_at_end Input
<http://a.example/s> <http://a.example/p1> <http://a.example/o1>;; .
Example 192: repeated_semis_not_at_end Result
<http://a.example/s> <http://a.example/p1> <http://a.example/o1> .
Test comment_following_localName

comment following localName

Example 193: comment_following_localName Input
@prefix p: <http://a.example/> .
<http://a.example/s> <http://a.example/p> p:o#comment
.
Example 194: comment_following_localName Result
<http://a.example/s> <http://a.example/p> <http://a.example/o> .
Test number_sign_following_localName

number sign following localName

Example 195: number_sign_following_localName Input
@prefix p: <http://a.example/> .
<http://a.example/s> <http://a.example/p> p:o\#numbersign
.
Example 196: number_sign_following_localName Result
<http://a.example/s> <http://a.example/p> <http://a.example/o#numbersign> .
Test comment_following_PNAME_NS

comment following PNAME_NS

Example 197: comment_following_PNAME_NS Input
@prefix p: <http://a.example/> .
<http://a.example/s> <http://a.example/p> p:#comment
.
Example 198: comment_following_PNAME_NS Result
<http://a.example/s> <http://a.example/p> <http://a.example/> .
Test number_sign_following_PNAME_NS

number sign following PNAME_NS

Example 199: number_sign_following_PNAME_NS Input
@prefix p: <http://a.example/>.
<http://a.example/s> <http://a.example/p> p:\#numbersign
.
Example 200: number_sign_following_PNAME_NS Result
<http://a.example/s> <http://a.example/p> <http://a.example/#numbersign> .
Test LITERAL_LONG2_with_REVERSE_SOLIDUS

REVERSE SOLIDUS at end of LITERAL_LONG2

Example 201: LITERAL_LONG2_with_REVERSE_SOLIDUS Input
@prefix : <http://example.org/ns#> .

:s :p1 """test-\\""" .
Example 202: LITERAL_LONG2_with_REVERSE_SOLIDUS Result
<http://example.org/ns#s> <http://example.org/ns#p1> "test-\\" .
Test turtle-syntax-bad-num-05

Bad number format (negative test)

Example 203: turtle-syntax-bad-num-05 Input
<http://example.org/resource> <http://example.org#pred> "value"@en^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .
Test two_LITERAL_LONG2s

two LITERAL_LONG2s testing quote delimiter overrun

Example 204: two_LITERAL_LONG2s Input
# Test long literal twice to ensure it does not over-quote
@prefix : <http://example.org/ex#> .
:a :b """first long literal""" .
:c :d """second long literal""" .
Example 205: two_LITERAL_LONG2s Result
<http://example.org/ex#a> <http://example.org/ex#b> "first long literal" .
<http://example.org/ex#c> <http://example.org/ex#d> "second long literal" .
Test langtagged_LONG_with_subtag

langtagged LONG with subtag """Cheers"""@en-UK

Example 206: langtagged_LONG_with_subtag Input
# Test long literal with lang tag
@prefix : <http://example.org/ex#> .
:a :b """Cheers"""@en-UK .
Example 207: langtagged_LONG_with_subtag Result
<http://example.org/ex#a> <http://example.org/ex#b> "Cheers"@en-UK .
Test turtle-syntax-file-01

Empty file

Example 208: turtle-syntax-file-01 Input
Test turtle-syntax-file-02

Only comment

Example 209: turtle-syntax-file-02 Input
#Empty file.
Test turtle-syntax-file-03

One comment, one empty line

Example 210: turtle-syntax-file-03 Input
#One comment, one empty line.

Test turtle-syntax-uri-01

Only IRIs

Example 211: turtle-syntax-uri-01 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-syntax-uri-02

IRIs with Unicode escape

Example 212: turtle-syntax-uri-02 Input
# x53 is capital S
<http://www.w3.org/2013/TurtleTests/\u0053> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-syntax-uri-03

IRIs with long Unicode escape

Example 213: turtle-syntax-uri-03 Input
# x53 is capital S
<http://www.w3.org/2013/TurtleTests/\U00000053> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-syntax-uri-04

Legal IRIs

Example 214: turtle-syntax-uri-04 Input
# IRI with all chars in it.
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p>
<scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> .
Test turtle-syntax-base-01

@base

Example 215: turtle-syntax-base-01 Input
@base <http://www.w3.org/2013/TurtleTests/> .
Test turtle-syntax-base-02

BASE

Example 216: turtle-syntax-base-02 Input
BASE <http://www.w3.org/2013/TurtleTests/>
Test turtle-syntax-base-03

@base with relative IRIs

Example 217: turtle-syntax-base-03 Input
@base <http://www.w3.org/2013/TurtleTests/> .
<s> <p> <o> .
Test turtle-syntax-base-04

base with relative IRIs

Example 218: turtle-syntax-base-04 Input
base <http://www.w3.org/2013/TurtleTests/>
<s> <p> <o> .
Test turtle-syntax-prefix-01

@prefix

Example 219: turtle-syntax-prefix-01 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
Test turtle-syntax-prefix-02

PreFIX

Example 220: turtle-syntax-prefix-02 Input
PreFIX : <http://www.w3.org/2013/TurtleTests/>
Test turtle-syntax-prefix-03

Empty PREFIX

Example 221: turtle-syntax-prefix-03 Input
PREFIX : <http://www.w3.org/2013/TurtleTests/>
:s :p :123 .
Test turtle-syntax-prefix-04

Empty @prefix with % escape

Example 222: turtle-syntax-prefix-04 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p :%20 .
Test turtle-syntax-prefix-05

@prefix with no suffix

Example 223: turtle-syntax-prefix-05 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
: : : .
Test turtle-syntax-prefix-06

colon is a legal pname character

Example 224: turtle-syntax-prefix-06 Input
# colon is a legal pname character
@prefix : <http://www.w3.org/2013/TurtleTests/> .
@prefix x: <http://www.w3.org/2013/TurtleTests/> .
:a:b:c x:d:e:f :::: .
Test turtle-syntax-prefix-07

dash is a legal pname character

Example 225: turtle-syntax-prefix-07 Input
# dash is a legal pname character
@prefix x: <http://www.w3.org/2013/TurtleTests/> .
x:a-b-c x:p x:o .
Test turtle-syntax-prefix-08

underscore is a legal pname character

Example 226: turtle-syntax-prefix-08 Input
# underscore is a legal pname character
@prefix x: <http://www.w3.org/2013/TurtleTests/> .
x:_ x:p_1 x:o .
Test turtle-syntax-prefix-09

percents in pnames

Example 227: turtle-syntax-prefix-09 Input
# percents
@prefix : <http://www.w3.org/2013/TurtleTests/> .
@prefix x: <http://www.w3.org/2013/TurtleTests/> .
:a%3E x:%25 :a%3Eb .
Test turtle-syntax-string-01

string literal

Example 228: turtle-syntax-string-01 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "string" .
Test turtle-syntax-string-02

langString literal

Example 229: turtle-syntax-string-02 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "string"@en .
Test turtle-syntax-string-03

langString literal with region

Example 230: turtle-syntax-string-03 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "string"@en-uk .
Test turtle-syntax-string-04

squote string literal

Example 231: turtle-syntax-string-04 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 'string' .
Test turtle-syntax-string-05

squote langString literal

Example 232: turtle-syntax-string-05 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 'string'@en .
Test turtle-syntax-string-06

squote langString literal with region

Example 233: turtle-syntax-string-06 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 'string'@en-uk .
Test turtle-syntax-string-07

long string literal with embedded single- and double-quotes

Example 234: turtle-syntax-string-07 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> """abc""def''ghi""" .
Test turtle-syntax-string-08

long string literal with embedded newline

Example 235: turtle-syntax-string-08 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> """abc
def""" .
Test turtle-syntax-string-09

squote long string literal with embedded single- and double-quotes

Example 236: turtle-syntax-string-09 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> '''abc
def''' .
Test turtle-syntax-string-10

long langString literal with embedded newline

Example 237: turtle-syntax-string-10 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> """abc
def"""@en .
Test turtle-syntax-string-11

squote long langString literal with embedded newline

Example 238: turtle-syntax-string-11 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> '''abc
def'''@en .
Test turtle-syntax-str-esc-01

string literal with escaped newline

Example 239: turtle-syntax-str-esc-01 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "a\n" .
Test turtle-syntax-str-esc-02

string literal with Unicode escape

Example 240: turtle-syntax-str-esc-02 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "a\u0020b" .
Test turtle-syntax-str-esc-03

string literal with long Unicode escape

Example 241: turtle-syntax-str-esc-03 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "a\U00000020b" .
Test turtle-syntax-pname-esc-01

pname with back-slash escapes

Example 242: turtle-syntax-pname-esc-01 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p :\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\_\%AA .
Test turtle-syntax-pname-esc-02

pname with back-slash escapes (2)

Example 243: turtle-syntax-pname-esc-02 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p :0123\~\.\-\!\$\&\'\(\)\*\+\,\;\=\/\?\#\@\_\%AA123 .
Test turtle-syntax-pname-esc-03

pname with back-slash escapes (3)

Example 244: turtle-syntax-pname-esc-03 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:xyz\~ :abc\.: : .
Test turtle-syntax-bnode-01

bnode subject

Example 245: turtle-syntax-bnode-01 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
[] :p :o .
Test turtle-syntax-bnode-02

bnode object

Example 246: turtle-syntax-bnode-02 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p [] .
Test turtle-syntax-bnode-03

bnode property list object

Example 247: turtle-syntax-bnode-03 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p [ :q :o ] .
Test turtle-syntax-bnode-04

bnode property list object (2)

Example 248: turtle-syntax-bnode-04 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p [ :q1 :o1 ; :q2 :o2 ] .
Test turtle-syntax-bnode-05

bnode property list subject

Example 249: turtle-syntax-bnode-05 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
[ :q1 :o1 ; :q2 :o2 ] :p :o .
Test turtle-syntax-bnode-06

labeled bnode subject

Example 250: turtle-syntax-bnode-06 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
_:a :p :o .
Test turtle-syntax-bnode-07

labeled bnode subject and object

Example 251: turtle-syntax-bnode-07 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p _:a .
_:a :p :o .
Test turtle-syntax-bnode-08

bare bnode property list

Example 252: turtle-syntax-bnode-08 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
[ :p :o ] .
Test turtle-syntax-bnode-09

bnode property list

Example 253: turtle-syntax-bnode-09 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
[ :p :o1,:2 ] .
:s :p :o .
Test turtle-syntax-bnode-10

mixed bnode property list and triple

Example 254: turtle-syntax-bnode-10 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .

:s1 :p :o .
[ :p1 :o1 ; :p2 :o2 ] .
:s2 :p :o .
Test turtle-syntax-number-01

integer literal

Example 255: turtle-syntax-number-01 Input
<s> <p> 123 .
Test turtle-syntax-number-02

negative integer literal

Example 256: turtle-syntax-number-02 Input
<s> <p> -123 .
Test turtle-syntax-number-03

positive integer literal

Example 257: turtle-syntax-number-03 Input
<s> <p> +123 .
Test turtle-syntax-number-04

decimal literal

Example 258: turtle-syntax-number-04 Input
# This is a decimal.
<s> <p> 123.0 .
Test turtle-syntax-number-05

decimal literal (no leading digits)

Example 259: turtle-syntax-number-05 Input
# This is a decimal.
<s> <p> .1 .
Test turtle-syntax-number-06

negative decimal literal

Example 260: turtle-syntax-number-06 Input
# This is a decimal.
<s> <p> -123.0 .
Test turtle-syntax-number-07

positive decimal literal

Example 261: turtle-syntax-number-07 Input
# This is a decimal.
<s> <p> +123.0 .
Test turtle-syntax-number-08

integer literal with decimal lexical confusion

Example 262: turtle-syntax-number-08 Input
# This is an integer
<s> <p> 123.
Test turtle-syntax-number-09

double literal

Example 263: turtle-syntax-number-09 Input
<s> <p> 123.0e1 .
Test turtle-syntax-number-10

negative double literal

Example 264: turtle-syntax-number-10 Input
<s> <p> -123e-1 .
Test turtle-syntax-number-11

double literal no fraction

Example 265: turtle-syntax-number-11 Input
<s> <p> 123.E+1 .
Test turtle-syntax-datatypes-01

xsd:byte literal

Example 266: turtle-syntax-datatypes-01 Input
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
<s> <p> "123"^^xsd:byte .
Test turtle-syntax-datatypes-02

integer as xsd:string

Example 267: turtle-syntax-datatypes-02 Input
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<s> <p> "123"^^xsd:string .
Test turtle-syntax-kw-01

boolean literal (true)

Example 268: turtle-syntax-kw-01 Input
<s> <p> true .
Test turtle-syntax-kw-02

boolean literal (false)

Example 269: turtle-syntax-kw-02 Input
<s> <p> false .
Test turtle-syntax-kw-03

'a' as keyword

Example 270: turtle-syntax-kw-03 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s a :C .
Test turtle-syntax-struct-01

object list

Example 271: turtle-syntax-struct-01 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p :o1 , :o2 .
Test turtle-syntax-struct-02

predicate list with object list

Example 272: turtle-syntax-struct-02 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p1 :o1 ;
:p2 :o2 .
Test turtle-syntax-struct-03

predicate list with object list and dangling ';'

Example 273: turtle-syntax-struct-03 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p1 :o1 ;
:p2 :o2 ;
.
Test turtle-syntax-struct-04

predicate list with multiple ;;

Example 274: turtle-syntax-struct-04 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p1 :o1 ;;
:p2 :o2
.
Test turtle-syntax-struct-05

predicate list with multiple ;;

Example 275: turtle-syntax-struct-05 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p1 :o1 ;
:p2 :o2 ;;
.
Test turtle-syntax-lists-01

empty list

Example 276: turtle-syntax-lists-01 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p () .
Test turtle-syntax-lists-02

mixed list

Example 277: turtle-syntax-lists-02 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p (1 "2" :o) .
Test turtle-syntax-lists-03

isomorphic list as subject and object

Example 278: turtle-syntax-lists-03 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
(1) :p (1) .
Test turtle-syntax-lists-04

lists of lists

Example 279: turtle-syntax-lists-04 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
(()) :p (()) .
Test turtle-syntax-lists-05

mixed lists with embedded lists

Example 280: turtle-syntax-lists-05 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
(1 2 (1 2)) :p (( "a") "b" :o) .
Test turtle-syntax-bad-uri-01

Bad IRI : space (negative test)

Example 281: turtle-syntax-bad-uri-01 Input
# Bad IRI : space.
<http://www.w3.org/2013/TurtleTests/ space> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-syntax-bad-uri-02

Bad IRI : bad escape (negative test)

Example 282: turtle-syntax-bad-uri-02 Input
# Bad IRI : bad escape
<http://www.w3.org/2013/TurtleTests/\u00ZZ11> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-syntax-bad-uri-03

Bad IRI : bad long escape (negative test)

Example 283: turtle-syntax-bad-uri-03 Input
# Bad IRI : bad escape
<http://www.w3.org/2013/TurtleTests/\U00ZZ1111> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-syntax-bad-uri-04

Bad IRI : character escapes not allowed (negative test)

Example 284: turtle-syntax-bad-uri-04 Input
# Bad IRI : character escapes not allowed.
<http://www.w3.org/2013/TurtleTests/\n> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-syntax-bad-uri-05

Bad IRI : character escapes not allowed (2) (negative test)

Example 285: turtle-syntax-bad-uri-05 Input
# Bad IRI : character escapes not allowed.
<http://www.w3.org/2013/TurtleTests/\/> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-syntax-bad-prefix-01

No prefix (negative test)

Example 286: turtle-syntax-bad-prefix-01 Input
# No prefix
:s <http://www.w3.org/2013/TurtleTests/p> "x" .
Test turtle-syntax-bad-prefix-02

No prefix (2) (negative test)

Example 287: turtle-syntax-bad-prefix-02 Input
# No prefix
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
<http://www.w3.org/2013/TurtleTests/s> rdf:type :C .
Test turtle-syntax-bad-prefix-03

@prefix without URI (negative test)

Example 288: turtle-syntax-bad-prefix-03 Input
# @prefix without URI.
@prefix ex: .
Test turtle-syntax-bad-prefix-04

@prefix without prefix name (negative test)

Example 289: turtle-syntax-bad-prefix-04 Input
# @prefix without prefix name .
@prefix <http://www.w3.org/2013/TurtleTests/> .
Test turtle-syntax-bad-prefix-05

@prefix without ':' (negative test)

Example 290: turtle-syntax-bad-prefix-05 Input
# @prefix without :
@prefix x <http://www.w3.org/2013/TurtleTests/> .
Test turtle-syntax-bad-base-01

@base without URI (negative test)

Example 291: turtle-syntax-bad-base-01 Input
# @base without URI.
@base .
Test turtle-syntax-bad-base-02

@base in wrong case (negative test)

Example 292: turtle-syntax-bad-base-02 Input
# @base in wrong case.
@BASE <http://www.w3.org/2013/TurtleTests/> .
Test turtle-syntax-bad-base-03

BASE without URI (negative test)

Example 293: turtle-syntax-bad-base-03 Input
# FULL STOP used after SPARQL BASE
BASE <http://www.w3.org/2013/TurtleTests/> .
<s> <p> <o> .
Test turtle-syntax-bad-struct-01

Turtle is not TriG (negative test)

Example 294: turtle-syntax-bad-struct-01 Input
# Turtle is not TriG
{ <http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> }
Test turtle-syntax-bad-struct-02

Turtle is not N3 (negative test)

Example 295: turtle-syntax-bad-struct-02 Input
# Turtle is not N3
<http://www.w3.org/2013/TurtleTests/s> = <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-syntax-bad-struct-03

Turtle is not NQuads (negative test)

Example 296: turtle-syntax-bad-struct-03 Input
# Turtle is not NQuads
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> <http://www.w3.org/2013/TurtleTests/g> .
Test turtle-syntax-bad-struct-04

Turtle does not allow literals-as-subjects (negative test)

Example 297: turtle-syntax-bad-struct-04 Input
# Turtle does not allow literals-as-subjects
"hello" <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-syntax-bad-struct-05

Turtle does not allow literals-as-predicates (negative test)

Example 298: turtle-syntax-bad-struct-05 Input
# Turtle does not allow literals-as-predicates
<http://www.w3.org/2013/TurtleTests/s> "hello" <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-syntax-bad-struct-06

Turtle does not allow bnodes-as-predicates (negative test)

Example 299: turtle-syntax-bad-struct-06 Input
# Turtle does not allow bnodes-as-predicates
<http://www.w3.org/2013/TurtleTests/s> [] <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-syntax-bad-struct-07

Turtle does not allow labeled bnodes-as-predicates (negative test)

Example 300: turtle-syntax-bad-struct-07 Input
# Turtle does not allow bnodes-as-predicates
<http://www.w3.org/2013/TurtleTests/s> _:p <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-syntax-bad-kw-01

'A' is not a keyword (negative test)

Example 301: turtle-syntax-bad-kw-01 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s A :C .
Test turtle-syntax-bad-kw-02

'a' cannot be used as subject (negative test)

Example 302: turtle-syntax-bad-kw-02 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
a :p :o .
Test turtle-syntax-bad-kw-03

'a' cannot be used as object (negative test)

Example 303: turtle-syntax-bad-kw-03 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p a .
Test turtle-syntax-bad-kw-04

'true' cannot be used as subject (negative test)

Example 304: turtle-syntax-bad-kw-04 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
true :p :o .
Test turtle-syntax-bad-kw-05

'true' cannot be used as object (negative test)

Example 305: turtle-syntax-bad-kw-05 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s true :o .
Test turtle-syntax-bad-n3-extras-01

{} fomulae not in Turtle (negative test)

Example 306: turtle-syntax-bad-n3-extras-01 Input
# {} fomulae not in Turtle
@prefix : <http://www.w3.org/2013/TurtleTests/> .

{ :a :q :c . } :p :z .

Test turtle-syntax-bad-n3-extras-02

= is not Turtle (negative test)

Example 307: turtle-syntax-bad-n3-extras-02 Input
# = is not Turtle
@prefix : <http://www.w3.org/2013/TurtleTests/> .

:a = :b .
Test turtle-syntax-bad-n3-extras-03

N3 paths not in Turtle (negative test)

Example 308: turtle-syntax-bad-n3-extras-03 Input
# N3 paths
@prefix : <http://www.w3.org/2013/TurtleTests/> .
@prefix ns: <http://www.w3.org/2013/TurtleTests/p#> .

:x.
ns:p.
ns:q :p :z .
Test turtle-syntax-bad-n3-extras-04

N3 paths not in Turtle (negative test)

Example 309: turtle-syntax-bad-n3-extras-04 Input
# N3 paths
@prefix : <http://www.w3.org/2013/TurtleTests/> .
@prefix ns: <http://www.w3.org/2013/TurtleTests/p#> .

:x^ns:p :p :z .
Test turtle-syntax-bad-n3-extras-05

N3 is...of not in Turtle (negative test)

Example 310: turtle-syntax-bad-n3-extras-05 Input
# N3 is...of
@prefix : <http://www.w3.org/2013/TurtleTests/> .

:z is :p of :x .
Test turtle-syntax-bad-n3-extras-06

N3 paths not in Turtle (negative test)

Example 311: turtle-syntax-bad-n3-extras-06 Input
# = is not Turtle
@prefix : <http://www.w3.org/2013/TurtleTests/> .

:a.:b.:c .
Test turtle-syntax-bad-n3-extras-07

@keywords is not Turtle (negative test)

Example 312: turtle-syntax-bad-n3-extras-07 Input
# @keywords is not Turtle
@keywords a .
x a Item .
Test turtle-syntax-bad-n3-extras-08

@keywords is not Turtle (negative test)

Example 313: turtle-syntax-bad-n3-extras-08 Input
# @keywords is not Turtle
@keywords a .
x a Item .
Test turtle-syntax-bad-n3-extras-09

=> is not Turtle (negative test)

Example 314: turtle-syntax-bad-n3-extras-09 Input
# => is not Turtle
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s => :o .
Test turtle-syntax-bad-n3-extras-10

<= is not Turtle (negative test)

Example 315: turtle-syntax-bad-n3-extras-10 Input
# <= is not Turtle
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s <= :o .
Test turtle-syntax-bad-n3-extras-11

@forSome is not Turtle (negative test)

Example 316: turtle-syntax-bad-n3-extras-11 Input
# @forSome is not Turtle
@prefix : <http://www.w3.org/2013/TurtleTests/> .
@forSome :x .
Test turtle-syntax-bad-n3-extras-12

@forAll is not Turtle (negative test)

Example 317: turtle-syntax-bad-n3-extras-12 Input
# @forAll is not Turtle
@prefix : <http://www.w3.org/2013/TurtleTests/> .
@forAll :x .
Test turtle-syntax-bad-n3-extras-13

@keywords is not Turtle (negative test)

Example 318: turtle-syntax-bad-n3-extras-13 Input
# @keywords is not Turtle
@keywords .
x @a Item .
Test turtle-syntax-bad-struct-08

missing '.' (negative test)

Example 319: turtle-syntax-bad-struct-08 Input
# No DOT
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o>
Test turtle-syntax-bad-struct-09

extra '.' (negative test)

Example 320: turtle-syntax-bad-struct-09 Input
# Too many DOT
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> . .
Test turtle-syntax-bad-struct-10

extra '.' (negative test)

Example 321: turtle-syntax-bad-struct-10 Input
# Too many DOT
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> . .
<http://www.w3.org/2013/TurtleTests/s1> <http://www.w3.org/2013/TurtleTests/p1> <http://www.w3.org/2013/TurtleTests/o1> .
Test turtle-syntax-bad-struct-11

trailing ';' no '.' (negative test)

Example 322: turtle-syntax-bad-struct-11 Input
# Trailing ;
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> ;
Test turtle-syntax-bad-struct-12

subject, predicate, no object (negative test)

Example 323: turtle-syntax-bad-struct-12 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 
Test turtle-syntax-bad-struct-13

subject, predicate, no object (negative test)

Example 324: turtle-syntax-bad-struct-13 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 
Test turtle-syntax-bad-struct-14

literal as subject (negative test)

Example 325: turtle-syntax-bad-struct-14 Input
# Literal as subject
"abc" <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/p> .
Test turtle-syntax-bad-struct-15

literal as predicate (negative test)

Example 326: turtle-syntax-bad-struct-15 Input
# Literal as predicate
<http://www.w3.org/2013/TurtleTests/s> "abc" <http://www.w3.org/2013/TurtleTests/p> .
Test turtle-syntax-bad-struct-16

bnode as predicate (negative test)

Example 327: turtle-syntax-bad-struct-16 Input
# BNode as predicate
<http://www.w3.org/2013/TurtleTests/s> [] <http://www.w3.org/2013/TurtleTests/p> .
Test turtle-syntax-bad-struct-17

labeled bnode as predicate (negative test)

Example 328: turtle-syntax-bad-struct-17 Input
# BNode as predicate
<http://www.w3.org/2013/TurtleTests/s> _:a <http://www.w3.org/2013/TurtleTests/p> .
Test turtle-syntax-bad-lang-01

langString with bad lang (negative test)

Example 329: turtle-syntax-bad-lang-01 Input
# Bad lang tag
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "string"@1 .
Test turtle-syntax-bad-esc-01

Bad string escape (negative test)

Example 330: turtle-syntax-bad-esc-01 Input
# Bad string escape
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "a\zb" .
Test turtle-syntax-bad-esc-02

Bad string escape (negative test)

Example 331: turtle-syntax-bad-esc-02 Input
# Bad string escape
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "\uWXYZ" .
Test turtle-syntax-bad-esc-03

Bad string escape (negative test)

Example 332: turtle-syntax-bad-esc-03 Input
# Bad string escape
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "\U0000WXYZ" .
Test turtle-syntax-bad-esc-04

Bad string escape (negative test)

Example 333: turtle-syntax-bad-esc-04 Input
# Bad string escape
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> "\U0000WXYZ" .
Test turtle-syntax-bad-pname-01

'~' must be escaped in pname (negative test)

Example 334: turtle-syntax-bad-pname-01 Input
# ~ must be escaped.
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:a~b :p :o .
Test turtle-syntax-bad-pname-02

Bad %-sequence in pname (negative test)

Example 335: turtle-syntax-bad-pname-02 Input
# Bad %-sequence
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:a%2 :p :o .
Test turtle-syntax-bad-pname-03

Bad unicode escape in pname (negative test)

Example 336: turtle-syntax-bad-pname-03 Input
# No \u (x39 is "9")
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:a\u0039 :p :o .
Test turtle-syntax-bad-string-01

mismatching string literal open/close (negative test)

Example 337: turtle-syntax-bad-string-01 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p "abc' .
Test turtle-syntax-bad-string-02

mismatching string literal open/close (negative test)

Example 338: turtle-syntax-bad-string-02 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p 'abc" .
Test turtle-syntax-bad-string-03

mismatching string literal long/short (negative test)

Example 339: turtle-syntax-bad-string-03 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p '''abc' .
Test turtle-syntax-bad-string-04

mismatching long string literal open/close (negative test)

Example 340: turtle-syntax-bad-string-04 Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p """abc''' .
Test turtle-syntax-bad-string-05

Long literal with missing end (negative test)

Example 341: turtle-syntax-bad-string-05 Input
# Long literal with missing end
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p """abc
def
Test turtle-syntax-bad-string-06

Long literal with extra quote (negative test)

Example 342: turtle-syntax-bad-string-06 Input
# Long literal with 4"
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p """abc""""@en .
Test turtle-syntax-bad-string-07

Long literal with extra squote (negative test)

Example 343: turtle-syntax-bad-string-07 Input
# Long literal with 4'
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p '''abc''''@en .
Test turtle-syntax-bad-num-01

Bad number format (negative test)

Example 344: turtle-syntax-bad-num-01 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 123.abc .
Test turtle-syntax-bad-num-02

Bad number format (negative test)

Example 345: turtle-syntax-bad-num-02 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 123e .
Test turtle-syntax-bad-num-03

Bad number format (negative test)

Example 346: turtle-syntax-bad-num-03 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 123abc .
Test turtle-syntax-bad-num-04

Bad number format (negative test)

Example 347: turtle-syntax-bad-num-04 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> 0x123 .
Test turtle-syntax-bad-num-05

Bad number format (negative test)

Example 348: turtle-syntax-bad-num-05 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> +-1 .
Test turtle-eval-struct-01

triple with IRIs

Example 349: turtle-eval-struct-01 Input
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Example 350: turtle-eval-struct-01 Result
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-eval-struct-02

triple with IRIs and embedded whitespace

Example 351: turtle-eval-struct-02 Input
<http://www.w3.org/2013/TurtleTests/s> 
<http://www.w3.org/2013/TurtleTests/p1> <http://www.w3.org/2013/TurtleTests/o1> ;
<http://www.w3.org/2013/TurtleTests/p2> <http://www.w3.org/2013/TurtleTests/o2> ;
.
Example 352: turtle-eval-struct-02 Result
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p1> <http://www.w3.org/2013/TurtleTests/o1> .
<http://www.w3.org/2013/TurtleTests/s> <http://www.w3.org/2013/TurtleTests/p2> <http://www.w3.org/2013/TurtleTests/o2> .
Test turtle-subm-01

Blank subject

Example 353: turtle-subm-01 Input
@prefix : <#> .
[] :x :y .
Example 354: turtle-subm-01 Result
_:genid1 <http://www.w3.org/2013/TurtleTests/turtle-subm-01.ttl#x> <http://www.w3.org/2013/TurtleTests/turtle-subm-01.ttl#y> .
Test turtle-subm-02

@prefix and qnames

Example 355: turtle-subm-02 Input
# Test @prefix and qnames
@prefix : <http://example.org/base1#> .
@prefix a: <http://example.org/base2#> .
@prefix b: <http://example.org/base3#> .
:a :b :c .
a:a a:b a:c .
:a a:a b:a .
Example 356: turtle-subm-02 Result
<http://example.org/base1#a> <http://example.org/base1#b> <http://example.org/base1#c> .
<http://example.org/base2#a> <http://example.org/base2#b> <http://example.org/base2#c> .
<http://example.org/base1#a> <http://example.org/base2#a> <http://example.org/base3#a> .
Test turtle-subm-03

, operator

Example 357: turtle-subm-03 Input
# Test , operator
@prefix : <http://example.org/base#> .
:a :b :c,
:d,
:e .
Example 358: turtle-subm-03 Result
<http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#c> .
<http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#d> .
<http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#e> .
Test turtle-subm-04

; operator

Example 359: turtle-subm-04 Input
# Test ; operator
@prefix : <http://example.org/base#> .
:a :b :c ;
:d :e ;
:f :g .
Example 360: turtle-subm-04 Result
<http://example.org/base#a> <http://example.org/base#b> <http://example.org/base#c> .
<http://example.org/base#a> <http://example.org/base#d> <http://example.org/base#e> .
<http://example.org/base#a> <http://example.org/base#f> <http://example.org/base#g> .
Test turtle-subm-05

empty [] as subject and object

Example 361: turtle-subm-05 Input
# Test empty [] operator; not allowed as predicate
@prefix : <http://example.org/base#> .
[] :a :b .
:c :d [] .
Example 362: turtle-subm-05 Result
_:genid1 <http://example.org/base#a> <http://example.org/base#b> .
<http://example.org/base#c> <http://example.org/base#d> _:genid2 .
Test turtle-subm-06

non-empty [] as subject and object

Example 363: turtle-subm-06 Input
# Test non empty [] operator; not allowed as predicate
@prefix : <http://example.org/base#> .
[ :a :b ] :c :d .
:e :f [ :g :h ] .
Example 364: turtle-subm-06 Result
_:genid1 <http://example.org/base#a> <http://example.org/base#b> .
_:genid1 <http://example.org/base#c> <http://example.org/base#d> .
_:genid2 <http://example.org/base#g> <http://example.org/base#h> .
<http://example.org/base#e> <http://example.org/base#f> _:genid2 .
Test turtle-subm-07

'a' as predicate

Example 365: turtle-subm-07 Input
# 'a' only allowed as a predicate
@prefix : <http://example.org/base#> .
:a a :b .
Example 366: turtle-subm-07 Result
<http://example.org/base#a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.org/base#b> .
Test turtle-subm-08

simple collection

Example 367: turtle-subm-08 Input
@prefix : <http://example.org/stuff/1.0/> .
:a :b ( "apple" "banana" ) .

Example 368: turtle-subm-08 Result
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "banana" .
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> "apple" .
_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:genid1 .
<http://example.org/stuff/1.0/a> <http://example.org/stuff/1.0/b> _:genid2 .
Test turtle-subm-09

empty collection

Example 369: turtle-subm-09 Input
@prefix : <http://example.org/stuff/1.0/> .
:a :b ( ) .

Example 370: turtle-subm-09 Result
<http://example.org/stuff/1.0/a> <http://example.org/stuff/1.0/b> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> .
Test turtle-subm-10

integer datatyped literal

Example 371: turtle-subm-10 Input
# Test integer datatyped literals using an OWL cardinality constraint
@prefix owl: <http://www.w3.org/2002/07/owl#> .

# based on examples in the OWL Reference

_:hasParent a owl:ObjectProperty .

[] a owl:Restriction ;
owl:onProperty _:hasParent ;
owl:maxCardinality 2 .
Example 372: turtle-subm-10 Result
_:hasParent <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> .
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> .
_:genid1 <http://www.w3.org/2002/07/owl#onProperty> _:hasParent .
_:genid1 <http://www.w3.org/2002/07/owl#maxCardinality> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
Test turtle-subm-11

decimal integer canonicalization

Example 373: turtle-subm-11 Input
<http://example.org/res1> <http://example.org/prop1> 000000 .
<http://example.org/res2> <http://example.org/prop2> 0 .
<http://example.org/res3> <http://example.org/prop3> 000001 .
<http://example.org/res4> <http://example.org/prop4> 2 .
<http://example.org/res5> <http://example.org/prop5> 4 .
Example 374: turtle-subm-11 Result
<http://example.org/res1> <http://example.org/prop1> "000000"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://example.org/res2> <http://example.org/prop2> "0"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://example.org/res3> <http://example.org/prop3> "000001"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://example.org/res4> <http://example.org/prop4> "2"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://example.org/res5> <http://example.org/prop5> "4"^^<http://www.w3.org/2001/XMLSchema#integer> .
Test turtle-subm-12

- and _ in names and qnames

Example 375: turtle-subm-12 Input
# Tests for - and _ in names, qnames
@prefix ex1: <http://example.org/ex1#> .
@prefix ex-2: <http://example.org/ex2#> .
@prefix ex3_: <http://example.org/ex3#> .
@prefix ex4-: <http://example.org/ex4#> .

ex1:foo-bar ex1:foo_bar "a" .
ex-2:foo-bar ex-2:foo_bar "b" .
ex3_:foo-bar ex3_:foo_bar "c" .
ex4-:foo-bar ex4-:foo_bar "d" .
Example 376: turtle-subm-12 Result
<http://example.org/ex1#foo-bar> <http://example.org/ex1#foo_bar> "a" .
<http://example.org/ex2#foo-bar> <http://example.org/ex2#foo_bar> "b" .
<http://example.org/ex3#foo-bar> <http://example.org/ex3#foo_bar> "c" .
<http://example.org/ex4#foo-bar> <http://example.org/ex4#foo_bar> "d" .
Test turtle-subm-13

tests for rdf:_<numbers> and other qnames starting with _

Example 377: turtle-subm-13 Input
# Tests for rdf:_<numbers> and other qnames starting with _
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ex: <http://example.org/ex#> .
@prefix : <http://example.org/myprop#> .

ex:foo rdf:_1 "1" .
ex:foo rdf:_2 "2" .
ex:foo :_abc "def" .
ex:foo :_345 "678" .
Example 378: turtle-subm-13 Result
<http://example.org/ex#foo> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> "1" .
<http://example.org/ex#foo> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2> "2" .
<http://example.org/ex#foo> <http://example.org/myprop#_abc> "def" .
<http://example.org/ex#foo> <http://example.org/myprop#_345> "678" .
Test turtle-subm-14

bare : allowed

Example 379: turtle-subm-14 Input
# Test for : allowed
@prefix : <http://example.org/ron> .

[] : [] .

: : : .

Example 380: turtle-subm-14 Result
_:genid1 <http://example.org/ron> _:genid2 .
<http://example.org/ron> <http://example.org/ron> <http://example.org/ron> .
Test turtle-subm-15

simple long literal

Example 381: turtle-subm-15 Input
# Test long literal
@prefix : <http://example.org/ex#> .
:a :b """a long
literal
with
newlines""" .
Example 382: turtle-subm-15 Result
<http://example.org/ex#a> <http://example.org/ex#b> "a long\n\tliteral\nwith\nnewlines" .
Test turtle-subm-16

long literals with escapes

Example 383: turtle-subm-16 Input
@prefix : <http://example.org/foo#> .

## \U00015678 is a not a legal codepoint
## :a :b """\nthis \ris a \U00015678long\t
## literal\uABCD
## """ .
##
## :d :e """\tThis \uABCDis\r \U00015678another\n
## one
## """ .

# \U00015678 is a not a legal codepoint
# \U00012451 in Cuneiform numeric ban 3
:a :b """\nthis \ris a \U00012451long\t
literal\uABCD
""" .

:d :e """\tThis \uABCDis\r \U00012451another\n
one
""" .
Example 384: turtle-subm-16 Result
<http://example.org/foo#a> <http://example.org/foo#b> "\nthis \ris a \U00012451long\t\nliteral\uABCD\n" .
<http://example.org/foo#d> <http://example.org/foo#e> "\tThis \uABCDis\r \U00012451another\n\none\n" .
Test turtle-subm-17

floating point number

Example 385: turtle-subm-17 Input
@prefix : <http://example.org/#> .

:a :b 1.0 .

Example 386: turtle-subm-17 Result
<http://example.org/#a> <http://example.org/#b> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
Test turtle-subm-18

empty literals, normal and long variant

Example 387: turtle-subm-18 Input
@prefix : <http://example.org/#> .

:a :b "" .

:c :d """""" .

Example 388: turtle-subm-18 Result
<http://example.org/#a> <http://example.org/#b> "" .
<http://example.org/#c> <http://example.org/#d> "" .
Test turtle-subm-19

positive integer, decimal and doubles

Example 389: turtle-subm-19 Input
@prefix : <http://example.org#> .
:a :b 1.0 .
:c :d 1 .
:e :f 1.0e0 .
Example 390: turtle-subm-19 Result
<http://example.org#a> <http://example.org#b> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org#c> <http://example.org#d> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://example.org#e> <http://example.org#f> "1.0e0"^^<http://www.w3.org/2001/XMLSchema#double> .
Test turtle-subm-20

negative integer, decimal and doubles

Example 391: turtle-subm-20 Input
@prefix : <http://example.org#> .
:a :b -1.0 .
:c :d -1 .
:e :f -1.0e0 .
Example 392: turtle-subm-20 Result
<http://example.org#a> <http://example.org#b> "-1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org#c> <http://example.org#d> "-1"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://example.org#e> <http://example.org#f> "-1.0e0"^^<http://www.w3.org/2001/XMLSchema#double> .
Test turtle-subm-21

long literal ending in double quote

Example 393: turtle-subm-21 Input
# Test long literal
@prefix : <http://example.org/ex#> .
:a :b """John said: "Hello World!\"""" .
Example 394: turtle-subm-21 Result
<http://example.org/ex#a> <http://example.org/ex#b> "John said: \"Hello World!\"" .
Test turtle-subm-22

boolean literals

Example 395: turtle-subm-22 Input
@prefix : <http://example.org#> .
:a :b true .
:c :d false .
Example 396: turtle-subm-22 Result
<http://example.org#a> <http://example.org#b> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .
<http://example.org#c> <http://example.org#d> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
Test turtle-subm-23

comments

Example 397: turtle-subm-23 Input
# comment test
@prefix : <http://example.org/#> .
:a :b :c . # end of line comment
:d # ignore me
:e # and me
:f # and me
.
:g :h #ignore me
:i, # and me
:j . # and me

:k :l :m ; #ignore me
:n :o ; # and me
:p :q . # and me
Example 398: turtle-subm-23 Result
<http://example.org/#a> <http://example.org/#b> <http://example.org/#c> .
<http://example.org/#d> <http://example.org/#e> <http://example.org/#f> .
<http://example.org/#g> <http://example.org/#h> <http://example.org/#i> .
<http://example.org/#g> <http://example.org/#h> <http://example.org/#j> .
<http://example.org/#k> <http://example.org/#l> <http://example.org/#m> .
<http://example.org/#k> <http://example.org/#n> <http://example.org/#o> .
<http://example.org/#k> <http://example.org/#p> <http://example.org/#q> .
Test turtle-subm-24

no final mewline

Example 399: turtle-subm-24 Input
# comment line with no final newline test
@prefix : <http://example.org/#> .
:a :b :c .
#foo
Example 400: turtle-subm-24 Result
<http://example.org/#a> <http://example.org/#b> <http://example.org/#c> .
Test turtle-subm-25

repeating a @prefix changes pname definition

Example 401: turtle-subm-25 Input
@prefix foo: <http://example.org/foo#>  .
@prefix foo: <http://example.org/bar#> .

foo:blah foo:blah foo:blah .

Example 402: turtle-subm-25 Result
<http://example.org/bar#blah> <http://example.org/bar#blah> <http://example.org/bar#blah> .
Test turtle-subm-26

Variations on decimal canonicalization

Example 403: turtle-subm-26 Input
<http://example.org/foo> <http://example.org/bar> "2.345"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "1"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "1."^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "1.000000000"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.3"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.234000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.2340000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.23400000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.234000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.2340000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.23400000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.234000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.2340000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.23400000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.234000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.2340000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.23400000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.234000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.2340000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.23400000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "1.2345678901234567890123457890"^^<http://www.w3.org/2001/XMLSchema#decimal> .
Example 404: turtle-subm-26 Result
<http://example.org/foo> <http://example.org/bar> "2.345"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "1"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "1.0"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "1."^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "1.000000000"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.3"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.234000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.2340000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.23400000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.234000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.2340000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.23400000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.234000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.2340000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.23400000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.234000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.2340000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.23400000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.234000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.2340000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "2.23400000000000000000005"^^<http://www.w3.org/2001/XMLSchema#decimal> .
<http://example.org/foo> <http://example.org/bar> "1.2345678901234567890123457890"^^<http://www.w3.org/2001/XMLSchema#decimal> .
Test turtle-subm-27

Repeating @base changes base for relative IRI lookup

Example 405: turtle-subm-27 Input
# In-scope base URI is <http://www.w3.org/2013/TurtleTests/turtle-subm-27.ttl> at this point
<a1> <b1> <c1> .
@base <http://example.org/ns/> .
# In-scope base URI is http://example.org/ns/ at this point
<a2> <http://example.org/ns/b2> <c2> .
@base <foo/> .
# In-scope base URI is http://example.org/ns/foo/ at this point
<a3> <b3> <c3> .
@prefix : <bar#> .
:a4 :b4 :c4 .
@prefix : <http://example.org/ns2#> .
:a5 :b5 :c5 .
Example 406: turtle-subm-27 Result
<http://www.w3.org/2013/TurtleTests/a1> <http://www.w3.org/2013/TurtleTests/b1> <http://www.w3.org/2013/TurtleTests/c1> .
<http://example.org/ns/a2> <http://example.org/ns/b2> <http://example.org/ns/c2> .
<http://example.org/ns/foo/a3> <http://example.org/ns/foo/b3> <http://example.org/ns/foo/c3> .
<http://example.org/ns/foo/bar#a4> <http://example.org/ns/foo/bar#b4> <http://example.org/ns/foo/bar#c4> .
<http://example.org/ns2#a5> <http://example.org/ns2#b5> <http://example.org/ns2#c5> .
Test turtle-eval-bad-01

Bad IRI : good escape, bad charcater (negative evaluation test)

Example 407: turtle-eval-bad-01 Input
# Bad IRI : good escape, bad charcater
<http://www.w3.org/2013/TurtleTests/\u0020> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-eval-bad-02

Bad IRI : hex 3C is < (negative evaluation test)

Example 408: turtle-eval-bad-02 Input
# Bad IRI : hex 3C is <
<http://www.w3.org/2013/TurtleTests/\u003C> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-eval-bad-03

Bad IRI : hex 3E is (negative evaluation test)

Example 409: turtle-eval-bad-03 Input
# Bad IRI : hex 3E is >
<http://www.w3.org/2013/TurtleTests/\u003E> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-eval-bad-04

Bad IRI : {abc} (negative evaluation test)

Example 410: turtle-eval-bad-04 Input
# Bad IRI
<http://www.w3.org/2013/TurtleTests/{abc}> <http://www.w3.org/2013/TurtleTests/p> <http://www.w3.org/2013/TurtleTests/o> .
Test turtle-syntax-bad-blank-label-dot-end

Blank node label must not end in dot

Example 411: turtle-syntax-bad-blank-label-dot-end Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
_:b1. :p :o .
Test turtle-syntax-bad-ln-dash-start

Local name must not begin with dash

Example 412: turtle-syntax-bad-ln-dash-start Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p :-o .
Test turtle-syntax-bad-ln-escape-start

Bad hex escape at start of local name

Example 413: turtle-syntax-bad-ln-escape-start Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p :%2o .
Test turtle-syntax-bad-ln-escape

Bad hex escape in local name

Example 414: turtle-syntax-bad-ln-escape Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s :p :o%2 .
Test turtle-syntax-bad-missing-ns-dot-end

Prefix must not end in dot (error in triple, not prefix directive like turtle-syntax-bad-ns-dot-end)

Example 415: turtle-syntax-bad-missing-ns-dot-end Input
valid:s valid:p invalid.:o .
Test turtle-syntax-bad-missing-ns-dot-start

Prefix must not start with dot (error in triple, not prefix directive like turtle-syntax-bad-ns-dot-end)

Example 416: turtle-syntax-bad-missing-ns-dot-start Input
.undefined:s .undefined:p .undefined:o .
Test turtle-syntax-bad-ns-dot-end

Prefix must not end in dot

Example 417: turtle-syntax-bad-ns-dot-end Input
@prefix eg. : <http://www.w3.org/2013/TurtleTests/> .
eg.:s eg.:p eg.:o .
Test turtle-syntax-bad-ns-dot-start

Prefix must not start with dot

Example 418: turtle-syntax-bad-ns-dot-start Input
@prefix .eg : <http://www.w3.org/2013/TurtleTests/> .
.eg:s .eg:p .eg:o .
Test turtle-syntax-bad-number-dot-in-anon

Dot delimeter may not appear in anonymous nodes

Example 419: turtle-syntax-bad-number-dot-in-anon Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .

:s
:p [
:p1 27.
] .
Test turtle-syntax-blank-label

Characters allowed in blank node labels

Example 420: turtle-syntax-blank-label Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
_:0b :p :o . # Starts with digit
_:_b :p :o . # Starts with underscore
_:b.0 :p :o . # Contains dot, ends with digit
Test turtle-syntax-ln-colons

Colons in pname local names

Example 421: turtle-syntax-ln-colons Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s:1 :p:1 :o:1 .
:s::2 :p::2 :o::2 .
:3:s :3:p :3 .
::s ::p ::o .
::s: ::p: ::o: .
Test turtle-syntax-ln-dots

Dots in pname local names

Example 422: turtle-syntax-ln-dots Input
@prefix : <http://www.w3.org/2013/TurtleTests/> .
:s.1 :p.1 :o.1 .
:s..2 :p..2 :o..2.
:3.s :3.p :3.
Test turtle-syntax-ns-dots

Dots in namespace names

Example 423: turtle-syntax-ns-dots Input
@prefix e.g: <http://www.w3.org/2013/TurtleTests/> .
e.g:s e.g:p e.g:o .

D. Report Generation Software

This report generated by earl-report version 0.3.6 an Unlicensed Ruby application. More information is available at https://github.com/gkellogg/earl-report .

This software is provided by Gregg Kellogg in hopes that it might make the lives of conformance testers easier.

E. References

E.1 Informative references

[DOAP]
Ed Dumbill. Description of a Project. Community Specification. URL: https://github.com/edumbill/doap/wiki
[EARL10-SCHEMA]
Shadi Abou-Zahra. Evaluation and Report Language (EARL) 1.0 Schema. 10 May 2011. W3C Last Call Working Draft. URL: http://www.w3.org/TR/EARL10-Schema/
[FOAF]
Dan Brickley; Libby Miller. FOAF Vocabulary Specification 0.99 (Paddington Edition). 14 January 2014. URL: http://xmlns.com/foaf/spec
[TURTLE]
Eric Prud'hommeaux, Gavin Carothers. RDF 1.1 Turtle: Terse RDF Triple Language. W3C Recommendation, 25 February 2014. URL: http://www.w3.org/TR/2014/REC-turtle-20140225/. The latest edition is available at http://www.w3.org/TR/turtle/