aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2017-01-05 16:22:52 -0500
committerDavid Robillard <d@drobilla.net>2017-01-05 16:22:52 -0500
commit0c71ed6ce02ee7ff65a5da2cf863c5712a67cb4b (patch)
tree217344e3fac3b1f6cb8e116ef257cfa39835529f /tests
parent4c6600603704454df7c3a21039111f195d2d0ff1 (diff)
downloadserd-0c71ed6ce02ee7ff65a5da2cf863c5712a67cb4b.tar.gz
serd-0c71ed6ce02ee7ff65a5da2cf863c5712a67cb4b.tar.bz2
serd-0c71ed6ce02ee7ff65a5da2cf863c5712a67cb4b.zip
Add support for NQuads
Diffstat (limited to 'tests')
-rw-r--r--tests/NQuadsTests/README25
-rw-r--r--tests/NQuadsTests/comment_following_triple.nq5
-rw-r--r--tests/NQuadsTests/langtagged_string.nq1
-rw-r--r--tests/NQuadsTests/lantag_with_subtag.nq1
-rw-r--r--tests/NQuadsTests/literal.nq1
-rw-r--r--tests/NQuadsTests/literal_all_controls.nq1
-rw-r--r--tests/NQuadsTests/literal_all_punctuation.nq1
-rw-r--r--tests/NQuadsTests/literal_ascii_boundaries.nqbin0 -> 57 bytes
-rw-r--r--tests/NQuadsTests/literal_false.nq1
-rw-r--r--tests/NQuadsTests/literal_true.nq1
-rw-r--r--tests/NQuadsTests/literal_with_2_dquotes.nq1
-rw-r--r--tests/NQuadsTests/literal_with_2_squotes.nq1
-rw-r--r--tests/NQuadsTests/literal_with_BACKSPACE.nq1
-rw-r--r--tests/NQuadsTests/literal_with_CARRIAGE_RETURN.nq1
-rw-r--r--tests/NQuadsTests/literal_with_CHARACTER_TABULATION.nq1
-rw-r--r--tests/NQuadsTests/literal_with_FORM_FEED.nq1
-rw-r--r--tests/NQuadsTests/literal_with_LINE_FEED.nq1
-rw-r--r--tests/NQuadsTests/literal_with_REVERSE_SOLIDUS.nq1
-rw-r--r--tests/NQuadsTests/literal_with_REVERSE_SOLIDUS2.nq1
-rw-r--r--tests/NQuadsTests/literal_with_UTF8_boundaries.nq1
-rw-r--r--tests/NQuadsTests/literal_with_dquote.nq1
-rw-r--r--tests/NQuadsTests/literal_with_numeric_escape4.nq1
-rw-r--r--tests/NQuadsTests/literal_with_numeric_escape8.nq1
-rw-r--r--tests/NQuadsTests/literal_with_squote.nq1
-rw-r--r--tests/NQuadsTests/manifest.ttl695
-rw-r--r--tests/NQuadsTests/minimal_whitespace.nq6
-rw-r--r--tests/NQuadsTests/nq-syntax-bad-literal-01.nq1
-rw-r--r--tests/NQuadsTests/nq-syntax-bad-literal-02.nq1
-rw-r--r--tests/NQuadsTests/nq-syntax-bad-literal-03.nq1
-rw-r--r--tests/NQuadsTests/nq-syntax-bad-quint-01.nq2
-rw-r--r--tests/NQuadsTests/nq-syntax-bad-uri-01.nq2
-rw-r--r--tests/NQuadsTests/nq-syntax-bnode-01.nq1
-rw-r--r--tests/NQuadsTests/nq-syntax-bnode-02.nq1
-rw-r--r--tests/NQuadsTests/nq-syntax-bnode-03.nq1
-rw-r--r--tests/NQuadsTests/nq-syntax-bnode-04.nq1
-rw-r--r--tests/NQuadsTests/nq-syntax-bnode-05.nq1
-rw-r--r--tests/NQuadsTests/nq-syntax-bnode-06.nq1
-rw-r--r--tests/NQuadsTests/nq-syntax-uri-01.nq1
-rw-r--r--tests/NQuadsTests/nq-syntax-uri-02.nq1
-rw-r--r--tests/NQuadsTests/nq-syntax-uri-03.nq1
-rw-r--r--tests/NQuadsTests/nq-syntax-uri-04.nq1
-rw-r--r--tests/NQuadsTests/nq-syntax-uri-05.nq1
-rw-r--r--tests/NQuadsTests/nq-syntax-uri-06.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-base-01.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-esc-01.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-esc-02.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-esc-03.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-lang-01.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-num-01.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-num-02.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-num-03.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-prefix-01.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-string-01.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-string-02.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-string-03.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-string-04.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-string-05.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-string-06.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-string-07.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-struct-01.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-struct-02.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-uri-01.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-uri-02.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-uri-03.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-uri-04.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-uri-05.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-uri-06.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-uri-07.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-uri-08.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-bad-uri-09.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-bnode-01.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-bnode-02.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-bnode-03.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-datatypes-01.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-datatypes-02.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-file-01.nq0
-rw-r--r--tests/NQuadsTests/nt-syntax-file-02.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-file-03.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-str-esc-01.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-str-esc-02.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-str-esc-03.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-string-01.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-string-02.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-string-03.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-subm-01.nq79
-rw-r--r--tests/NQuadsTests/nt-syntax-uri-01.nq1
-rw-r--r--tests/NQuadsTests/nt-syntax-uri-02.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-uri-03.nq2
-rw-r--r--tests/NQuadsTests/nt-syntax-uri-04.nq2
89 files changed, 913 insertions, 0 deletions
diff --git a/tests/NQuadsTests/README b/tests/NQuadsTests/README
new file mode 100644
index 00000000..7aef79dd
--- /dev/null
+++ b/tests/NQuadsTests/README
@@ -0,0 +1,25 @@
+This README is for the W3C RDF Working Group's N-Quads test suite.
+This test suite contains two kinds of tests:
+
+ Positive syntax (rdft:TestNQuadsPositiveSyntax) - an input N-Quads
+ file with no syntax errors.
+
+ Negative syntax (rdft:TestNQuadsNegativeSyntax) - an input N-Quads
+ file with at least one syntax error.
+
+The manifest.ttl file in this directory lists tests in the
+RDF WG's N-Quads test suite. All
+tests have a name (mf:name) and an input (mf:action).
+
+• An implementation passes a positive syntax test if it parses the
+ input.
+
+• An implementation passes a negative syntax test if it fails to parse
+ the input.
+
+The home of the test suite is <http://www.w3.org/2013/NQuadsTests/>.
+
+See http://www.w3.org/2011/rdf-wg/wiki/RDF_Test_Suites for more details.
+
+Eric Prud'hommeaux <eric+turtle@w3.org> - 11 June 2013.
+Gregg Kellogg <gregg@greggkellogg.net> - 26 June 2013.
diff --git a/tests/NQuadsTests/comment_following_triple.nq b/tests/NQuadsTests/comment_following_triple.nq
new file mode 100644
index 00000000..5619459a
--- /dev/null
+++ b/tests/NQuadsTests/comment_following_triple.nq
@@ -0,0 +1,5 @@
+<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
diff --git a/tests/NQuadsTests/langtagged_string.nq b/tests/NQuadsTests/langtagged_string.nq
new file mode 100644
index 00000000..1bddb04e
--- /dev/null
+++ b/tests/NQuadsTests/langtagged_string.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "chat"@en .
diff --git a/tests/NQuadsTests/lantag_with_subtag.nq b/tests/NQuadsTests/lantag_with_subtag.nq
new file mode 100644
index 00000000..629cbf42
--- /dev/null
+++ b/tests/NQuadsTests/lantag_with_subtag.nq
@@ -0,0 +1 @@
+<http://example.org/ex#a> <http://example.org/ex#b> "Cheers"@en-UK .
diff --git a/tests/NQuadsTests/literal.nq b/tests/NQuadsTests/literal.nq
new file mode 100644
index 00000000..3aba89e4
--- /dev/null
+++ b/tests/NQuadsTests/literal.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "x" .
diff --git a/tests/NQuadsTests/literal_all_controls.nq b/tests/NQuadsTests/literal_all_controls.nq
new file mode 100644
index 00000000..91c8af14
--- /dev/null
+++ b/tests/NQuadsTests/literal_all_controls.nq
@@ -0,0 +1 @@
+<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" .
diff --git a/tests/NQuadsTests/literal_all_punctuation.nq b/tests/NQuadsTests/literal_all_punctuation.nq
new file mode 100644
index 00000000..c25d818f
--- /dev/null
+++ b/tests/NQuadsTests/literal_all_punctuation.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> " !\"#$%&():;<=>?@[]^_`{|}~" .
diff --git a/tests/NQuadsTests/literal_ascii_boundaries.nq b/tests/NQuadsTests/literal_ascii_boundaries.nq
new file mode 100644
index 00000000..7a4dc717
--- /dev/null
+++ b/tests/NQuadsTests/literal_ascii_boundaries.nq
Binary files differ
diff --git a/tests/NQuadsTests/literal_false.nq b/tests/NQuadsTests/literal_false.nq
new file mode 100644
index 00000000..5bbbae84
--- /dev/null
+++ b/tests/NQuadsTests/literal_false.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
diff --git a/tests/NQuadsTests/literal_true.nq b/tests/NQuadsTests/literal_true.nq
new file mode 100644
index 00000000..054b229f
--- /dev/null
+++ b/tests/NQuadsTests/literal_true.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "true"^^<http://www.w3.org/2001/XMLSchema#boolean> .
diff --git a/tests/NQuadsTests/literal_with_2_dquotes.nq b/tests/NQuadsTests/literal_with_2_dquotes.nq
new file mode 100644
index 00000000..3e69dc10
--- /dev/null
+++ b/tests/NQuadsTests/literal_with_2_dquotes.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "x\"\"y" .
diff --git a/tests/NQuadsTests/literal_with_2_squotes.nq b/tests/NQuadsTests/literal_with_2_squotes.nq
new file mode 100644
index 00000000..8ddc52e8
--- /dev/null
+++ b/tests/NQuadsTests/literal_with_2_squotes.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "x''y" .
diff --git a/tests/NQuadsTests/literal_with_BACKSPACE.nq b/tests/NQuadsTests/literal_with_BACKSPACE.nq
new file mode 100644
index 00000000..339013df
--- /dev/null
+++ b/tests/NQuadsTests/literal_with_BACKSPACE.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "\b" .
diff --git a/tests/NQuadsTests/literal_with_CARRIAGE_RETURN.nq b/tests/NQuadsTests/literal_with_CARRIAGE_RETURN.nq
new file mode 100644
index 00000000..91b85c89
--- /dev/null
+++ b/tests/NQuadsTests/literal_with_CARRIAGE_RETURN.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "\r" .
diff --git a/tests/NQuadsTests/literal_with_CHARACTER_TABULATION.nq b/tests/NQuadsTests/literal_with_CHARACTER_TABULATION.nq
new file mode 100644
index 00000000..a6a9d9f0
--- /dev/null
+++ b/tests/NQuadsTests/literal_with_CHARACTER_TABULATION.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "\t" .
diff --git a/tests/NQuadsTests/literal_with_FORM_FEED.nq b/tests/NQuadsTests/literal_with_FORM_FEED.nq
new file mode 100644
index 00000000..10d2c6d7
--- /dev/null
+++ b/tests/NQuadsTests/literal_with_FORM_FEED.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "\f" .
diff --git a/tests/NQuadsTests/literal_with_LINE_FEED.nq b/tests/NQuadsTests/literal_with_LINE_FEED.nq
new file mode 100644
index 00000000..462f97ac
--- /dev/null
+++ b/tests/NQuadsTests/literal_with_LINE_FEED.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "\n" .
diff --git a/tests/NQuadsTests/literal_with_REVERSE_SOLIDUS.nq b/tests/NQuadsTests/literal_with_REVERSE_SOLIDUS.nq
new file mode 100644
index 00000000..ebc846ed
--- /dev/null
+++ b/tests/NQuadsTests/literal_with_REVERSE_SOLIDUS.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "\\" .
diff --git a/tests/NQuadsTests/literal_with_REVERSE_SOLIDUS2.nq b/tests/NQuadsTests/literal_with_REVERSE_SOLIDUS2.nq
new file mode 100644
index 00000000..586e364d
--- /dev/null
+++ b/tests/NQuadsTests/literal_with_REVERSE_SOLIDUS2.nq
@@ -0,0 +1 @@
+<http://example.org/ns#s> <http://example.org/ns#p1> "test-\\" .
diff --git a/tests/NQuadsTests/literal_with_UTF8_boundaries.nq b/tests/NQuadsTests/literal_with_UTF8_boundaries.nq
new file mode 100644
index 00000000..0e1616db
--- /dev/null
+++ b/tests/NQuadsTests/literal_with_UTF8_boundaries.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "€߿ࠀ࿿က쿿퀀퟿�𐀀𿿽񀀀󿿽􀀀􏿽" .
diff --git a/tests/NQuadsTests/literal_with_dquote.nq b/tests/NQuadsTests/literal_with_dquote.nq
new file mode 100644
index 00000000..05a1fd3a
--- /dev/null
+++ b/tests/NQuadsTests/literal_with_dquote.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "x\"y" .
diff --git a/tests/NQuadsTests/literal_with_numeric_escape4.nq b/tests/NQuadsTests/literal_with_numeric_escape4.nq
new file mode 100644
index 00000000..16f0a036
--- /dev/null
+++ b/tests/NQuadsTests/literal_with_numeric_escape4.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "\u006F" .
diff --git a/tests/NQuadsTests/literal_with_numeric_escape8.nq b/tests/NQuadsTests/literal_with_numeric_escape8.nq
new file mode 100644
index 00000000..e909a79d
--- /dev/null
+++ b/tests/NQuadsTests/literal_with_numeric_escape8.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "\U0000006F" .
diff --git a/tests/NQuadsTests/literal_with_squote.nq b/tests/NQuadsTests/literal_with_squote.nq
new file mode 100644
index 00000000..acf7f58f
--- /dev/null
+++ b/tests/NQuadsTests/literal_with_squote.nq
@@ -0,0 +1 @@
+<http://a.example/s> <http://a.example/p> "x'y" .
diff --git a/tests/NQuadsTests/manifest.ttl b/tests/NQuadsTests/manifest.ttl
new file mode 100644
index 00000000..eb5f5508
--- /dev/null
+++ b/tests/NQuadsTests/manifest.ttl
@@ -0,0 +1,695 @@
+# N-Quads Syntax tests
+
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix mf: <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
+@prefix qt: <http://www.w3.org/2001/sw/DataAccess/tests/test-query#> .
+
+@prefix rdft: <http://www.w3.org/ns/rdftest#> .
+
+<> a mf:Manifest ;
+ mf:name "N-Quads tests" ;
+ mf:entries
+ (
+ <#nq-syntax-uri-01>
+ <#nq-syntax-uri-02>
+ <#nq-syntax-uri-03>
+ <#nq-syntax-uri-04>
+ <#nq-syntax-uri-05>
+ <#nq-syntax-uri-06>
+ <#nq-syntax-bnode-01>
+ <#nq-syntax-bnode-02>
+ <#nq-syntax-bnode-03>
+ <#nq-syntax-bnode-04>
+ <#nq-syntax-bnode-05>
+ <#nq-syntax-bnode-06>
+ <#nq-syntax-bad-literal-01>
+ <#nq-syntax-bad-literal-02>
+ <#nq-syntax-bad-literal-03>
+ <#nq-syntax-bad-uri-01>
+ <#nq-syntax-bad-quint-01>
+ <#nt-syntax-file-01>
+ <#nt-syntax-file-02>
+ <#nt-syntax-file-03>
+ <#nt-syntax-uri-01>
+ <#nt-syntax-uri-02>
+ <#nt-syntax-uri-03>
+ <#nt-syntax-uri-04>
+ <#nt-syntax-string-01>
+ <#nt-syntax-string-02>
+ <#nt-syntax-string-03>
+ <#nt-syntax-str-esc-01>
+ <#nt-syntax-str-esc-02>
+ <#nt-syntax-str-esc-03>
+ <#nt-syntax-bnode-01>
+ <#nt-syntax-bnode-02>
+ <#nt-syntax-bnode-03>
+ <#nt-syntax-datatypes-01>
+ <#nt-syntax-datatypes-02>
+ <#nt-syntax-bad-uri-01>
+ <#nt-syntax-bad-uri-02>
+ <#nt-syntax-bad-uri-03>
+ <#nt-syntax-bad-uri-04>
+ <#nt-syntax-bad-uri-05>
+ <#nt-syntax-bad-uri-06>
+ <#nt-syntax-bad-uri-07>
+ <#nt-syntax-bad-uri-08>
+ <#nt-syntax-bad-uri-09>
+ <#nt-syntax-bad-prefix-01>
+ <#nt-syntax-bad-base-01>
+ <#nt-syntax-bad-struct-01>
+ <#nt-syntax-bad-struct-02>
+ <#nt-syntax-bad-lang-01>
+ <#nt-syntax-bad-esc-01>
+ <#nt-syntax-bad-esc-02>
+ <#nt-syntax-bad-esc-03>
+ <#nt-syntax-bad-string-01>
+ <#nt-syntax-bad-string-02>
+ <#nt-syntax-bad-string-03>
+ <#nt-syntax-bad-string-04>
+ <#nt-syntax-bad-string-05>
+ <#nt-syntax-bad-string-06>
+ <#nt-syntax-bad-string-07>
+ <#nt-syntax-bad-num-01>
+ <#nt-syntax-bad-num-02>
+ <#nt-syntax-bad-num-03>
+ <#nt-syntax-subm-01>
+ <#comment_following_triple>
+ <#literal>
+ <#literal_all_controls>
+ <#literal_all_punctuation>
+ <#literal_ascii_boundaries>
+ <#literal_with_2_dquotes>
+ <#literal_with_2_squotes>
+ <#literal_with_BACKSPACE>
+ <#literal_with_CARRIAGE_RETURN>
+ <#literal_with_CHARACTER_TABULATION>
+ <#literal_with_dquote>
+ <#literal_with_FORM_FEED>
+ <#literal_with_LINE_FEED>
+ <#literal_with_numeric_escape4>
+ <#literal_with_numeric_escape8>
+ <#literal_with_REVERSE_SOLIDUS>
+ <#literal_with_REVERSE_SOLIDUS2>
+ <#literal_with_squote>
+ <#literal_with_UTF8_boundaries>
+ <#langtagged_string>
+ <#lantag_with_subtag>
+ <#minimal_whitespace>
+ ) .
+
+<#nq-syntax-uri-01> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nq-syntax-uri-01" ;
+ rdfs:comment "URI graph with URI triple" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-uri-01.nq> ;
+ .
+
+<#nq-syntax-uri-02> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nq-syntax-uri-02" ;
+ rdfs:comment "URI graph with BNode subject" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-uri-02.nq> ;
+ .
+
+<#nq-syntax-uri-03> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nq-syntax-uri-03" ;
+ rdfs:comment "URI graph with BNode object" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-uri-03.nq> ;
+ .
+
+<#nq-syntax-uri-04> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nq-syntax-uri-04" ;
+ rdfs:comment "URI graph with simple literal" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-uri-04.nq> ;
+ .
+
+<#nq-syntax-uri-05> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nq-syntax-uri-05" ;
+ rdfs:comment "URI graph with language tagged literal" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-uri-05.nq> ;
+ .
+
+<#nq-syntax-uri-06> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nq-syntax-uri-06" ;
+ rdfs:comment "URI graph with datatyped literal" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-uri-06.nq> ;
+ .
+
+<#nq-syntax-bnode-01> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nq-syntax-bnode-01" ;
+ rdfs:comment "BNode graph with URI triple" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-bnode-01.nq> ;
+ .
+
+<#nq-syntax-bnode-02> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nq-syntax-bnode-02" ;
+ rdfs:comment "BNode graph with BNode subject" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-bnode-02.nq> ;
+ .
+
+<#nq-syntax-bnode-03> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nq-syntax-bnode-03" ;
+ rdfs:comment "BNode graph with BNode object" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-bnode-03.nq> ;
+ .
+
+<#nq-syntax-bnode-04> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nq-syntax-bnode-04" ;
+ rdfs:comment "BNode graph with simple literal" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-bnode-04.nq> ;
+ .
+
+<#nq-syntax-bnode-05> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nq-syntax-bnode-05" ;
+ rdfs:comment "BNode graph with language tagged literal" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-bnode-05.nq> ;
+ .
+
+<#nq-syntax-bnode-06> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nq-syntax-bnode-06" ;
+ rdfs:comment "BNode graph with datatyped literal" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-bnode-06.nq> ;
+ .
+
+<#nq-syntax-bad-literal-01> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nq-syntax-bad-literal-01" ;
+ rdfs:comment "Graph name may not be a simple literal (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-bad-literal-01.nq> ;
+ .
+
+<#nq-syntax-bad-literal-02> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nq-syntax-bad-literal-02" ;
+ rdfs:comment "Graph name may not be a language tagged literal (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-bad-literal-02.nq> ;
+ .
+
+<#nq-syntax-bad-literal-03> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nq-syntax-bad-literal-03" ;
+ rdfs:comment "Graph name may not be a datatyped literal (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-bad-literal-03.nq> ;
+ .
+
+<#nq-syntax-bad-uri-01> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nq-syntax-bad-uri-01" ;
+ rdfs:comment "Graph name URI must be absolute (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-bad-uri-01.nq> ;
+ .
+
+<#nq-syntax-bad-quint-01> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nq-syntax-bad-quint-01" ;
+ rdfs:comment "N-Quads does not have a fifth element (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nq-syntax-bad-quint-01.nq> ;
+ .
+
+<#nt-syntax-file-01> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-file-01" ;
+ rdfs:comment "Empty file" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-file-01.nq> ;
+ .
+
+<#nt-syntax-file-02> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-file-02" ;
+ rdfs:comment "Only comment" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-file-02.nq> ;
+ .
+
+<#nt-syntax-file-03> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-file-03" ;
+ rdfs:comment "One comment, one empty line" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-file-03.nq> ;
+ .
+
+<#nt-syntax-uri-01> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-uri-01" ;
+ rdfs:comment "Only IRIs" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-uri-01.nq> ;
+ .
+
+<#nt-syntax-uri-02> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-uri-02" ;
+ rdfs:comment "IRIs with Unicode escape" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-uri-02.nq> ;
+ .
+
+<#nt-syntax-uri-03> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-uri-03" ;
+ rdfs:comment "IRIs with long Unicode escape" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-uri-03.nq> ;
+ .
+
+<#nt-syntax-uri-04> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-uri-04" ;
+ rdfs:comment "Legal IRIs" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-uri-04.nq> ;
+ .
+
+<#nt-syntax-string-01> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-string-01" ;
+ rdfs:comment "string literal" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-string-01.nq> ;
+ .
+
+<#nt-syntax-string-02> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-string-02" ;
+ rdfs:comment "langString literal" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-string-02.nq> ;
+ .
+
+<#nt-syntax-string-03> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-string-03" ;
+ rdfs:comment "langString literal with region" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-string-03.nq> ;
+ .
+
+<#nt-syntax-str-esc-01> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-str-esc-01" ;
+ rdfs:comment "string literal with escaped newline" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-str-esc-01.nq> ;
+ .
+
+<#nt-syntax-str-esc-02> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-str-esc-02" ;
+ rdfs:comment "string literal with Unicode escape" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-str-esc-02.nq> ;
+ .
+
+<#nt-syntax-str-esc-03> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-str-esc-03" ;
+ rdfs:comment "string literal with long Unicode escape" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-str-esc-03.nq> ;
+ .
+
+<#nt-syntax-bnode-01> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-bnode-01" ;
+ rdfs:comment "bnode subject" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bnode-01.nq> ;
+ .
+
+<#nt-syntax-bnode-02> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-bnode-02" ;
+ rdfs:comment "bnode object" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bnode-02.nq> ;
+ .
+
+<#nt-syntax-bnode-03> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-bnode-03" ;
+ rdfs:comment "Blank node labels may start with a digit" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bnode-03.nq> ;
+ .
+
+<#nt-syntax-datatypes-01> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-datatypes-01" ;
+ rdfs:comment "xsd:byte literal" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-datatypes-01.nq> ;
+ .
+
+<#nt-syntax-datatypes-02> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-datatypes-02" ;
+ rdfs:comment "integer as xsd:string" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-datatypes-02.nq> ;
+ .
+
+<#nt-syntax-bad-uri-01> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-uri-01" ;
+ rdfs:comment "Bad IRI : space (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-uri-01.nq> ;
+ .
+
+<#nt-syntax-bad-uri-02> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-uri-02" ;
+ rdfs:comment "Bad IRI : bad escape (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-uri-02.nq> ;
+ .
+
+<#nt-syntax-bad-uri-03> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-uri-03" ;
+ rdfs:comment "Bad IRI : bad long escape (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-uri-03.nq> ;
+ .
+
+<#nt-syntax-bad-uri-04> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-uri-04" ;
+ rdfs:comment "Bad IRI : character escapes not allowed (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-uri-04.nq> ;
+ .
+
+<#nt-syntax-bad-uri-05> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-uri-05" ;
+ rdfs:comment "Bad IRI : character escapes not allowed (2) (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-uri-05.nq> ;
+ .
+
+<#nt-syntax-bad-uri-06> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-uri-06" ;
+ rdfs:comment "Bad IRI : relative IRI not allowed in subject (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-uri-06.nq> ;
+ .
+
+<#nt-syntax-bad-uri-07> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-uri-07" ;
+ rdfs:comment "Bad IRI : relative IRI not allowed in predicate (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-uri-07.nq> ;
+ .
+
+<#nt-syntax-bad-uri-08> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-uri-08" ;
+ rdfs:comment "Bad IRI : relative IRI not allowed in object (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-uri-08.nq> ;
+ .
+
+<#nt-syntax-bad-uri-09> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-uri-09" ;
+ rdfs:comment "Bad IRI : relative IRI not allowed in datatype (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-uri-09.nq> ;
+ .
+
+<#nt-syntax-bad-prefix-01> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-prefix-01" ;
+ rdfs:comment "@prefix not allowed in n-triples (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-prefix-01.nq> ;
+ .
+
+<#nt-syntax-bad-base-01> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-base-01" ;
+ rdfs:comment "@base not allowed in N-Triples (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-base-01.nq> ;
+ .
+
+<#nt-syntax-bad-struct-01> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-struct-01" ;
+ rdfs:comment "N-Triples does not have objectList (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-struct-01.nq> ;
+ .
+
+<#nt-syntax-bad-struct-02> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-struct-02" ;
+ rdfs:comment "N-Triples does not have predicateObjectList (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-struct-02.nq> ;
+ .
+
+<#nt-syntax-bad-lang-01> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-lang-01" ;
+ rdfs:comment "langString with bad lang (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-lang-01.nq> ;
+ .
+
+<#nt-syntax-bad-esc-01> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-esc-01" ;
+ rdfs:comment "Bad string escape (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-esc-01.nq> ;
+ .
+
+<#nt-syntax-bad-esc-02> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-esc-02" ;
+ rdfs:comment "Bad string escape (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-esc-02.nq> ;
+ .
+
+<#nt-syntax-bad-esc-03> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-esc-03" ;
+ rdfs:comment "Bad string escape (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-esc-03.nq> ;
+ .
+
+<#nt-syntax-bad-string-01> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-string-01" ;
+ rdfs:comment "mismatching string literal open/close (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-string-01.nq> ;
+ .
+
+<#nt-syntax-bad-string-02> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-string-02" ;
+ rdfs:comment "mismatching string literal open/close (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-string-02.nq> ;
+ .
+
+<#nt-syntax-bad-string-03> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-string-03" ;
+ rdfs:comment "single quotes (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-string-03.nq> ;
+ .
+
+<#nt-syntax-bad-string-04> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-string-04" ;
+ rdfs:comment "long single string literal (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-string-04.nq> ;
+ .
+
+<#nt-syntax-bad-string-05> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-string-05" ;
+ rdfs:comment "long double string literal (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-string-05.nq> ;
+ .
+
+<#nt-syntax-bad-string-06> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-string-06" ;
+ rdfs:comment "string literal with no end (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-string-06.nq> ;
+ .
+
+<#nt-syntax-bad-string-07> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-string-07" ;
+ rdfs:comment "string literal with no start (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-string-07.nq> ;
+ .
+
+<#nt-syntax-bad-num-01> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-num-01" ;
+ rdfs:comment "no numbers in N-Triples (integer) (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-num-01.nq> ;
+ .
+
+<#nt-syntax-bad-num-02> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-num-02" ;
+ rdfs:comment "no numbers in N-Triples (decimal) (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-num-02.nq> ;
+ .
+
+<#nt-syntax-bad-num-03> a rdft:TestNQuadsNegativeSyntax ;
+ mf:name "nt-syntax-bad-num-03" ;
+ rdfs:comment "no numbers in N-Triples (float) (negative test)" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-bad-num-03.nq> ;
+ .
+
+<#nt-syntax-subm-01> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "nt-syntax-subm-01" ;
+ rdfs:comment "Submission test from Original RDF Test Cases" ;
+ rdft:approval rdft:Approved ;
+ mf:action <nt-syntax-subm-01.nq> ;
+ .
+
+<#comment_following_triple> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "comment_following_triple" ;
+ rdfs:comment "Tests comments after a triple" ;
+ rdft:approval rdft:Approved ;
+ mf:action <comment_following_triple.nq> ;
+ .
+
+<#literal_ascii_boundaries> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_ascii_boundaries" ;
+ rdfs:comment "literal_ascii_boundaries '\\x00\\x26\\x28...'" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_ascii_boundaries.nq> ;
+ .
+
+<#literal_with_UTF8_boundaries> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_with_UTF8_boundaries" ;
+ rdfs:comment "literal_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_with_UTF8_boundaries.nq> ;
+ .
+
+<#literal_all_controls> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_all_controls" ;
+ rdfs:comment "literal_all_controls '\\x00\\x01\\x02\\x03\\x04...'" ;
+ rdft:approval rdft:Approved ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_all_controls.nq> ;
+ .
+
+<#literal_all_punctuation> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_all_punctuation" ;
+ rdfs:comment "literal_all_punctuation '!\"#$%&()...'" ;
+ rdft:approval rdft:Approved ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_all_punctuation.nq> ;
+ .
+
+<#literal_with_squote> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_with_squote" ;
+ rdfs:comment "literal with squote \"x'y\"" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_with_squote.nq> ;
+ .
+
+<#literal_with_2_squotes> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_with_2_squotes" ;
+ rdfs:comment "literal with 2 squotes \"x''y\"" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_with_2_squotes.nq> ;
+ .
+
+<#literal> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal" ;
+ rdfs:comment "literal \"\"\"x\"\"\"" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal.nq> ;
+ .
+
+<#literal_with_dquote> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_with_dquote" ;
+ rdfs:comment "literal with dquote \"x\"y\"" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_with_dquote.nq> ;
+ .
+
+<#literal_with_2_dquotes> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_with_2_dquotes" ;
+ rdfs:comment "literal with 2 squotes \"\"\"a\"\"b\"\"\"" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_with_2_dquotes.nq> ;
+ .
+
+<#literal_with_REVERSE_SOLIDUS2> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_with_REVERSE_SOLIDUS2" ;
+ rdfs:comment "REVERSE SOLIDUS at end of literal" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_with_REVERSE_SOLIDUS2.nq> ;
+ .
+
+<#literal_with_CHARACTER_TABULATION> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_with_CHARACTER_TABULATION" ;
+ rdfs:comment "literal with CHARACTER TABULATION" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_with_CHARACTER_TABULATION.nq> ;
+ .
+
+<#literal_with_BACKSPACE> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_with_BACKSPACE" ;
+ rdfs:comment "literal with BACKSPACE" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_with_BACKSPACE.nq> ;
+ .
+
+<#literal_with_LINE_FEED> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_with_LINE_FEED" ;
+ rdfs:comment "literal with LINE FEED" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_with_LINE_FEED.nq> ;
+ .
+
+<#literal_with_CARRIAGE_RETURN> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_with_CARRIAGE_RETURN" ;
+ rdfs:comment "literal with CARRIAGE RETURN" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_with_CARRIAGE_RETURN.nq> ;
+ .
+
+<#literal_with_FORM_FEED> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_with_FORM_FEED" ;
+ rdfs:comment "literal with FORM FEED" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_with_FORM_FEED.nq> ;
+ .
+
+<#literal_with_REVERSE_SOLIDUS> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_with_REVERSE_SOLIDUS" ;
+ rdfs:comment "literal with REVERSE SOLIDUS" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_with_REVERSE_SOLIDUS.nq> ;
+ .
+
+<#literal_with_numeric_escape4> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_with_numeric_escape4" ;
+ rdfs:comment "literal with numeric escape4 \\u" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_with_numeric_escape4.nq> ;
+ .
+
+<#literal_with_numeric_escape8> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "literal_with_numeric_escape8" ;
+ rdfs:comment "literal with numeric escape8 \\U" ;
+ rdft:approval rdft:Approved ;
+ mf:action <literal_with_numeric_escape8.nq> ;
+ .
+
+<#langtagged_string> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "langtagged_string" ;
+ rdfs:comment "langtagged string \"x\"@en" ;
+ rdft:approval rdft:Approved ;
+ mf:action <langtagged_string.nq> ;
+ .
+
+<#lantag_with_subtag> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "lantag_with_subtag" ;
+ rdfs:comment "lantag with subtag \"x\"@en-us" ;
+ rdft:approval rdft:Approved ;
+ mf:action <lantag_with_subtag.nq> ;
+ .
+
+<#minimal_whitespace> a rdft:TestNQuadsPositiveSyntax ;
+ mf:name "minimal_whitespace" ;
+ rdfs:comment "tests absense of whitespace between subject, predicate, object and end-of-statement" ;
+ rdft:approval rdft:Approved ;
+ mf:action <minimal_whitespace.nq> ;
+ .
diff --git a/tests/NQuadsTests/minimal_whitespace.nq b/tests/NQuadsTests/minimal_whitespace.nq
new file mode 100644
index 00000000..e9e3a801
--- /dev/null
+++ b/tests/NQuadsTests/minimal_whitespace.nq
@@ -0,0 +1,6 @@
+<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.
diff --git a/tests/NQuadsTests/nq-syntax-bad-literal-01.nq b/tests/NQuadsTests/nq-syntax-bad-literal-01.nq
new file mode 100644
index 00000000..bb17eb37
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-bad-literal-01.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> <http://example/o> "o" . \ No newline at end of file
diff --git a/tests/NQuadsTests/nq-syntax-bad-literal-02.nq b/tests/NQuadsTests/nq-syntax-bad-literal-02.nq
new file mode 100644
index 00000000..ea303b28
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-bad-literal-02.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> <http://example/o> "o"@en . \ No newline at end of file
diff --git a/tests/NQuadsTests/nq-syntax-bad-literal-03.nq b/tests/NQuadsTests/nq-syntax-bad-literal-03.nq
new file mode 100644
index 00000000..854b867f
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-bad-literal-03.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> <http://example/o> "o"^^<http://www.w3.org/2001/XMLSchema#string> . \ No newline at end of file
diff --git a/tests/NQuadsTests/nq-syntax-bad-quint-01.nq b/tests/NQuadsTests/nq-syntax-bad-quint-01.nq
new file mode 100644
index 00000000..52b7581e
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-bad-quint-01.nq
@@ -0,0 +1,2 @@
+# N-Quads rejects a quint
+<http://example/s> <http://example/p> <http://example/o> <http://example/g> <http://example/n> .
diff --git a/tests/NQuadsTests/nq-syntax-bad-uri-01.nq b/tests/NQuadsTests/nq-syntax-bad-uri-01.nq
new file mode 100644
index 00000000..3bf4dbd0
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-bad-uri-01.nq
@@ -0,0 +1,2 @@
+# No relative IRIs in N-Quads
+<http://example/s> <http://example/p> <http://example/o> <g>.
diff --git a/tests/NQuadsTests/nq-syntax-bnode-01.nq b/tests/NQuadsTests/nq-syntax-bnode-01.nq
new file mode 100644
index 00000000..b7acbd5c
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-bnode-01.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> <http://example/o> _:g . \ No newline at end of file
diff --git a/tests/NQuadsTests/nq-syntax-bnode-02.nq b/tests/NQuadsTests/nq-syntax-bnode-02.nq
new file mode 100644
index 00000000..07c92637
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-bnode-02.nq
@@ -0,0 +1 @@
+_:s <http://example/p> <http://example/o> _:g . \ No newline at end of file
diff --git a/tests/NQuadsTests/nq-syntax-bnode-03.nq b/tests/NQuadsTests/nq-syntax-bnode-03.nq
new file mode 100644
index 00000000..5f89bd96
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-bnode-03.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> _:o _:g . \ No newline at end of file
diff --git a/tests/NQuadsTests/nq-syntax-bnode-04.nq b/tests/NQuadsTests/nq-syntax-bnode-04.nq
new file mode 100644
index 00000000..f89ca814
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-bnode-04.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "o" _:g . \ No newline at end of file
diff --git a/tests/NQuadsTests/nq-syntax-bnode-05.nq b/tests/NQuadsTests/nq-syntax-bnode-05.nq
new file mode 100644
index 00000000..9bb45ce6
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-bnode-05.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "o"@en _:g . \ No newline at end of file
diff --git a/tests/NQuadsTests/nq-syntax-bnode-06.nq b/tests/NQuadsTests/nq-syntax-bnode-06.nq
new file mode 100644
index 00000000..194ffdc2
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-bnode-06.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "o"^^<http://www.w3.org/2001/XMLSchema#string> _:g . \ No newline at end of file
diff --git a/tests/NQuadsTests/nq-syntax-uri-01.nq b/tests/NQuadsTests/nq-syntax-uri-01.nq
new file mode 100644
index 00000000..3026e122
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-uri-01.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> <http://example/o> <http://example/g> . \ No newline at end of file
diff --git a/tests/NQuadsTests/nq-syntax-uri-02.nq b/tests/NQuadsTests/nq-syntax-uri-02.nq
new file mode 100644
index 00000000..1590ab94
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-uri-02.nq
@@ -0,0 +1 @@
+_:s <http://example/p> <http://example/o> <http://example/g> . \ No newline at end of file
diff --git a/tests/NQuadsTests/nq-syntax-uri-03.nq b/tests/NQuadsTests/nq-syntax-uri-03.nq
new file mode 100644
index 00000000..4592edcb
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-uri-03.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> _:o <http://example/g> . \ No newline at end of file
diff --git a/tests/NQuadsTests/nq-syntax-uri-04.nq b/tests/NQuadsTests/nq-syntax-uri-04.nq
new file mode 100644
index 00000000..f7b834ab
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-uri-04.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "o" <http://example/g> . \ No newline at end of file
diff --git a/tests/NQuadsTests/nq-syntax-uri-05.nq b/tests/NQuadsTests/nq-syntax-uri-05.nq
new file mode 100644
index 00000000..cf5a0ee2
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-uri-05.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "o"@en <http://example/g> . \ No newline at end of file
diff --git a/tests/NQuadsTests/nq-syntax-uri-06.nq b/tests/NQuadsTests/nq-syntax-uri-06.nq
new file mode 100644
index 00000000..65e77033
--- /dev/null
+++ b/tests/NQuadsTests/nq-syntax-uri-06.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "o"^^<http://www.w3.org/2001/XMLSchema#string> <http://example/g> . \ No newline at end of file
diff --git a/tests/NQuadsTests/nt-syntax-bad-base-01.nq b/tests/NQuadsTests/nt-syntax-bad-base-01.nq
new file mode 100644
index 00000000..dff1b3b4
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-base-01.nq
@@ -0,0 +1 @@
+@base <http://example/> .
diff --git a/tests/NQuadsTests/nt-syntax-bad-esc-01.nq b/tests/NQuadsTests/nt-syntax-bad-esc-01.nq
new file mode 100644
index 00000000..f7a88add
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-esc-01.nq
@@ -0,0 +1,2 @@
+# Bad string escape
+<http://example/s> <http://example/p> "a\zb" .
diff --git a/tests/NQuadsTests/nt-syntax-bad-esc-02.nq b/tests/NQuadsTests/nt-syntax-bad-esc-02.nq
new file mode 100644
index 00000000..72711d49
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-esc-02.nq
@@ -0,0 +1,2 @@
+# Bad string escape
+<http://example/s> <http://example/p> "\uWXYZ" .
diff --git a/tests/NQuadsTests/nt-syntax-bad-esc-03.nq b/tests/NQuadsTests/nt-syntax-bad-esc-03.nq
new file mode 100644
index 00000000..3a4522fc
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-esc-03.nq
@@ -0,0 +1,2 @@
+# Bad string escape
+<http://example/s> <http://example/p> "\U0000WXYZ" .
diff --git a/tests/NQuadsTests/nt-syntax-bad-lang-01.nq b/tests/NQuadsTests/nt-syntax-bad-lang-01.nq
new file mode 100644
index 00000000..a4d952c8
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-lang-01.nq
@@ -0,0 +1,2 @@
+# Bad lang tag
+<http://example/s> <http://example/p> "string"@1 .
diff --git a/tests/NQuadsTests/nt-syntax-bad-num-01.nq b/tests/NQuadsTests/nt-syntax-bad-num-01.nq
new file mode 100644
index 00000000..2be6f516
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-num-01.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> 1 .
diff --git a/tests/NQuadsTests/nt-syntax-bad-num-02.nq b/tests/NQuadsTests/nt-syntax-bad-num-02.nq
new file mode 100644
index 00000000..e1d5b06c
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-num-02.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> 1.0 .
diff --git a/tests/NQuadsTests/nt-syntax-bad-num-03.nq b/tests/NQuadsTests/nt-syntax-bad-num-03.nq
new file mode 100644
index 00000000..a9be82fc
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-num-03.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> 1.0e0 .
diff --git a/tests/NQuadsTests/nt-syntax-bad-prefix-01.nq b/tests/NQuadsTests/nt-syntax-bad-prefix-01.nq
new file mode 100644
index 00000000..89e08cc7
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-prefix-01.nq
@@ -0,0 +1 @@
+@prefix : <http://example/> .
diff --git a/tests/NQuadsTests/nt-syntax-bad-string-01.nq b/tests/NQuadsTests/nt-syntax-bad-string-01.nq
new file mode 100644
index 00000000..988af87a
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-string-01.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "abc' .
diff --git a/tests/NQuadsTests/nt-syntax-bad-string-02.nq b/tests/NQuadsTests/nt-syntax-bad-string-02.nq
new file mode 100644
index 00000000..e1d5b06c
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-string-02.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> 1.0 .
diff --git a/tests/NQuadsTests/nt-syntax-bad-string-03.nq b/tests/NQuadsTests/nt-syntax-bad-string-03.nq
new file mode 100644
index 00000000..64d343da
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-string-03.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> 1.0e1 .
diff --git a/tests/NQuadsTests/nt-syntax-bad-string-04.nq b/tests/NQuadsTests/nt-syntax-bad-string-04.nq
new file mode 100644
index 00000000..af4ff28f
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-string-04.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> '''abc''' .
diff --git a/tests/NQuadsTests/nt-syntax-bad-string-05.nq b/tests/NQuadsTests/nt-syntax-bad-string-05.nq
new file mode 100644
index 00000000..75ad4b2b
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-string-05.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> """abc""" .
diff --git a/tests/NQuadsTests/nt-syntax-bad-string-06.nq b/tests/NQuadsTests/nt-syntax-bad-string-06.nq
new file mode 100644
index 00000000..56dcbc60
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-string-06.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "abc .
diff --git a/tests/NQuadsTests/nt-syntax-bad-string-07.nq b/tests/NQuadsTests/nt-syntax-bad-string-07.nq
new file mode 100644
index 00000000..7f1ee800
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-string-07.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> abc" .
diff --git a/tests/NQuadsTests/nt-syntax-bad-struct-01.nq b/tests/NQuadsTests/nt-syntax-bad-struct-01.nq
new file mode 100644
index 00000000..d546d564
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-struct-01.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> <http://example/o>, <http://example/o2> .
diff --git a/tests/NQuadsTests/nt-syntax-bad-struct-02.nq b/tests/NQuadsTests/nt-syntax-bad-struct-02.nq
new file mode 100644
index 00000000..1f388c6e
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-struct-02.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> <http://example/o>; <http://example/p2>, <http://example/o2> .
diff --git a/tests/NQuadsTests/nt-syntax-bad-uri-01.nq b/tests/NQuadsTests/nt-syntax-bad-uri-01.nq
new file mode 100644
index 00000000..0e69dc0c
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-uri-01.nq
@@ -0,0 +1,2 @@
+# Bad IRI : space.
+<http://example/ space> <http://example/p> <http://example/o> .
diff --git a/tests/NQuadsTests/nt-syntax-bad-uri-02.nq b/tests/NQuadsTests/nt-syntax-bad-uri-02.nq
new file mode 100644
index 00000000..36d91af9
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-uri-02.nq
@@ -0,0 +1,2 @@
+# Bad IRI : bad escape
+<http://example/\u00ZZ11> <http://example/p> <http://example/o> .
diff --git a/tests/NQuadsTests/nt-syntax-bad-uri-03.nq b/tests/NQuadsTests/nt-syntax-bad-uri-03.nq
new file mode 100644
index 00000000..f512345f
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-uri-03.nq
@@ -0,0 +1,2 @@
+# Bad IRI : bad escape
+<http://example/\U00ZZ1111> <http://example/p> <http://example/o> .
diff --git a/tests/NQuadsTests/nt-syntax-bad-uri-04.nq b/tests/NQuadsTests/nt-syntax-bad-uri-04.nq
new file mode 100644
index 00000000..5cab062c
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-uri-04.nq
@@ -0,0 +1,2 @@
+# Bad IRI : character escapes not allowed.
+<http://example/\n> <http://example/p> <http://example/o> .
diff --git a/tests/NQuadsTests/nt-syntax-bad-uri-05.nq b/tests/NQuadsTests/nt-syntax-bad-uri-05.nq
new file mode 100644
index 00000000..be0a21e0
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-uri-05.nq
@@ -0,0 +1,2 @@
+# Bad IRI : character escapes not allowed.
+<http://example/\/> <http://example/p> <http://example/o> .
diff --git a/tests/NQuadsTests/nt-syntax-bad-uri-06.nq b/tests/NQuadsTests/nt-syntax-bad-uri-06.nq
new file mode 100644
index 00000000..b4e64592
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-uri-06.nq
@@ -0,0 +1,2 @@
+# No relative IRIs in N-Triples
+<s> <http://example/p> <http://example/o> .
diff --git a/tests/NQuadsTests/nt-syntax-bad-uri-07.nq b/tests/NQuadsTests/nt-syntax-bad-uri-07.nq
new file mode 100644
index 00000000..74534dde
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-uri-07.nq
@@ -0,0 +1,2 @@
+# No relative IRIs in N-Triples
+<http://example/s> <p> <http://example/o> .
diff --git a/tests/NQuadsTests/nt-syntax-bad-uri-08.nq b/tests/NQuadsTests/nt-syntax-bad-uri-08.nq
new file mode 100644
index 00000000..41a953d4
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-uri-08.nq
@@ -0,0 +1,2 @@
+# No relative IRIs in N-Triples
+<http://example/s> <http://example/p> <o> .
diff --git a/tests/NQuadsTests/nt-syntax-bad-uri-09.nq b/tests/NQuadsTests/nt-syntax-bad-uri-09.nq
new file mode 100644
index 00000000..58821da8
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bad-uri-09.nq
@@ -0,0 +1,2 @@
+# No relative IRIs in N-Triples
+<http://example/s> <http://example/p> "foo"^^<dt> .
diff --git a/tests/NQuadsTests/nt-syntax-bnode-01.nq b/tests/NQuadsTests/nt-syntax-bnode-01.nq
new file mode 100644
index 00000000..5fb0d0f9
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bnode-01.nq
@@ -0,0 +1 @@
+_:a <http://example/p> <http://example/o> .
diff --git a/tests/NQuadsTests/nt-syntax-bnode-02.nq b/tests/NQuadsTests/nt-syntax-bnode-02.nq
new file mode 100644
index 00000000..737e81b4
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bnode-02.nq
@@ -0,0 +1,2 @@
+<http://example/s> <http://example/p> _:a .
+_:a <http://example/p> <http://example/o> .
diff --git a/tests/NQuadsTests/nt-syntax-bnode-03.nq b/tests/NQuadsTests/nt-syntax-bnode-03.nq
new file mode 100644
index 00000000..1a1f1c9f
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-bnode-03.nq
@@ -0,0 +1,2 @@
+<http://example/s> <http://example/p> _:1a .
+_:1a <http://example/p> <http://example/o> .
diff --git a/tests/NQuadsTests/nt-syntax-datatypes-01.nq b/tests/NQuadsTests/nt-syntax-datatypes-01.nq
new file mode 100644
index 00000000..91263091
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-datatypes-01.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "123"^^<http://www.w3.org/2001/XMLSchema#byte> .
diff --git a/tests/NQuadsTests/nt-syntax-datatypes-02.nq b/tests/NQuadsTests/nt-syntax-datatypes-02.nq
new file mode 100644
index 00000000..d49cc27d
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-datatypes-02.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "123"^^<http://www.w3.org/2001/XMLSchema#string> .
diff --git a/tests/NQuadsTests/nt-syntax-file-01.nq b/tests/NQuadsTests/nt-syntax-file-01.nq
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-file-01.nq
diff --git a/tests/NQuadsTests/nt-syntax-file-02.nq b/tests/NQuadsTests/nt-syntax-file-02.nq
new file mode 100644
index 00000000..e6d327d5
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-file-02.nq
@@ -0,0 +1 @@
+#Empty file.
diff --git a/tests/NQuadsTests/nt-syntax-file-03.nq b/tests/NQuadsTests/nt-syntax-file-03.nq
new file mode 100644
index 00000000..a9ca0358
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-file-03.nq
@@ -0,0 +1,2 @@
+#One comment, one empty line.
+
diff --git a/tests/NQuadsTests/nt-syntax-str-esc-01.nq b/tests/NQuadsTests/nt-syntax-str-esc-01.nq
new file mode 100644
index 00000000..3925f2ec
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-str-esc-01.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "a\n" .
diff --git a/tests/NQuadsTests/nt-syntax-str-esc-02.nq b/tests/NQuadsTests/nt-syntax-str-esc-02.nq
new file mode 100644
index 00000000..e7d032f0
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-str-esc-02.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "a\u0020b" .
diff --git a/tests/NQuadsTests/nt-syntax-str-esc-03.nq b/tests/NQuadsTests/nt-syntax-str-esc-03.nq
new file mode 100644
index 00000000..b8588c79
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-str-esc-03.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "a\U00000020b" .
diff --git a/tests/NQuadsTests/nt-syntax-string-01.nq b/tests/NQuadsTests/nt-syntax-string-01.nq
new file mode 100644
index 00000000..5333aefe
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-string-01.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "string" .
diff --git a/tests/NQuadsTests/nt-syntax-string-02.nq b/tests/NQuadsTests/nt-syntax-string-02.nq
new file mode 100644
index 00000000..1ab55a33
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-string-02.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "string"@en .
diff --git a/tests/NQuadsTests/nt-syntax-string-03.nq b/tests/NQuadsTests/nt-syntax-string-03.nq
new file mode 100644
index 00000000..b34ca0f6
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-string-03.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> "string"@en-uk .
diff --git a/tests/NQuadsTests/nt-syntax-subm-01.nq b/tests/NQuadsTests/nt-syntax-subm-01.nq
new file mode 100644
index 00000000..91b49889
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-subm-01.nq
@@ -0,0 +1,79 @@
+#
+# 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: test.nt,v 1.7 2003/10/06 15:52:19 dbeckett2 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
diff --git a/tests/NQuadsTests/nt-syntax-uri-01.nq b/tests/NQuadsTests/nt-syntax-uri-01.nq
new file mode 100644
index 00000000..02e6ba98
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-uri-01.nq
@@ -0,0 +1 @@
+<http://example/s> <http://example/p> <http://example/o> .
diff --git a/tests/NQuadsTests/nt-syntax-uri-02.nq b/tests/NQuadsTests/nt-syntax-uri-02.nq
new file mode 100644
index 00000000..664feea1
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-uri-02.nq
@@ -0,0 +1,2 @@
+# x53 is capital S
+<http://example/\u0053> <http://example/p> <http://example/o> .
diff --git a/tests/NQuadsTests/nt-syntax-uri-03.nq b/tests/NQuadsTests/nt-syntax-uri-03.nq
new file mode 100644
index 00000000..b5aeb26e
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-uri-03.nq
@@ -0,0 +1,2 @@
+# x53 is capital S
+<http://example/\U00000053> <http://example/p> <http://example/o> .
diff --git a/tests/NQuadsTests/nt-syntax-uri-04.nq b/tests/NQuadsTests/nt-syntax-uri-04.nq
new file mode 100644
index 00000000..49bacca7
--- /dev/null
+++ b/tests/NQuadsTests/nt-syntax-uri-04.nq
@@ -0,0 +1,2 @@
+# IRI with all chars in it.
+<http://example/s> <http://example/p> <scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> .