Abstract

This document report test subject conformance for and related specifications for N-Quads [N-QUADS] 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.

New Version Available

The RDF Test Curation Community Group is maintaining updates to important test suites, including for N-Quads. The new tests are available at http://w3c.github.io/rdf-tests/nquads/ along with an updated Implementation Report.

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>;
    earl:test <http://www.w3.org/2013/N-QuadsTests/manifest.ttl#nq-syntax-uri-01.nq>;
    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>
    dc:issued "2013-02-22T15:12:30-08:00"^^xsd:dateTime ;
    foaf:maker <http://greggkellogg.net/foaf#me> .

  <http://rubygems.org/gems/rdf> a doap:Project, earl:TestSubject, earl:Software ;
    doap:name          "RDF.rb" ;
    doap:homepage      <http://rubygems.org/gems/rdf> ;
    doap:license       <http://creativecommons.org/licenses/publicdomain/> ;
    doap:description   "RDF.rb is a pure-Ruby library for working with Resource Description Framework (RDF) data."@en ;
    doap:developer     <http://ar.to/#self>, <http://bhuga.net/#ben>, <http://greggkellogg.net/foaf#me> ;
    doap:maintainer    <http://ar.to/#self>, <http://bhuga.net/#ben>, <http://greggkellogg.net/foaf#me> ;
    doap:documenter    <http://ar.to/#self>, <http://bhuga.net/#ben>, <http://greggkellogg.net/foaf#me> ;
    foaf:maker         <http://ar.to/#self> ;
    dc:creator         <http://ar.to/#self> .

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 N-Quads tests

Test Apache Jena Raptor RDF.rb rdflib N3.js
nq-syntax-uri-01 PASS PASS PASS PASS PASS
nq-syntax-uri-02 PASS PASS PASS PASS PASS
nq-syntax-uri-03 PASS PASS PASS PASS PASS
nq-syntax-uri-04 PASS PASS PASS PASS PASS
nq-syntax-uri-05 PASS PASS PASS PASS PASS
nq-syntax-uri-06 PASS PASS PASS PASS PASS
nq-syntax-bnode-01 PASS PASS PASS PASS PASS
nq-syntax-bnode-02 PASS PASS PASS PASS PASS
nq-syntax-bnode-03 PASS PASS PASS PASS PASS
nq-syntax-bnode-04 PASS PASS PASS PASS PASS
nq-syntax-bnode-05 PASS PASS PASS PASS PASS
nq-syntax-bnode-06 PASS PASS PASS PASS PASS
nq-syntax-bad-literal-01 PASS PASS PASS PASS PASS
nq-syntax-bad-literal-02 PASS PASS PASS PASS PASS
nq-syntax-bad-literal-03 PASS PASS PASS PASS PASS
nq-syntax-bad-uri-01 PASS PASS PASS PASS PASS
nq-syntax-bad-quint-01 PASS PASS PASS PASS PASS
nt-syntax-file-01 PASS PASS PASS PASS PASS
nt-syntax-file-02 PASS PASS PASS PASS PASS
nt-syntax-file-03 PASS PASS PASS PASS PASS
nt-syntax-uri-01 PASS PASS PASS PASS PASS
nt-syntax-uri-02 PASS PASS PASS PASS PASS
nt-syntax-uri-03 PASS PASS PASS PASS PASS
nt-syntax-uri-04 PASS PASS PASS PASS PASS
nt-syntax-string-01 PASS PASS PASS PASS PASS
nt-syntax-string-02 PASS PASS PASS PASS PASS
nt-syntax-string-03 PASS PASS PASS PASS PASS
nt-syntax-str-esc-01 PASS PASS PASS PASS PASS
nt-syntax-str-esc-02 PASS PASS PASS PASS PASS
nt-syntax-str-esc-03 PASS PASS PASS PASS PASS
nt-syntax-bnode-01 PASS PASS PASS PASS PASS
nt-syntax-bnode-02 PASS PASS PASS PASS PASS
nt-syntax-bnode-03 PASS PASS PASS PASS PASS
nt-syntax-datatypes-01 PASS PASS PASS PASS PASS
nt-syntax-datatypes-02 PASS PASS PASS PASS PASS
nt-syntax-bad-uri-01 PASS PASS PASS PASS PASS
nt-syntax-bad-uri-02 PASS PASS PASS PASS PASS
nt-syntax-bad-uri-03 PASS PASS PASS PASS PASS
nt-syntax-bad-uri-04 PASS PASS PASS PASS PASS
nt-syntax-bad-uri-05 PASS PASS PASS PASS PASS
nt-syntax-bad-uri-06 PASS PASS PASS PASS PASS
nt-syntax-bad-uri-07 PASS PASS PASS PASS PASS
nt-syntax-bad-uri-08 PASS PASS PASS PASS PASS
nt-syntax-bad-uri-09 PASS PASS PASS PASS PASS
nt-syntax-bad-prefix-01 PASS PASS PASS PASS PASS
nt-syntax-bad-base-01 PASS PASS PASS PASS PASS
nt-syntax-bad-struct-01 PASS PASS PASS PASS PASS
nt-syntax-bad-struct-02 PASS PASS PASS PASS PASS
nt-syntax-bad-lang-01 PASS PASS PASS PASS PASS
nt-syntax-bad-esc-01 PASS PASS PASS PASS PASS
nt-syntax-bad-esc-02 PASS PASS PASS PASS PASS
nt-syntax-bad-esc-03 PASS PASS PASS PASS PASS
nt-syntax-bad-string-01 PASS PASS PASS PASS PASS
nt-syntax-bad-string-02 PASS PASS PASS PASS PASS
nt-syntax-bad-string-03 PASS PASS PASS PASS PASS
nt-syntax-bad-string-04 PASS PASS PASS PASS PASS
nt-syntax-bad-string-05 PASS PASS PASS PASS PASS
nt-syntax-bad-string-06 PASS PASS PASS PASS PASS
nt-syntax-bad-string-07 PASS PASS PASS PASS PASS
nt-syntax-bad-num-01 PASS PASS PASS PASS PASS
nt-syntax-bad-num-02 PASS PASS PASS PASS PASS
nt-syntax-bad-num-03 PASS PASS PASS PASS PASS
nt-syntax-subm-01 PASS PASS PASS PASS PASS
comment_following_triple PASS PASS PASS PASS PASS
literal PASS PASS PASS PASS PASS
literal_all_controls PASS PASS PASS PASS PASS
literal_all_punctuation PASS PASS PASS PASS PASS
literal_ascii_boundaries PASS PASS PASS PASS PASS
literal_with_2_dquotes PASS PASS PASS PASS PASS
literal_with_2_squotes PASS PASS PASS PASS PASS
literal_with_BACKSPACE PASS PASS PASS PASS PASS
literal_with_CARRIAGE_RETURN PASS PASS PASS PASS PASS
literal_with_CHARACTER_TABULATION PASS PASS PASS PASS PASS
literal_with_dquote PASS PASS PASS PASS PASS
literal_with_FORM_FEED PASS PASS PASS PASS PASS
literal_with_LINE_FEED PASS PASS PASS PASS PASS
literal_with_numeric_escape4 PASS PASS PASS PASS PASS
literal_with_numeric_escape8 PASS PASS PASS PASS PASS
literal_with_REVERSE_SOLIDUS PASS PASS PASS PASS PASS
literal_with_REVERSE_SOLIDUS2 PASS PASS PASS PASS PASS
literal_with_squote PASS PASS PASS PASS PASS
literal_with_UTF8_boundaries PASS PASS PASS PASS PASS
langtagged_string PASS PASS PASS PASS PASS
lantag_with_subtag PASS PASS PASS PASS PASS
minimal_whitespace PASS PASS PASS PASS PASS
Percentage passed out of 85 Tests 100.0% 100.0% 100.0% 100.0% 100.0%

A. Test Subjects

This report was tested using the following test subjects:

Apache Jena
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
85/85 (100.0%)
Raptor
Programming Language
C
Home Page
http://librdf.org/raptor/
Developer
Home Page
http://www.dajobe.org/
Test Suite Compliance
85/85 (100.0%)
RDF.rb
Description
RDF.rb is a pure-Ruby library for working with Resource Description Framework (RDF) data.
Home Page
http://rubygems.org/gems/rdf
Developer
Arto Bendiken
Home Page
http://ar.to/
Ben Lavender
Home Page
http://bhuga.net/
Gregg Kellogg
Home Page
http://greggkellogg.net/
Test Suite Compliance
85/85 (100.0%)
rdflib
Home Page
https://github.com/RDFLib/rdflib
Developer
Gunnar Aastrand Grimnes
Home Page
http://gromgull.net
Test Suite Compliance
85/85 (100.0%)
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
85/85 (100.0%)

B. Individual Test Results

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

C. Test Definitions

Test nq-syntax-uri-01

URI graph with URI triple

Example 1: nq-syntax-uri-01 Input
<http://example/s> <http://example/p> <http://example/o> <http://example/g> .
Test nq-syntax-uri-02

URI graph with BNode subject

Example 2: nq-syntax-uri-02 Input
_:s <http://example/p> <http://example/o> <http://example/g> .
Test nq-syntax-uri-03

URI graph with BNode object

Example 3: nq-syntax-uri-03 Input
<http://example/s> <http://example/p> _:o <http://example/g> .
Test nq-syntax-uri-04

URI graph with simple literal

Example 4: nq-syntax-uri-04 Input
<http://example/s> <http://example/p> "o" <http://example/g> .
Test nq-syntax-uri-05

URI graph with language tagged literal

Example 5: nq-syntax-uri-05 Input
<http://example/s> <http://example/p> "o"@en <http://example/g> .
Test nq-syntax-uri-06

URI graph with datatyped literal

Example 6: nq-syntax-uri-06 Input
<http://example/s> <http://example/p> "o"^^<http://www.w3.org/2001/XMLSchema#string> <http://example/g> .
Test nq-syntax-bnode-01

BNode graph with URI triple

Example 7: nq-syntax-bnode-01 Input
<http://example/s> <http://example/p> <http://example/o> _:g .
Test nq-syntax-bnode-02

BNode graph with BNode subject

Example 8: nq-syntax-bnode-02 Input
_:s <http://example/p> <http://example/o> _:g .
Test nq-syntax-bnode-03

BNode graph with BNode object

Example 9: nq-syntax-bnode-03 Input
<http://example/s> <http://example/p> _:o _:g .
Test nq-syntax-bnode-04

BNode graph with simple literal

Example 10: nq-syntax-bnode-04 Input
<http://example/s> <http://example/p> "o" _:g .
Test nq-syntax-bnode-05

BNode graph with language tagged literal

Example 11: nq-syntax-bnode-05 Input
<http://example/s> <http://example/p> "o"@en _:g .
Test nq-syntax-bnode-06

BNode graph with datatyped literal

Example 12: nq-syntax-bnode-06 Input
<http://example/s> <http://example/p> "o"^^<http://www.w3.org/2001/XMLSchema#string> _:g .
Test nq-syntax-bad-literal-01

Graph name may not be a simple literal (negative test)

Example 13: nq-syntax-bad-literal-01 Input
<http://example/s> <http://example/p> <http://example/o> "o" .
Test nq-syntax-bad-literal-02

Graph name may not be a language tagged literal (negative test)

Example 14: nq-syntax-bad-literal-02 Input
<http://example/s> <http://example/p> <http://example/o> "o"@en .
Test nq-syntax-bad-literal-03

Graph name may not be a datatyped literal (negative test)

Example 15: nq-syntax-bad-literal-03 Input
<http://example/s> <http://example/p> <http://example/o> "o"^^<http://www.w3.org/2001/XMLSchema#string> .
Test nq-syntax-bad-uri-01

Graph name URI must be absolute (negative test)

Example 16: nq-syntax-bad-uri-01 Input
# No relative IRIs in N-Quads
<http://example/s> <http://example/p> <http://example/o> <g>.
Test nq-syntax-bad-quint-01

N-Quads does not have a fifth element (negative test)

Example 17: nq-syntax-bad-quint-01 Input
# N-Quads rejects a quint
<http://example/s> <http://example/p> <http://example/o> <http://example/g> <http://example/n> .
Test nt-syntax-file-01

Empty file

Example 18: nt-syntax-file-01 Input
Test nt-syntax-file-02

Only comment

Example 19: nt-syntax-file-02 Input
#Empty file.
Test nt-syntax-file-03

One comment, one empty line

Example 20: nt-syntax-file-03 Input
#One comment, one empty line.

Test nt-syntax-uri-01

Only IRIs

Example 21: nt-syntax-uri-01 Input
<http://example/s> <http://example/p> <http://example/o> .
Test nt-syntax-uri-02

IRIs with Unicode escape

Example 22: nt-syntax-uri-02 Input
# x53 is capital S
<http://example/\u0053> <http://example/p> <http://example/o> .
Test nt-syntax-uri-03

IRIs with long Unicode escape

Example 23: nt-syntax-uri-03 Input
# x53 is capital S
<http://example/\U00000053> <http://example/p> <http://example/o> .
Test nt-syntax-uri-04

Legal IRIs

Example 24: nt-syntax-uri-04 Input
# IRI with all chars in it.
<http://example/s> <http://example/p> <scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> .
Test nt-syntax-string-01

string literal

Example 25: nt-syntax-string-01 Input
<http://example/s> <http://example/p> "string" .
Test nt-syntax-string-02

langString literal

Example 26: nt-syntax-string-02 Input
<http://example/s> <http://example/p> "string"@en .
Test nt-syntax-string-03

langString literal with region

Example 27: nt-syntax-string-03 Input
<http://example/s> <http://example/p> "string"@en-uk .
Test nt-syntax-str-esc-01

string literal with escaped newline

Example 28: nt-syntax-str-esc-01 Input
<http://example/s> <http://example/p> "a\n" .
Test nt-syntax-str-esc-02

string literal with Unicode escape

Example 29: nt-syntax-str-esc-02 Input
<http://example/s> <http://example/p> "a\u0020b" .
Test nt-syntax-str-esc-03

string literal with long Unicode escape

Example 30: nt-syntax-str-esc-03 Input
<http://example/s> <http://example/p> "a\U00000020b" .
Test nt-syntax-bnode-01

bnode subject

Example 31: nt-syntax-bnode-01 Input
_:a  <http://example/p> <http://example/o> .
Test nt-syntax-bnode-02

bnode object

Example 32: nt-syntax-bnode-02 Input
<http://example/s> <http://example/p> _:a .
_:a <http://example/p> <http://example/o> .
Test nt-syntax-bnode-03

Blank node labels may start with a digit

Example 33: nt-syntax-bnode-03 Input
<http://example/s> <http://example/p> _:1a .
_:1a <http://example/p> <http://example/o> .
Test nt-syntax-datatypes-01

xsd:byte literal

Example 34: nt-syntax-datatypes-01 Input
<http://example/s> <http://example/p> "123"^^<http://www.w3.org/2001/XMLSchema#byte> .
Test nt-syntax-datatypes-02

integer as xsd:string

Example 35: nt-syntax-datatypes-02 Input
<http://example/s> <http://example/p> "123"^^<http://www.w3.org/2001/XMLSchema#string> .
Test nt-syntax-bad-uri-01

Bad IRI : space (negative test)

Example 36: nt-syntax-bad-uri-01 Input
# Bad IRI : space.
<http://example/ space> <http://example/p> <http://example/o> .
Test nt-syntax-bad-uri-02

Bad IRI : bad escape (negative test)

Example 37: nt-syntax-bad-uri-02 Input
# Bad IRI : bad escape
<http://example/\u00ZZ11> <http://example/p> <http://example/o> .
Test nt-syntax-bad-uri-03

Bad IRI : bad long escape (negative test)

Example 38: nt-syntax-bad-uri-03 Input
# Bad IRI : bad escape
<http://example/\U00ZZ1111> <http://example/p> <http://example/o> .
Test nt-syntax-bad-uri-04

Bad IRI : character escapes not allowed (negative test)

Example 39: nt-syntax-bad-uri-04 Input
# Bad IRI : character escapes not allowed.
<http://example/\n> <http://example/p> <http://example/o> .
Test nt-syntax-bad-uri-05

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

Example 40: nt-syntax-bad-uri-05 Input
# Bad IRI : character escapes not allowed.
<http://example/\/> <http://example/p> <http://example/o> .
Test nt-syntax-bad-uri-06

Bad IRI : relative IRI not allowed in subject (negative test)

Example 41: nt-syntax-bad-uri-06 Input
# No relative IRIs in N-Triples
<s> <http://example/p> <http://example/o> .
Test nt-syntax-bad-uri-07

Bad IRI : relative IRI not allowed in predicate (negative test)

Example 42: nt-syntax-bad-uri-07 Input
# No relative IRIs in N-Triples
<http://example/s> <p> <http://example/o> .
Test nt-syntax-bad-uri-08

Bad IRI : relative IRI not allowed in object (negative test)

Example 43: nt-syntax-bad-uri-08 Input
# No relative IRIs in N-Triples
<http://example/s> <http://example/p> <o> .
Test nt-syntax-bad-uri-09

Bad IRI : relative IRI not allowed in datatype (negative test)

Example 44: nt-syntax-bad-uri-09 Input
# No relative IRIs in N-Triples
<http://example/s> <http://example/p> "foo"^^<dt> .
Test nt-syntax-bad-prefix-01

@prefix not allowed in n-triples (negative test)

Example 45: nt-syntax-bad-prefix-01 Input
@prefix : <http://example/> .
Test nt-syntax-bad-base-01

@base not allowed in N-Triples (negative test)

Example 46: nt-syntax-bad-base-01 Input
@base <http://example/> .
Test nt-syntax-bad-struct-01

N-Triples does not have objectList (negative test)

Example 47: nt-syntax-bad-struct-01 Input
<http://example/s> <http://example/p> <http://example/o>, <http://example/o2> .
Test nt-syntax-bad-struct-02

N-Triples does not have predicateObjectList (negative test)

Example 48: nt-syntax-bad-struct-02 Input
<http://example/s> <http://example/p> <http://example/o>; <http://example/p2>, <http://example/o2> .
Test nt-syntax-bad-lang-01

langString with bad lang (negative test)

Example 49: nt-syntax-bad-lang-01 Input
# Bad lang tag
<http://example/s> <http://example/p> "string"@1 .
Test nt-syntax-bad-esc-01

Bad string escape (negative test)

Example 50: nt-syntax-bad-esc-01 Input
# Bad string escape
<http://example/s> <http://example/p> "a\zb" .
Test nt-syntax-bad-esc-02

Bad string escape (negative test)

Example 51: nt-syntax-bad-esc-02 Input
# Bad string escape
<http://example/s> <http://example/p> "\uWXYZ" .
Test nt-syntax-bad-esc-03

Bad string escape (negative test)

Example 52: nt-syntax-bad-esc-03 Input
# Bad string escape
<http://example/s> <http://example/p> "\U0000WXYZ" .
Test nt-syntax-bad-string-01

mismatching string literal open/close (negative test)

Example 53: nt-syntax-bad-string-01 Input
<http://example/s> <http://example/p> "abc' .
Test nt-syntax-bad-string-02

mismatching string literal open/close (negative test)

Example 54: nt-syntax-bad-string-02 Input
<http://example/s> <http://example/p> 1.0 .
Test nt-syntax-bad-string-03

single quotes (negative test)

Example 55: nt-syntax-bad-string-03 Input
<http://example/s> <http://example/p> 1.0e1 .
Test nt-syntax-bad-string-04

long single string literal (negative test)

Example 56: nt-syntax-bad-string-04 Input
<http://example/s> <http://example/p> '''abc''' .
Test nt-syntax-bad-string-05

long double string literal (negative test)

Example 57: nt-syntax-bad-string-05 Input
<http://example/s> <http://example/p> """abc""" .
Test nt-syntax-bad-string-06

string literal with no end (negative test)

Example 58: nt-syntax-bad-string-06 Input
<http://example/s> <http://example/p> "abc .
Test nt-syntax-bad-string-07

string literal with no start (negative test)

Example 59: nt-syntax-bad-string-07 Input
<http://example/s> <http://example/p> abc" .
Test nt-syntax-bad-num-01

no numbers in N-Triples (integer) (negative test)

Example 60: nt-syntax-bad-num-01 Input
<http://example/s> <http://example/p> 1 .
Test nt-syntax-bad-num-02

no numbers in N-Triples (decimal) (negative test)

Example 61: nt-syntax-bad-num-02 Input
<http://example/s> <http://example/p> 1.0 .
Test nt-syntax-bad-num-03

no numbers in N-Triples (float) (negative test)

Example 62: nt-syntax-bad-num-03 Input
<http://example/s> <http://example/p> 1.0e0 .
Test nt-syntax-subm-01

Submission test from Original RDF Test Cases

Example 63: nt-syntax-subm-01 Input
#
# Copyright World Wide Web Consortium, (Massachusetts Institute of
# Technology, Institut National de Recherche en Informatique et en
# Automatique, Keio University).
#
# All Rights Reserved.
#
# Please see the full Copyright clause at
# <http://www.w3.org/Consortium/Legal/copyright-software.html>
#
# Test file with a variety of legal N-Triples
#
# Dave Beckett - http://purl.org/net/dajobe/
#
# $Id: nt-syntax-subm-01.nq,v 1.1 2014-02-18 05:03:40 sandro Exp $
#
#####################################################################

# comment lines
# comment line after whitespace
# empty blank line, then one with spaces and tabs


<http://example.org/resource1> <http://example.org/property> <http://example.org/resource2> .
_:anon <http://example.org/property> <http://example.org/resource2> .
<http://example.org/resource2> <http://example.org/property> _:anon .
# spaces and tabs throughout:
<http://example.org/resource3> <http://example.org/property> <http://example.org/resource2> .

# line ending with CR NL (ASCII 13, ASCII 10)
<http://example.org/resource4> <http://example.org/property> <http://example.org/resource2> .

# 2 statement lines separated by single CR (ASCII 10)
<http://example.org/resource5> <http://example.org/property> <http://example.org/resource2> .
<http://example.org/resource6> <http://example.org/property> <http://example.org/resource2> .


# All literal escapes
<http://example.org/resource7> <http://example.org/property> "simple literal" .
<http://example.org/resource8> <http://example.org/property> "backslash:\\" .
<http://example.org/resource9> <http://example.org/property> "dquote:\"" .
<http://example.org/resource10> <http://example.org/property> "newline:\n" .
<http://example.org/resource11> <http://example.org/property> "return\r" .
<http://example.org/resource12> <http://example.org/property> "tab:\t" .

# Space is optional before final .
<http://example.org/resource13> <http://example.org/property> <http://example.org/resource2>.
<http://example.org/resource14> <http://example.org/property> "x".
<http://example.org/resource15> <http://example.org/property> _:anon.

# \u and \U escapes
# latin small letter e with acute symbol \u00E9 - 3 UTF-8 bytes #xC3 #A9
<http://example.org/resource16> <http://example.org/property> "\u00E9" .
# Euro symbol \u20ac - 3 UTF-8 bytes #xE2 #x82 #xAC
<http://example.org/resource17> <http://example.org/property> "\u20AC" .
# resource18 test removed
# resource19 test removed
# resource20 test removed

# XML Literals as Datatyped Literals
<http://example.org/resource21> <http://example.org/property> ""^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .
<http://example.org/resource22> <http://example.org/property> " "^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .
<http://example.org/resource23> <http://example.org/property> "x"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .
<http://example.org/resource23> <http://example.org/property> "\""^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .
<http://example.org/resource24> <http://example.org/property> "<a></a>"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .
<http://example.org/resource25> <http://example.org/property> "a <b></b>"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .
<http://example.org/resource26> <http://example.org/property> "a <b></b> c"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .
<http://example.org/resource26> <http://example.org/property> "a\n<b></b>\nc"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .
<http://example.org/resource27> <http://example.org/property> "chat"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .
# resource28 test removed 2003-08-03
# resource29 test removed 2003-08-03

# Plain literals with languages
<http://example.org/resource30> <http://example.org/property> "chat"@fr .
<http://example.org/resource31> <http://example.org/property> "chat"@en .

# Typed Literals
<http://example.org/resource32> <http://example.org/property> "abc"^^<http://example.org/datatype1> .
# resource33 test removed 2003-08-03
Test comment_following_triple

Tests comments after a triple

Example 64: comment_following_triple Input
<http://example/s> <http://example/p> <http://example/o> . # comment
<http://example/s> <http://example/p> _:o . # comment
<http://example/s> <http://example/p> "o" . # comment
<http://example/s> <http://example/p> "o"^^<http://example/dt> . # comment
<http://example/s> <http://example/p> "o"@en . # comment
Test literal

literal """x"""

Example 65: literal Input
<http://a.example/s> <http://a.example/p> "x" .
Test literal_all_controls

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

Example 66: literal_all_controls Input
<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 literal_all_punctuation

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

Example 67: literal_all_punctuation Input
<http://a.example/s> <http://a.example/p> " !\"#$%&():;<=>?@[]^_`{|}~" .
Test literal_ascii_boundaries

literal_ascii_boundaries '\x00\x26\x28...'

Example 68: literal_ascii_boundaries Input
<http://a.example/s> <http://a.example/p> "	&([]" .
Test literal_with_2_dquotes

literal with 2 squotes """a""b"""

Example 69: literal_with_2_dquotes Input
<http://a.example/s> <http://a.example/p> "x\"\"y" .
Test literal_with_2_squotes

literal with 2 squotes "x''y"

Example 70: literal_with_2_squotes Input
<http://a.example/s> <http://a.example/p> "x''y" .
Test literal_with_BACKSPACE

literal with BACKSPACE

Example 71: literal_with_BACKSPACE Input
<http://a.example/s> <http://a.example/p> "\b" .
Test literal_with_CARRIAGE_RETURN

literal with CARRIAGE RETURN

Example 72: literal_with_CARRIAGE_RETURN Input
<http://a.example/s> <http://a.example/p> "\r" .
Test literal_with_CHARACTER_TABULATION

literal with CHARACTER TABULATION

Example 73: literal_with_CHARACTER_TABULATION Input
<http://a.example/s> <http://a.example/p> "\t" .
Test literal_with_dquote

literal with dquote "x"y"

Example 74: literal_with_dquote Input
<http://a.example/s> <http://a.example/p> "x\"y" .
Test literal_with_FORM_FEED

literal with FORM FEED

Example 75: literal_with_FORM_FEED Input
<http://a.example/s> <http://a.example/p> "\f" .
Test literal_with_LINE_FEED

literal with LINE FEED

Example 76: literal_with_LINE_FEED Input
<http://a.example/s> <http://a.example/p> "\n" .
Test literal_with_numeric_escape4

literal with numeric escape4 \u

Example 77: literal_with_numeric_escape4 Input
<http://a.example/s> <http://a.example/p> "\u006F" .
Test literal_with_numeric_escape8

literal with numeric escape8 \U

Example 78: literal_with_numeric_escape8 Input
<http://a.example/s> <http://a.example/p> "\U0000006F" .
Test literal_with_REVERSE_SOLIDUS

literal with REVERSE SOLIDUS

Example 79: literal_with_REVERSE_SOLIDUS Input
<http://a.example/s> <http://a.example/p> "\\" .
Test literal_with_REVERSE_SOLIDUS2

REVERSE SOLIDUS at end of literal

Example 80: literal_with_REVERSE_SOLIDUS2 Input
<http://example.org/ns#s> <http://example.org/ns#p1> "test-\\" .
Test literal_with_squote

literal with squote "x'y"

Example 81: literal_with_squote Input
<http://a.example/s> <http://a.example/p> "x'y" .
Test literal_with_UTF8_boundaries

literal_with_UTF8_boundaries '\x80\x7ff\x800\xfff...'

Example 82: literal_with_UTF8_boundaries Input
<http://a.example/s> <http://a.example/p> "€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽" .
Test langtagged_string

langtagged string "x"@en

Example 83: langtagged_string Input
<http://a.example/s> <http://a.example/p> "chat"@en .
Test lantag_with_subtag

lantag with subtag "x"@en-us

Example 84: lantag_with_subtag Input
<http://example.org/ex#a> <http://example.org/ex#b> "Cheers"@en-UK .
Test minimal_whitespace

tests absense of whitespace between subject, predicate, object and end-of-statement

Example 85: minimal_whitespace Input
<http://example/s><http://example/p><http://example/o>.
<http://example/s><http://example/p>"Alice".
<http://example/s><http://example/p>_:o.
_:s<http://example/p><http://example/o>.
_:s<http://example/p>"Alice".
_:s<http://example/p>_:bnode1.

D. Report Generation Software

This report generated by earl-report version 0.3.4 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
[N-QUADS]
Gavin Carothers. RDF 1.1 N-Quads. W3C Recommendation, 25 February 2014. URL: http://www.w3.org/TR/2014/REC-n-quads-20140225/. The latest edition is available at http://www.w3.org/TR/n-quads/