gonum.org/v1/gonum@v0.14.0/graph/formats/rdf/test_suite_test.go (about)

     1  // Copyright ©2020 The Gonum Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Copyright © 2008 World Wide Web Consortium, (MIT, ERCIM, Keio, Beihang)
     6  // and others. All Rights Reserved.
     7  // http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html
     8  // Used under https://www.w3.org/Consortium/Legal/2008/03-bsd-license.
     9  
    10  package rdf
    11  
    12  type statement struct {
    13  	input string
    14  
    15  	subject, predicate, object, label term
    16  }
    17  
    18  type term struct {
    19  	text string
    20  	qual string
    21  	kind Kind
    22  }
    23  
    24  // Test suite values were extracted from the test case archives in this directory.
    25  // The archives were obtained from https://w3c.github.io/rdf-tests/ntriples/ and
    26  // https://w3c.github.io/rdf-tests/nquads/.
    27  var testSuite = map[string][]statement{
    28  	"comment_following_triple.nq": {
    29  		{
    30  			input:     "<http://example/s> <http://example/p> <http://example/o> . # comment",
    31  			subject:   term{text: "http://example/s", kind: IRI},
    32  			predicate: term{text: "http://example/p", kind: IRI},
    33  			object:    term{text: "http://example/o", kind: IRI},
    34  		},
    35  		{
    36  			input:     "<http://example/s> <http://example/p> _:o . # comment",
    37  			subject:   term{text: "http://example/s", kind: IRI},
    38  			predicate: term{text: "http://example/p", kind: IRI},
    39  			object:    term{text: "o", kind: Blank},
    40  		},
    41  		{
    42  			input:     "<http://example/s> <http://example/p> \"o\" . # comment",
    43  			subject:   term{text: "http://example/s", kind: IRI},
    44  			predicate: term{text: "http://example/p", kind: IRI},
    45  			object:    term{text: "o", kind: Literal},
    46  		},
    47  		{
    48  			input:     "<http://example/s> <http://example/p> \"o\"^^<http://example/dt> . # comment",
    49  			subject:   term{text: "http://example/s", kind: IRI},
    50  			predicate: term{text: "http://example/p", kind: IRI},
    51  			object:    term{text: "o", qual: "http://example/dt", kind: Literal},
    52  		},
    53  		{
    54  			input:     "<http://example/s> <http://example/p> \"o\"@en . # comment",
    55  			subject:   term{text: "http://example/s", kind: IRI},
    56  			predicate: term{text: "http://example/p", kind: IRI},
    57  			object:    term{text: "o", qual: "@en", kind: Literal},
    58  		},
    59  	},
    60  	"comment_following_triple.nt": {
    61  		{
    62  			input:     "<http://example/s> <http://example/p> <http://example/o> . # comment",
    63  			subject:   term{text: "http://example/s", kind: IRI},
    64  			predicate: term{text: "http://example/p", kind: IRI},
    65  			object:    term{text: "http://example/o", kind: IRI},
    66  		},
    67  		{
    68  			input:     "<http://example/s> <http://example/p> _:o . # comment",
    69  			subject:   term{text: "http://example/s", kind: IRI},
    70  			predicate: term{text: "http://example/p", kind: IRI},
    71  			object:    term{text: "o", kind: Blank},
    72  		},
    73  		{
    74  			input:     "<http://example/s> <http://example/p> \"o\" . # comment",
    75  			subject:   term{text: "http://example/s", kind: IRI},
    76  			predicate: term{text: "http://example/p", kind: IRI},
    77  			object:    term{text: "o", kind: Literal},
    78  		},
    79  		{
    80  			input:     "<http://example/s> <http://example/p> \"o\"^^<http://example/dt> . # comment",
    81  			subject:   term{text: "http://example/s", kind: IRI},
    82  			predicate: term{text: "http://example/p", kind: IRI},
    83  			object:    term{text: "o", qual: "http://example/dt", kind: Literal},
    84  		},
    85  		{
    86  			input:     "<http://example/s> <http://example/p> \"o\"@en . # comment",
    87  			subject:   term{text: "http://example/s", kind: IRI},
    88  			predicate: term{text: "http://example/p", kind: IRI},
    89  			object:    term{text: "o", qual: "@en", kind: Literal},
    90  		},
    91  	},
    92  	"langtagged_string.nq": {
    93  		{
    94  			input:     "<http://a.example/s> <http://a.example/p> \"chat\"@en .",
    95  			subject:   term{text: "http://a.example/s", kind: IRI},
    96  			predicate: term{text: "http://a.example/p", kind: IRI},
    97  			object:    term{text: "chat", qual: "@en", kind: Literal},
    98  		},
    99  	},
   100  	"langtagged_string.nt": {
   101  		{
   102  			input:     "<http://a.example/s> <http://a.example/p> \"chat\"@en .",
   103  			subject:   term{text: "http://a.example/s", kind: IRI},
   104  			predicate: term{text: "http://a.example/p", kind: IRI},
   105  			object:    term{text: "chat", qual: "@en", kind: Literal},
   106  		},
   107  	},
   108  	"lantag_with_subtag.nq": {
   109  		{
   110  			input:     "<http://example.org/ex#a> <http://example.org/ex#b> \"Cheers\"@en-UK .",
   111  			subject:   term{text: "http://example.org/ex#a", kind: IRI},
   112  			predicate: term{text: "http://example.org/ex#b", kind: IRI},
   113  			object:    term{text: "Cheers", qual: "@en-UK", kind: Literal},
   114  		},
   115  	},
   116  	"lantag_with_subtag.nt": {
   117  		{
   118  			input:     "<http://example.org/ex#a> <http://example.org/ex#b> \"Cheers\"@en-UK .",
   119  			subject:   term{text: "http://example.org/ex#a", kind: IRI},
   120  			predicate: term{text: "http://example.org/ex#b", kind: IRI},
   121  			object:    term{text: "Cheers", qual: "@en-UK", kind: Literal},
   122  		},
   123  	},
   124  	"literal.nq": {
   125  		{
   126  			input:     "<http://a.example/s> <http://a.example/p> \"x\" .",
   127  			subject:   term{text: "http://a.example/s", kind: IRI},
   128  			predicate: term{text: "http://a.example/p", kind: IRI},
   129  			object:    term{text: "x", kind: Literal},
   130  		},
   131  	},
   132  	"literal.nt": {
   133  		{
   134  			input:     "<http://a.example/s> <http://a.example/p> \"x\" .",
   135  			subject:   term{text: "http://a.example/s", kind: IRI},
   136  			predicate: term{text: "http://a.example/p", kind: IRI},
   137  			object:    term{text: "x", kind: Literal},
   138  		},
   139  	},
   140  	"literal_all_controls.nq": {
   141  		{
   142  			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\" .",
   143  			subject:   term{text: "http://a.example/s", kind: IRI},
   144  			predicate: term{text: "http://a.example/p", kind: IRI},
   145  			object:    term{text: "\x00\x01\x02\x03\x04\x05\x06\a\b\t\v\f\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", kind: Literal},
   146  		},
   147  	},
   148  	"literal_all_controls.nt": {
   149  		{
   150  			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\" .",
   151  			subject:   term{text: "http://a.example/s", kind: IRI},
   152  			predicate: term{text: "http://a.example/p", kind: IRI},
   153  			object:    term{text: "\x00\x01\x02\x03\x04\x05\x06\a\b\t\v\f\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", kind: Literal},
   154  		},
   155  	},
   156  	"literal_all_punctuation.nq": {
   157  		{
   158  			input:     "<http://a.example/s> <http://a.example/p> \" !\\\"#$%&():;<=>?@[]^_`{|}~\" .",
   159  			subject:   term{text: "http://a.example/s", kind: IRI},
   160  			predicate: term{text: "http://a.example/p", kind: IRI},
   161  			object:    term{text: " !\"#$%&():;<=>?@[]^_`{|}~", kind: Literal},
   162  		},
   163  	},
   164  	"literal_all_punctuation.nt": {
   165  		{
   166  			input:     "<http://a.example/s> <http://a.example/p> \" !\\\"#$%&():;<=>?@[]^_`{|}~\" .",
   167  			subject:   term{text: "http://a.example/s", kind: IRI},
   168  			predicate: term{text: "http://a.example/p", kind: IRI},
   169  			object:    term{text: " !\"#$%&():;<=>?@[]^_`{|}~", kind: Literal},
   170  		},
   171  	},
   172  	"literal_ascii_boundaries.nq": {
   173  		{
   174  			input:     "<http://a.example/s> <http://a.example/p> \"\x00\t\v\f\x0e&([]\u007f\" .",
   175  			subject:   term{text: "http://a.example/s", kind: IRI},
   176  			predicate: term{text: "http://a.example/p", kind: IRI},
   177  			object:    term{text: "\x00\t\v\f\x0e&([]\u007f", kind: Literal},
   178  		},
   179  	},
   180  	"literal_ascii_boundaries.nt": {
   181  		{
   182  			input:     "<http://a.example/s> <http://a.example/p> \"\x00\t\v\f\x0e&([]\u007f\" .",
   183  			subject:   term{text: "http://a.example/s", kind: IRI},
   184  			predicate: term{text: "http://a.example/p", kind: IRI},
   185  			object:    term{text: "\x00\t\v\f\x0e&([]\u007f", kind: Literal},
   186  		},
   187  	},
   188  	"literal_false.nq": {
   189  		{
   190  			input:     "<http://a.example/s> <http://a.example/p> \"false\"^^<http://www.w3.org/2001/XMLSchema#boolean> .",
   191  			subject:   term{text: "http://a.example/s", kind: IRI},
   192  			predicate: term{text: "http://a.example/p", kind: IRI},
   193  			object:    term{text: "false", qual: "http://www.w3.org/2001/XMLSchema#boolean", kind: Literal},
   194  		},
   195  	},
   196  	"literal_false.nt": {
   197  		{
   198  			input:     "<http://a.example/s> <http://a.example/p> \"false\"^^<http://www.w3.org/2001/XMLSchema#boolean> .",
   199  			subject:   term{text: "http://a.example/s", kind: IRI},
   200  			predicate: term{text: "http://a.example/p", kind: IRI},
   201  			object:    term{text: "false", qual: "http://www.w3.org/2001/XMLSchema#boolean", kind: Literal},
   202  		},
   203  	},
   204  	"literal_true.nq": {
   205  		{
   206  			input:     "<http://a.example/s> <http://a.example/p> \"true\"^^<http://www.w3.org/2001/XMLSchema#boolean> .",
   207  			subject:   term{text: "http://a.example/s", kind: IRI},
   208  			predicate: term{text: "http://a.example/p", kind: IRI},
   209  			object:    term{text: "true", qual: "http://www.w3.org/2001/XMLSchema#boolean", kind: Literal},
   210  		},
   211  	},
   212  	"literal_true.nt": {
   213  		{
   214  			input:     "<http://a.example/s> <http://a.example/p> \"true\"^^<http://www.w3.org/2001/XMLSchema#boolean> .",
   215  			subject:   term{text: "http://a.example/s", kind: IRI},
   216  			predicate: term{text: "http://a.example/p", kind: IRI},
   217  			object:    term{text: "true", qual: "http://www.w3.org/2001/XMLSchema#boolean", kind: Literal},
   218  		},
   219  	},
   220  	"literal_with_2_dquotes.nq": {
   221  		{
   222  			input:     "<http://a.example/s> <http://a.example/p> \"x\\\"\\\"y\" .",
   223  			subject:   term{text: "http://a.example/s", kind: IRI},
   224  			predicate: term{text: "http://a.example/p", kind: IRI},
   225  			object:    term{text: "x\"\"y", kind: Literal},
   226  		},
   227  	},
   228  	"literal_with_2_dquotes.nt": {
   229  		{
   230  			input:     "<http://a.example/s> <http://a.example/p> \"x\\\"\\\"y\" .",
   231  			subject:   term{text: "http://a.example/s", kind: IRI},
   232  			predicate: term{text: "http://a.example/p", kind: IRI},
   233  			object:    term{text: "x\"\"y", kind: Literal},
   234  		},
   235  	},
   236  	"literal_with_2_squotes.nt": {
   237  		{
   238  			input:     "<http://a.example/s> <http://a.example/p> \"x''y\" .",
   239  			subject:   term{text: "http://a.example/s", kind: IRI},
   240  			predicate: term{text: "http://a.example/p", kind: IRI},
   241  			object:    term{text: "x''y", kind: Literal},
   242  		},
   243  	},
   244  	"literal_with_2_squotes.nq": {
   245  		{
   246  			input:     "<http://a.example/s> <http://a.example/p> \"x''y\" .",
   247  			subject:   term{text: "http://a.example/s", kind: IRI},
   248  			predicate: term{text: "http://a.example/p", kind: IRI},
   249  			object:    term{text: "x''y", kind: Literal},
   250  		},
   251  	},
   252  	"literal_with_BACKSPACE.nq": {
   253  		{
   254  			input:     "<http://a.example/s> <http://a.example/p> \"\\b\" .",
   255  			subject:   term{text: "http://a.example/s", kind: IRI},
   256  			predicate: term{text: "http://a.example/p", kind: IRI},
   257  			object:    term{text: "\b", kind: Literal},
   258  		},
   259  	},
   260  	"literal_with_BACKSPACE.nt": {
   261  		{
   262  			input:     "<http://a.example/s> <http://a.example/p> \"\\b\" .",
   263  			subject:   term{text: "http://a.example/s", kind: IRI},
   264  			predicate: term{text: "http://a.example/p", kind: IRI},
   265  			object:    term{text: "\b", kind: Literal},
   266  		},
   267  	},
   268  	"literal_with_CARRIAGE_RETURN.nq": {
   269  		{
   270  			input:     "<http://a.example/s> <http://a.example/p> \"\\r\" .",
   271  			subject:   term{text: "http://a.example/s", kind: IRI},
   272  			predicate: term{text: "http://a.example/p", kind: IRI},
   273  			object:    term{text: "\r", kind: Literal},
   274  		},
   275  	},
   276  	"literal_with_CARRIAGE_RETURN.nt": {
   277  		{
   278  			input:     "<http://a.example/s> <http://a.example/p> \"\\r\" .",
   279  			subject:   term{text: "http://a.example/s", kind: IRI},
   280  			predicate: term{text: "http://a.example/p", kind: IRI},
   281  			object:    term{text: "\r", kind: Literal},
   282  		},
   283  	},
   284  	"literal_with_CHARACTER_TABULATION.nq": {
   285  		{
   286  			input:     "<http://a.example/s> <http://a.example/p> \"\\t\" .",
   287  			subject:   term{text: "http://a.example/s", kind: IRI},
   288  			predicate: term{text: "http://a.example/p", kind: IRI},
   289  			object:    term{text: "\t", kind: Literal},
   290  		},
   291  	},
   292  	"literal_with_CHARACTER_TABULATION.nt": {
   293  		{
   294  			input:     "<http://a.example/s> <http://a.example/p> \"\\t\" .",
   295  			subject:   term{text: "http://a.example/s", kind: IRI},
   296  			predicate: term{text: "http://a.example/p", kind: IRI},
   297  			object:    term{text: "\t", kind: Literal},
   298  		},
   299  	},
   300  	"literal_with_FORM_FEED.nq": {
   301  		{
   302  			input:     "<http://a.example/s> <http://a.example/p> \"\\f\" .",
   303  			subject:   term{text: "http://a.example/s", kind: IRI},
   304  			predicate: term{text: "http://a.example/p", kind: IRI},
   305  			object:    term{text: "\f", kind: Literal},
   306  		},
   307  	},
   308  	"literal_with_FORM_FEED.nt": {
   309  		{
   310  			input:     "<http://a.example/s> <http://a.example/p> \"\\f\" .",
   311  			subject:   term{text: "http://a.example/s", kind: IRI},
   312  			predicate: term{text: "http://a.example/p", kind: IRI},
   313  			object:    term{text: "\f", kind: Literal},
   314  		},
   315  	},
   316  	"literal_with_LINE_FEED.nq": {
   317  		{
   318  			input:     "<http://a.example/s> <http://a.example/p> \"\\n\" .",
   319  			subject:   term{text: "http://a.example/s", kind: IRI},
   320  			predicate: term{text: "http://a.example/p", kind: IRI},
   321  			object:    term{text: "\n", kind: Literal},
   322  		},
   323  	},
   324  	"literal_with_LINE_FEED.nt": {
   325  		{
   326  			input:     "<http://a.example/s> <http://a.example/p> \"\\n\" .",
   327  			subject:   term{text: "http://a.example/s", kind: IRI},
   328  			predicate: term{text: "http://a.example/p", kind: IRI},
   329  			object:    term{text: "\n", kind: Literal},
   330  		},
   331  	},
   332  	"literal_with_REVERSE_SOLIDUS.nq": {
   333  		{
   334  			input:     "<http://a.example/s> <http://a.example/p> \"\\\\\" .",
   335  			subject:   term{text: "http://a.example/s", kind: IRI},
   336  			predicate: term{text: "http://a.example/p", kind: IRI},
   337  			object:    term{text: "\\", kind: Literal},
   338  		},
   339  	},
   340  	"literal_with_REVERSE_SOLIDUS.nt": {
   341  		{
   342  			input:     "<http://a.example/s> <http://a.example/p> \"\\\\\" .",
   343  			subject:   term{text: "http://a.example/s", kind: IRI},
   344  			predicate: term{text: "http://a.example/p", kind: IRI},
   345  			object:    term{text: "\\", kind: Literal},
   346  		},
   347  	},
   348  	"literal_with_REVERSE_SOLIDUS2.nq": {
   349  		{
   350  			input:     "<http://example.org/ns#s> <http://example.org/ns#p1> \"test-\\\\\" .",
   351  			subject:   term{text: "http://example.org/ns#s", kind: IRI},
   352  			predicate: term{text: "http://example.org/ns#p1", kind: IRI},
   353  			object:    term{text: "test-\\", kind: Literal},
   354  		},
   355  	},
   356  	"literal_with_REVERSE_SOLIDUS2.nt": {
   357  		{
   358  			input:     "<http://example.org/ns#s> <http://example.org/ns#p1> \"test-\\\\\" .",
   359  			subject:   term{text: "http://example.org/ns#s", kind: IRI},
   360  			predicate: term{text: "http://example.org/ns#p1", kind: IRI},
   361  			object:    term{text: "test-\\", kind: Literal},
   362  		},
   363  	},
   364  	"literal_with_UTF8_boundaries.nq": {
   365  		{
   366  			input:     "<http://a.example/s> <http://a.example/p> \"\u0080߿ࠀ\u0fffက쿿퀀\ud7ff\ue000�𐀀\U0003fffd\U00040000\U000ffffd\U00100000\U0010fffd\" .",
   367  			subject:   term{text: "http://a.example/s", kind: IRI},
   368  			predicate: term{text: "http://a.example/p", kind: IRI},
   369  			object:    term{text: "\u0080߿ࠀ\u0fffက쿿퀀\ud7ff\ue000�𐀀\U0003fffd\U00040000\U000ffffd\U00100000\U0010fffd", kind: Literal},
   370  		},
   371  	},
   372  	"literal_with_UTF8_boundaries.nt": {
   373  		{
   374  			input:     "<http://a.example/s> <http://a.example/p> \"\u0080߿ࠀ\u0fffက쿿퀀\ud7ff\ue000�𐀀\U0003fffd\U00040000\U000ffffd\U00100000\U0010fffd\" .",
   375  			subject:   term{text: "http://a.example/s", kind: IRI},
   376  			predicate: term{text: "http://a.example/p", kind: IRI},
   377  			object:    term{text: "\u0080߿ࠀ\u0fffက쿿퀀\ud7ff\ue000�𐀀\U0003fffd\U00040000\U000ffffd\U00100000\U0010fffd", kind: Literal},
   378  		},
   379  	},
   380  	"literal_with_dquote.nq": {
   381  		{
   382  			input:     "<http://a.example/s> <http://a.example/p> \"x\\\"y\" .",
   383  			subject:   term{text: "http://a.example/s", kind: IRI},
   384  			predicate: term{text: "http://a.example/p", kind: IRI},
   385  			object:    term{text: "x\"y", kind: Literal},
   386  		},
   387  	},
   388  	"literal_with_dquote.nt": {
   389  		{
   390  			input:     "<http://a.example/s> <http://a.example/p> \"x\\\"y\" .",
   391  			subject:   term{text: "http://a.example/s", kind: IRI},
   392  			predicate: term{text: "http://a.example/p", kind: IRI},
   393  			object:    term{text: "x\"y", kind: Literal},
   394  		},
   395  	},
   396  	"literal_with_numeric_escape4.nq": {
   397  		{
   398  			input:     "<http://a.example/s> <http://a.example/p> \"\\u006F\" .",
   399  			subject:   term{text: "http://a.example/s", kind: IRI},
   400  			predicate: term{text: "http://a.example/p", kind: IRI},
   401  			object:    term{text: "o", kind: Literal},
   402  		},
   403  	},
   404  	"literal_with_numeric_escape4.nt": {
   405  		{
   406  			input:     "<http://a.example/s> <http://a.example/p> \"\\u006F\" .",
   407  			subject:   term{text: "http://a.example/s", kind: IRI},
   408  			predicate: term{text: "http://a.example/p", kind: IRI},
   409  			object:    term{text: "o", kind: Literal},
   410  		},
   411  	},
   412  	"literal_with_numeric_escape8.nq": {
   413  		{
   414  			input:     "<http://a.example/s> <http://a.example/p> \"\\U0000006F\" .",
   415  			subject:   term{text: "http://a.example/s", kind: IRI},
   416  			predicate: term{text: "http://a.example/p", kind: IRI},
   417  			object:    term{text: "o", kind: Literal},
   418  		},
   419  	},
   420  	"literal_with_numeric_escape8.nt": {
   421  		{
   422  			input:     "<http://a.example/s> <http://a.example/p> \"\\U0000006F\" .",
   423  			subject:   term{text: "http://a.example/s", kind: IRI},
   424  			predicate: term{text: "http://a.example/p", kind: IRI},
   425  			object:    term{text: "o", kind: Literal},
   426  		},
   427  	},
   428  	"literal_with_squote.nq": {
   429  		{
   430  			input:     "<http://a.example/s> <http://a.example/p> \"x'y\" .",
   431  			subject:   term{text: "http://a.example/s", kind: IRI},
   432  			predicate: term{text: "http://a.example/p", kind: IRI},
   433  			object:    term{text: "x'y", kind: Literal},
   434  		},
   435  	},
   436  	"literal_with_squote.nt": {
   437  		{
   438  			input:     "<http://a.example/s> <http://a.example/p> \"x'y\" .",
   439  			subject:   term{text: "http://a.example/s", kind: IRI},
   440  			predicate: term{text: "http://a.example/p", kind: IRI},
   441  			object:    term{text: "x'y", kind: Literal},
   442  		},
   443  	},
   444  	"minimal_whitespace.nq": {
   445  		{
   446  			input:     "<http://example/s><http://example/p><http://example/o>.",
   447  			subject:   term{text: "http://example/s", kind: IRI},
   448  			predicate: term{text: "http://example/p", kind: IRI},
   449  			object:    term{text: "http://example/o", kind: IRI},
   450  		},
   451  		{
   452  			input:     "<http://example/s><http://example/p>\"Alice\".",
   453  			subject:   term{text: "http://example/s", kind: IRI},
   454  			predicate: term{text: "http://example/p", kind: IRI},
   455  			object:    term{text: "Alice", kind: Literal},
   456  		},
   457  		{
   458  			input:     "<http://example/s><http://example/p>_:o.",
   459  			subject:   term{text: "http://example/s", kind: IRI},
   460  			predicate: term{text: "http://example/p", kind: IRI},
   461  			object:    term{text: "o", kind: Blank},
   462  		},
   463  		{
   464  			input:     "_:s<http://example/p><http://example/o>.",
   465  			subject:   term{text: "s", kind: Blank},
   466  			predicate: term{text: "http://example/p", kind: IRI},
   467  			object:    term{text: "http://example/o", kind: IRI},
   468  		},
   469  		{
   470  			input:     "_:s<http://example/p>\"Alice\".",
   471  			subject:   term{text: "s", kind: Blank},
   472  			predicate: term{text: "http://example/p", kind: IRI},
   473  			object:    term{text: "Alice", kind: Literal},
   474  		},
   475  		{
   476  			input:     "_:s<http://example/p>_:bnode1.",
   477  			subject:   term{text: "s", kind: Blank},
   478  			predicate: term{text: "http://example/p", kind: IRI},
   479  			object:    term{text: "bnode1", kind: Blank},
   480  		},
   481  	},
   482  	"minimal_whitespace.nt": {
   483  		{
   484  			input:     "<http://example/s><http://example/p><http://example/o>.",
   485  			subject:   term{text: "http://example/s", kind: IRI},
   486  			predicate: term{text: "http://example/p", kind: IRI},
   487  			object:    term{text: "http://example/o", kind: IRI},
   488  		},
   489  		{
   490  			input:     "<http://example/s><http://example/p>\"Alice\".",
   491  			subject:   term{text: "http://example/s", kind: IRI},
   492  			predicate: term{text: "http://example/p", kind: IRI},
   493  			object:    term{text: "Alice", kind: Literal},
   494  		},
   495  		{
   496  			input:     "<http://example/s><http://example/p>_:o.",
   497  			subject:   term{text: "http://example/s", kind: IRI},
   498  			predicate: term{text: "http://example/p", kind: IRI},
   499  			object:    term{text: "o", kind: Blank},
   500  		},
   501  		{
   502  			input:     "_:s<http://example/p><http://example/o>.",
   503  			subject:   term{text: "s", kind: Blank},
   504  			predicate: term{text: "http://example/p", kind: IRI},
   505  			object:    term{text: "http://example/o", kind: IRI},
   506  		},
   507  		{
   508  			input:     "_:s<http://example/p>\"Alice\".",
   509  			subject:   term{text: "s", kind: Blank},
   510  			predicate: term{text: "http://example/p", kind: IRI},
   511  			object:    term{text: "Alice", kind: Literal},
   512  		},
   513  		{
   514  			input:     "_:s<http://example/p>_:bnode1.",
   515  			subject:   term{text: "s", kind: Blank},
   516  			predicate: term{text: "http://example/p", kind: IRI},
   517  			object:    term{text: "bnode1", kind: Blank},
   518  		},
   519  	},
   520  	"nq-syntax-bnode-01.nq": {
   521  		{
   522  			input:     "<http://example/s> <http://example/p> <http://example/o> _:g .",
   523  			subject:   term{text: "http://example/s", kind: IRI},
   524  			predicate: term{text: "http://example/p", kind: IRI},
   525  			object:    term{text: "http://example/o", kind: IRI},
   526  			label:     term{text: "g", kind: Blank},
   527  		},
   528  	},
   529  	"nq-syntax-bnode-02.nq": {
   530  		{
   531  			input:     "_:s <http://example/p> <http://example/o> _:g .",
   532  			subject:   term{text: "s", kind: Blank},
   533  			predicate: term{text: "http://example/p", kind: IRI},
   534  			object:    term{text: "http://example/o", kind: IRI},
   535  			label:     term{text: "g", kind: Blank},
   536  		},
   537  	},
   538  	"nq-syntax-bnode-03.nq": {
   539  		{
   540  			input:     "<http://example/s> <http://example/p> _:o _:g .",
   541  			subject:   term{text: "http://example/s", kind: IRI},
   542  			predicate: term{text: "http://example/p", kind: IRI},
   543  			object:    term{text: "o", kind: Blank},
   544  			label:     term{text: "g", kind: Blank},
   545  		},
   546  	},
   547  	"nq-syntax-bnode-04.nq": {
   548  		{
   549  			input:     "<http://example/s> <http://example/p> \"o\" _:g .",
   550  			subject:   term{text: "http://example/s", kind: IRI},
   551  			predicate: term{text: "http://example/p", kind: IRI},
   552  			object:    term{text: "o", kind: Literal},
   553  			label:     term{text: "g", kind: Blank},
   554  		},
   555  	},
   556  	"nq-syntax-bnode-05.nq": {
   557  		{
   558  			input:     "<http://example/s> <http://example/p> \"o\"@en _:g .",
   559  			subject:   term{text: "http://example/s", kind: IRI},
   560  			predicate: term{text: "http://example/p", kind: IRI},
   561  			object:    term{text: "o", qual: "@en", kind: Literal},
   562  			label:     term{text: "g", kind: Blank},
   563  		},
   564  	},
   565  	"nq-syntax-bnode-06.nq": {
   566  		{
   567  			input:     "<http://example/s> <http://example/p> \"o\"^^<http://www.w3.org/2001/XMLSchema#string> _:g .",
   568  			subject:   term{text: "http://example/s", kind: IRI},
   569  			predicate: term{text: "http://example/p", kind: IRI},
   570  			object:    term{text: "o", qual: "http://www.w3.org/2001/XMLSchema#string", kind: Literal},
   571  			label:     term{text: "g", kind: Blank},
   572  		},
   573  	},
   574  	"nq-syntax-uri-01.nq": {
   575  		{
   576  			input:     "<http://example/s> <http://example/p> <http://example/o> <http://example/g> .",
   577  			subject:   term{text: "http://example/s", kind: IRI},
   578  			predicate: term{text: "http://example/p", kind: IRI},
   579  			object:    term{text: "http://example/o", kind: IRI},
   580  			label:     term{text: "http://example/g", kind: IRI},
   581  		},
   582  	},
   583  	"nq-syntax-uri-02.nq": {
   584  		{
   585  			input:     "_:s <http://example/p> <http://example/o> <http://example/g> .",
   586  			subject:   term{text: "s", kind: Blank},
   587  			predicate: term{text: "http://example/p", kind: IRI},
   588  			object:    term{text: "http://example/o", kind: IRI},
   589  			label:     term{text: "http://example/g", kind: IRI},
   590  		},
   591  	},
   592  	"nq-syntax-uri-03.nq": {
   593  		{
   594  			input:     "<http://example/s> <http://example/p> _:o <http://example/g> .",
   595  			subject:   term{text: "http://example/s", kind: IRI},
   596  			predicate: term{text: "http://example/p", kind: IRI},
   597  			object:    term{text: "o", kind: Blank},
   598  			label:     term{text: "http://example/g", kind: IRI},
   599  		},
   600  	},
   601  	"nq-syntax-uri-04.nq": {
   602  		{
   603  			input:     "<http://example/s> <http://example/p> \"o\" <http://example/g> .",
   604  			subject:   term{text: "http://example/s", kind: IRI},
   605  			predicate: term{text: "http://example/p", kind: IRI},
   606  			object:    term{text: "o", kind: Literal},
   607  			label:     term{text: "http://example/g", kind: IRI},
   608  		},
   609  	},
   610  	"nq-syntax-uri-05.nq": {
   611  		{
   612  			input:     "<http://example/s> <http://example/p> \"o\"@en <http://example/g> .",
   613  			subject:   term{text: "http://example/s", kind: IRI},
   614  			predicate: term{text: "http://example/p", kind: IRI},
   615  			object:    term{text: "o", qual: "@en", kind: Literal},
   616  			label:     term{text: "http://example/g", kind: IRI},
   617  		},
   618  	},
   619  	"nq-syntax-uri-06.nq": {
   620  		{
   621  			input:     "<http://example/s> <http://example/p> \"o\"^^<http://www.w3.org/2001/XMLSchema#string> <http://example/g> .",
   622  			subject:   term{text: "http://example/s", kind: IRI},
   623  			predicate: term{text: "http://example/p", kind: IRI},
   624  			object:    term{text: "o", qual: "http://www.w3.org/2001/XMLSchema#string", kind: Literal},
   625  			label:     term{text: "http://example/g", kind: IRI},
   626  		},
   627  	},
   628  	"nt-syntax-bnode-01.nq": {
   629  		{
   630  			input:     "_:a  <http://example/p> <http://example/o> .",
   631  			subject:   term{text: "a", kind: Blank},
   632  			predicate: term{text: "http://example/p", kind: IRI},
   633  			object:    term{text: "http://example/o", kind: IRI},
   634  		},
   635  	},
   636  	"nt-syntax-bnode-01.nt": {
   637  		{
   638  			input:     "_:a  <http://example/p> <http://example/o> .",
   639  			subject:   term{text: "a", kind: Blank},
   640  			predicate: term{text: "http://example/p", kind: IRI},
   641  			object:    term{text: "http://example/o", kind: IRI},
   642  		},
   643  	},
   644  	"nt-syntax-bnode-02.nq": {
   645  		{
   646  			input:     "<http://example/s> <http://example/p> _:a .",
   647  			subject:   term{text: "http://example/s", kind: IRI},
   648  			predicate: term{text: "http://example/p", kind: IRI},
   649  			object:    term{text: "a", kind: Blank},
   650  		},
   651  		{
   652  			input:     "_:a  <http://example/p> <http://example/o> .",
   653  			subject:   term{text: "a", kind: Blank},
   654  			predicate: term{text: "http://example/p", kind: IRI},
   655  			object:    term{text: "http://example/o", kind: IRI},
   656  		},
   657  	},
   658  	"nt-syntax-bnode-02.nt": {
   659  		{
   660  			input:     "<http://example/s> <http://example/p> _:a .",
   661  			subject:   term{text: "http://example/s", kind: IRI},
   662  			predicate: term{text: "http://example/p", kind: IRI},
   663  			object:    term{text: "a", kind: Blank},
   664  		},
   665  		{
   666  			input:     "_:a  <http://example/p> <http://example/o> .",
   667  			subject:   term{text: "a", kind: Blank},
   668  			predicate: term{text: "http://example/p", kind: IRI},
   669  			object:    term{text: "http://example/o", kind: IRI},
   670  		},
   671  	},
   672  	"nt-syntax-bnode-03.nq": {
   673  		{
   674  			input:     "<http://example/s> <http://example/p> _:1a .",
   675  			subject:   term{text: "http://example/s", kind: IRI},
   676  			predicate: term{text: "http://example/p", kind: IRI},
   677  			object:    term{text: "1a", kind: Blank},
   678  		},
   679  		{
   680  			input:     "_:1a  <http://example/p> <http://example/o> .",
   681  			subject:   term{text: "1a", kind: Blank},
   682  			predicate: term{text: "http://example/p", kind: IRI},
   683  			object:    term{text: "http://example/o", kind: IRI},
   684  		},
   685  	},
   686  	"nt-syntax-bnode-03.nt": {
   687  		{
   688  			input:     "<http://example/s> <http://example/p> _:1a .",
   689  			subject:   term{text: "http://example/s", kind: IRI},
   690  			predicate: term{text: "http://example/p", kind: IRI},
   691  			object:    term{text: "1a", kind: Blank},
   692  		},
   693  		{
   694  			input:     "_:1a  <http://example/p> <http://example/o> .",
   695  			subject:   term{text: "1a", kind: Blank},
   696  			predicate: term{text: "http://example/p", kind: IRI},
   697  			object:    term{text: "http://example/o", kind: IRI},
   698  		},
   699  	},
   700  	"nt-syntax-datatypes-01.nq": {
   701  		{
   702  			input:     "<http://example/s> <http://example/p> \"123\"^^<http://www.w3.org/2001/XMLSchema#byte> .",
   703  			subject:   term{text: "http://example/s", kind: IRI},
   704  			predicate: term{text: "http://example/p", kind: IRI},
   705  			object:    term{text: "123", qual: "http://www.w3.org/2001/XMLSchema#byte", kind: Literal},
   706  		},
   707  	},
   708  	"nt-syntax-datatypes-01.nt": {
   709  		{
   710  			input:     "<http://example/s> <http://example/p> \"123\"^^<http://www.w3.org/2001/XMLSchema#byte> .",
   711  			subject:   term{text: "http://example/s", kind: IRI},
   712  			predicate: term{text: "http://example/p", kind: IRI},
   713  			object:    term{text: "123", qual: "http://www.w3.org/2001/XMLSchema#byte", kind: Literal},
   714  		},
   715  	},
   716  	"nt-syntax-datatypes-02.nq": {
   717  		{
   718  			input:     "<http://example/s> <http://example/p> \"123\"^^<http://www.w3.org/2001/XMLSchema#string> .",
   719  			subject:   term{text: "http://example/s", kind: IRI},
   720  			predicate: term{text: "http://example/p", kind: IRI},
   721  			object:    term{text: "123", qual: "http://www.w3.org/2001/XMLSchema#string", kind: Literal},
   722  		},
   723  	},
   724  	"nt-syntax-datatypes-02.nt": {
   725  		{
   726  			input:     "<http://example/s> <http://example/p> \"123\"^^<http://www.w3.org/2001/XMLSchema#string> .",
   727  			subject:   term{text: "http://example/s", kind: IRI},
   728  			predicate: term{text: "http://example/p", kind: IRI},
   729  			object:    term{text: "123", qual: "http://www.w3.org/2001/XMLSchema#string", kind: Literal},
   730  		},
   731  	},
   732  	"nt-syntax-str-esc-01.nq": {
   733  		{
   734  			input:     "<http://example/s> <http://example/p> \"a\\n\" .",
   735  			subject:   term{text: "http://example/s", kind: IRI},
   736  			predicate: term{text: "http://example/p", kind: IRI},
   737  			object:    term{text: "a\n", kind: Literal},
   738  		},
   739  	},
   740  	"nt-syntax-str-esc-01.nt": {
   741  		{
   742  			input:     "<http://example/s> <http://example/p> \"a\\n\" .",
   743  			subject:   term{text: "http://example/s", kind: IRI},
   744  			predicate: term{text: "http://example/p", kind: IRI},
   745  			object:    term{text: "a\n", kind: Literal},
   746  		},
   747  	},
   748  	"nt-syntax-str-esc-02.nq": {
   749  		{
   750  			input:     "<http://example/s> <http://example/p> \"a\\u0020b\" .",
   751  			subject:   term{text: "http://example/s", kind: IRI},
   752  			predicate: term{text: "http://example/p", kind: IRI},
   753  			object:    term{text: "a b", kind: Literal},
   754  		},
   755  	},
   756  	"nt-syntax-str-esc-02.nt": {
   757  		{
   758  			input:     "<http://example/s> <http://example/p> \"a\\u0020b\" .",
   759  			subject:   term{text: "http://example/s", kind: IRI},
   760  			predicate: term{text: "http://example/p", kind: IRI},
   761  			object:    term{text: "a b", kind: Literal},
   762  		},
   763  	},
   764  	"nt-syntax-str-esc-03.nq": {
   765  		{
   766  			input:     "<http://example/s> <http://example/p> \"a\\U00000020b\" .",
   767  			subject:   term{text: "http://example/s", kind: IRI},
   768  			predicate: term{text: "http://example/p", kind: IRI},
   769  			object:    term{text: "a b", kind: Literal},
   770  		},
   771  	},
   772  	"nt-syntax-str-esc-03.nt": {
   773  		{
   774  			input:     "<http://example/s> <http://example/p> \"a\\U00000020b\" .",
   775  			subject:   term{text: "http://example/s", kind: IRI},
   776  			predicate: term{text: "http://example/p", kind: IRI},
   777  			object:    term{text: "a b", kind: Literal},
   778  		},
   779  	},
   780  	"nt-syntax-string-01.nq": {
   781  		{
   782  			input:     "<http://example/s> <http://example/p> \"string\" .",
   783  			subject:   term{text: "http://example/s", kind: IRI},
   784  			predicate: term{text: "http://example/p", kind: IRI},
   785  			object:    term{text: "string", kind: Literal},
   786  		},
   787  	},
   788  	"nt-syntax-string-01.nt": {
   789  		{
   790  			input:     "<http://example/s> <http://example/p> \"string\" .",
   791  			subject:   term{text: "http://example/s", kind: IRI},
   792  			predicate: term{text: "http://example/p", kind: IRI},
   793  			object:    term{text: "string", kind: Literal},
   794  		},
   795  	},
   796  	"nt-syntax-string-02.nq": {
   797  		{
   798  			input:     "<http://example/s> <http://example/p> \"string\"@en .",
   799  			subject:   term{text: "http://example/s", kind: IRI},
   800  			predicate: term{text: "http://example/p", kind: IRI},
   801  			object:    term{text: "string", qual: "@en", kind: Literal},
   802  		},
   803  	},
   804  	"nt-syntax-string-02.nt": {
   805  		{
   806  			input:     "<http://example/s> <http://example/p> \"string\"@en .",
   807  			subject:   term{text: "http://example/s", kind: IRI},
   808  			predicate: term{text: "http://example/p", kind: IRI},
   809  			object:    term{text: "string", qual: "@en", kind: Literal},
   810  		},
   811  	},
   812  	"nt-syntax-string-03.nq": {
   813  		{
   814  			input:     "<http://example/s> <http://example/p> \"string\"@en-uk .",
   815  			subject:   term{text: "http://example/s", kind: IRI},
   816  			predicate: term{text: "http://example/p", kind: IRI},
   817  			object:    term{text: "string", qual: "@en-uk", kind: Literal},
   818  		},
   819  	},
   820  	"nt-syntax-string-03.nt": {
   821  		{
   822  			input:     "<http://example/s> <http://example/p> \"string\"@en-uk .",
   823  			subject:   term{text: "http://example/s", kind: IRI},
   824  			predicate: term{text: "http://example/p", kind: IRI},
   825  			object:    term{text: "string", qual: "@en-uk", kind: Literal},
   826  		},
   827  	},
   828  	"nt-syntax-subm-01.nq": {
   829  		{
   830  			input:     "<http://example.org/resource1> <http://example.org/property> <http://example.org/resource2> .",
   831  			subject:   term{text: "http://example.org/resource1", kind: IRI},
   832  			predicate: term{text: "http://example.org/property", kind: IRI},
   833  			object:    term{text: "http://example.org/resource2", kind: IRI},
   834  		},
   835  		{
   836  			input:     "_:anon <http://example.org/property> <http://example.org/resource2> .",
   837  			subject:   term{text: "anon", kind: Blank},
   838  			predicate: term{text: "http://example.org/property", kind: IRI},
   839  			object:    term{text: "http://example.org/resource2", kind: IRI},
   840  		},
   841  		{
   842  			input:     "<http://example.org/resource2> <http://example.org/property> _:anon .",
   843  			subject:   term{text: "http://example.org/resource2", kind: IRI},
   844  			predicate: term{text: "http://example.org/property", kind: IRI},
   845  			object:    term{text: "anon", kind: Blank},
   846  		},
   847  		{
   848  			input:     "<http://example.org/resource3> \t <http://example.org/property>\t <http://example.org/resource2> \t.",
   849  			subject:   term{text: "http://example.org/resource3", kind: IRI},
   850  			predicate: term{text: "http://example.org/property", kind: IRI},
   851  			object:    term{text: "http://example.org/resource2", kind: IRI},
   852  		},
   853  		{
   854  			input:     "<http://example.org/resource4> <http://example.org/property> <http://example.org/resource2> .",
   855  			subject:   term{text: "http://example.org/resource4", kind: IRI},
   856  			predicate: term{text: "http://example.org/property", kind: IRI},
   857  			object:    term{text: "http://example.org/resource2", kind: IRI},
   858  		},
   859  		{
   860  			input:     "<http://example.org/resource5> <http://example.org/property> <http://example.org/resource2> .",
   861  			subject:   term{text: "http://example.org/resource5", kind: IRI},
   862  			predicate: term{text: "http://example.org/property", kind: IRI},
   863  			object:    term{text: "http://example.org/resource2", kind: IRI},
   864  		},
   865  		{
   866  			input:     "<http://example.org/resource6> <http://example.org/property> <http://example.org/resource2> .",
   867  			subject:   term{text: "http://example.org/resource6", kind: IRI},
   868  			predicate: term{text: "http://example.org/property", kind: IRI},
   869  			object:    term{text: "http://example.org/resource2", kind: IRI},
   870  		},
   871  		{
   872  			input:     "<http://example.org/resource7> <http://example.org/property> \"simple literal\" .",
   873  			subject:   term{text: "http://example.org/resource7", kind: IRI},
   874  			predicate: term{text: "http://example.org/property", kind: IRI},
   875  			object:    term{text: "simple literal", kind: Literal},
   876  		},
   877  		{
   878  			input:     "<http://example.org/resource8> <http://example.org/property> \"backslash:\\\\\" .",
   879  			subject:   term{text: "http://example.org/resource8", kind: IRI},
   880  			predicate: term{text: "http://example.org/property", kind: IRI},
   881  			object:    term{text: "backslash:\\", kind: Literal},
   882  		},
   883  		{
   884  			input:     "<http://example.org/resource9> <http://example.org/property> \"dquote:\\\"\" .",
   885  			subject:   term{text: "http://example.org/resource9", kind: IRI},
   886  			predicate: term{text: "http://example.org/property", kind: IRI},
   887  			object:    term{text: "dquote:\"", kind: Literal},
   888  		},
   889  		{
   890  			input:     "<http://example.org/resource10> <http://example.org/property> \"newline:\\n\" .",
   891  			subject:   term{text: "http://example.org/resource10", kind: IRI},
   892  			predicate: term{text: "http://example.org/property", kind: IRI},
   893  			object:    term{text: "newline:\n", kind: Literal},
   894  		},
   895  		{
   896  			input:     "<http://example.org/resource11> <http://example.org/property> \"return\\r\" .",
   897  			subject:   term{text: "http://example.org/resource11", kind: IRI},
   898  			predicate: term{text: "http://example.org/property", kind: IRI},
   899  			object:    term{text: "return\r", kind: Literal},
   900  		},
   901  		{
   902  			input:     "<http://example.org/resource12> <http://example.org/property> \"tab:\\t\" .",
   903  			subject:   term{text: "http://example.org/resource12", kind: IRI},
   904  			predicate: term{text: "http://example.org/property", kind: IRI},
   905  			object:    term{text: "tab:\t", kind: Literal},
   906  		},
   907  		{
   908  			input:     "<http://example.org/resource13> <http://example.org/property> <http://example.org/resource2>.",
   909  			subject:   term{text: "http://example.org/resource13", kind: IRI},
   910  			predicate: term{text: "http://example.org/property", kind: IRI},
   911  			object:    term{text: "http://example.org/resource2", kind: IRI},
   912  		},
   913  		{
   914  			input:     "<http://example.org/resource14> <http://example.org/property> \"x\".",
   915  			subject:   term{text: "http://example.org/resource14", kind: IRI},
   916  			predicate: term{text: "http://example.org/property", kind: IRI},
   917  			object:    term{text: "x", kind: Literal},
   918  		},
   919  		{
   920  			input:     "<http://example.org/resource15> <http://example.org/property> _:anon.",
   921  			subject:   term{text: "http://example.org/resource15", kind: IRI},
   922  			predicate: term{text: "http://example.org/property", kind: IRI},
   923  			object:    term{text: "anon", kind: Blank},
   924  		},
   925  		{
   926  			input:     "<http://example.org/resource16> <http://example.org/property> \"\\u00E9\" .",
   927  			subject:   term{text: "http://example.org/resource16", kind: IRI},
   928  			predicate: term{text: "http://example.org/property", kind: IRI},
   929  			object:    term{text: "é", kind: Literal},
   930  		},
   931  		{
   932  			input:     "<http://example.org/resource17> <http://example.org/property> \"\\u20AC\" .",
   933  			subject:   term{text: "http://example.org/resource17", kind: IRI},
   934  			predicate: term{text: "http://example.org/property", kind: IRI},
   935  			object:    term{text: "€", kind: Literal},
   936  		},
   937  		{
   938  			input:     "<http://example.org/resource21> <http://example.org/property> \"\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
   939  			subject:   term{text: "http://example.org/resource21", kind: IRI},
   940  			predicate: term{text: "http://example.org/property", kind: IRI},
   941  			object:    term{text: "", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
   942  		},
   943  		{
   944  			input:     "<http://example.org/resource22> <http://example.org/property> \" \"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
   945  			subject:   term{text: "http://example.org/resource22", kind: IRI},
   946  			predicate: term{text: "http://example.org/property", kind: IRI},
   947  			object:    term{text: " ", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
   948  		},
   949  		{
   950  			input:     "<http://example.org/resource23> <http://example.org/property> \"x\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
   951  			subject:   term{text: "http://example.org/resource23", kind: IRI},
   952  			predicate: term{text: "http://example.org/property", kind: IRI},
   953  			object:    term{text: "x", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
   954  		},
   955  		{
   956  			input:     "<http://example.org/resource23> <http://example.org/property> \"\\\"\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
   957  			subject:   term{text: "http://example.org/resource23", kind: IRI},
   958  			predicate: term{text: "http://example.org/property", kind: IRI},
   959  			object:    term{text: "\"", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
   960  		},
   961  		{
   962  			input:     "<http://example.org/resource24> <http://example.org/property> \"<a></a>\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
   963  			subject:   term{text: "http://example.org/resource24", kind: IRI},
   964  			predicate: term{text: "http://example.org/property", kind: IRI},
   965  			object:    term{text: "<a></a>", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
   966  		},
   967  		{
   968  			input:     "<http://example.org/resource25> <http://example.org/property> \"a <b></b>\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
   969  			subject:   term{text: "http://example.org/resource25", kind: IRI},
   970  			predicate: term{text: "http://example.org/property", kind: IRI},
   971  			object:    term{text: "a <b></b>", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
   972  		},
   973  		{
   974  			input:     "<http://example.org/resource26> <http://example.org/property> \"a <b></b> c\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
   975  			subject:   term{text: "http://example.org/resource26", kind: IRI},
   976  			predicate: term{text: "http://example.org/property", kind: IRI},
   977  			object:    term{text: "a <b></b> c", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
   978  		},
   979  		{
   980  			input:     "<http://example.org/resource26> <http://example.org/property> \"a\\n<b></b>\\nc\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
   981  			subject:   term{text: "http://example.org/resource26", kind: IRI},
   982  			predicate: term{text: "http://example.org/property", kind: IRI},
   983  			object:    term{text: "a\n<b></b>\nc", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
   984  		},
   985  		{
   986  			input:     "<http://example.org/resource27> <http://example.org/property> \"chat\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
   987  			subject:   term{text: "http://example.org/resource27", kind: IRI},
   988  			predicate: term{text: "http://example.org/property", kind: IRI},
   989  			object:    term{text: "chat", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
   990  		},
   991  		{
   992  			input:     "<http://example.org/resource30> <http://example.org/property> \"chat\"@fr .",
   993  			subject:   term{text: "http://example.org/resource30", kind: IRI},
   994  			predicate: term{text: "http://example.org/property", kind: IRI},
   995  			object:    term{text: "chat", qual: "@fr", kind: Literal},
   996  		},
   997  		{
   998  			input:     "<http://example.org/resource31> <http://example.org/property> \"chat\"@en .",
   999  			subject:   term{text: "http://example.org/resource31", kind: IRI},
  1000  			predicate: term{text: "http://example.org/property", kind: IRI},
  1001  			object:    term{text: "chat", qual: "@en", kind: Literal},
  1002  		},
  1003  		{
  1004  			input:     "<http://example.org/resource32> <http://example.org/property> \"abc\"^^<http://example.org/datatype1> .",
  1005  			subject:   term{text: "http://example.org/resource32", kind: IRI},
  1006  			predicate: term{text: "http://example.org/property", kind: IRI},
  1007  			object:    term{text: "abc", qual: "http://example.org/datatype1", kind: Literal},
  1008  		},
  1009  	},
  1010  	"nt-syntax-subm-01.nt": {
  1011  		{
  1012  			input:     "<http://example.org/resource1> <http://example.org/property> <http://example.org/resource2> .",
  1013  			subject:   term{text: "http://example.org/resource1", kind: IRI},
  1014  			predicate: term{text: "http://example.org/property", kind: IRI},
  1015  			object:    term{text: "http://example.org/resource2", kind: IRI},
  1016  		},
  1017  		{
  1018  			input:     "_:anon <http://example.org/property> <http://example.org/resource2> .",
  1019  			subject:   term{text: "anon", kind: Blank},
  1020  			predicate: term{text: "http://example.org/property", kind: IRI},
  1021  			object:    term{text: "http://example.org/resource2", kind: IRI},
  1022  		},
  1023  		{
  1024  			input:     "<http://example.org/resource2> <http://example.org/property> _:anon .",
  1025  			subject:   term{text: "http://example.org/resource2", kind: IRI},
  1026  			predicate: term{text: "http://example.org/property", kind: IRI},
  1027  			object:    term{text: "anon", kind: Blank},
  1028  		},
  1029  		{
  1030  			input:     "<http://example.org/resource3> \t <http://example.org/property>\t <http://example.org/resource2> \t.",
  1031  			subject:   term{text: "http://example.org/resource3", kind: IRI},
  1032  			predicate: term{text: "http://example.org/property", kind: IRI},
  1033  			object:    term{text: "http://example.org/resource2", kind: IRI},
  1034  		},
  1035  		{
  1036  			input:     "<http://example.org/resource4> <http://example.org/property> <http://example.org/resource2> .",
  1037  			subject:   term{text: "http://example.org/resource4", kind: IRI},
  1038  			predicate: term{text: "http://example.org/property", kind: IRI},
  1039  			object:    term{text: "http://example.org/resource2", kind: IRI},
  1040  		},
  1041  		{
  1042  			input:     "<http://example.org/resource5> <http://example.org/property> <http://example.org/resource2> .",
  1043  			subject:   term{text: "http://example.org/resource5", kind: IRI},
  1044  			predicate: term{text: "http://example.org/property", kind: IRI},
  1045  			object:    term{text: "http://example.org/resource2", kind: IRI},
  1046  		},
  1047  		{
  1048  			input:     "<http://example.org/resource6> <http://example.org/property> <http://example.org/resource2> .",
  1049  			subject:   term{text: "http://example.org/resource6", kind: IRI},
  1050  			predicate: term{text: "http://example.org/property", kind: IRI},
  1051  			object:    term{text: "http://example.org/resource2", kind: IRI},
  1052  		},
  1053  		{
  1054  			input:     "<http://example.org/resource7> <http://example.org/property> \"simple literal\" .",
  1055  			subject:   term{text: "http://example.org/resource7", kind: IRI},
  1056  			predicate: term{text: "http://example.org/property", kind: IRI},
  1057  			object:    term{text: "simple literal", kind: Literal},
  1058  		},
  1059  		{
  1060  			input:     "<http://example.org/resource8> <http://example.org/property> \"backslash:\\\\\" .",
  1061  			subject:   term{text: "http://example.org/resource8", kind: IRI},
  1062  			predicate: term{text: "http://example.org/property", kind: IRI},
  1063  			object:    term{text: "backslash:\\", kind: Literal},
  1064  		},
  1065  		{
  1066  			input:     "<http://example.org/resource9> <http://example.org/property> \"dquote:\\\"\" .",
  1067  			subject:   term{text: "http://example.org/resource9", kind: IRI},
  1068  			predicate: term{text: "http://example.org/property", kind: IRI},
  1069  			object:    term{text: "dquote:\"", kind: Literal},
  1070  		},
  1071  		{
  1072  			input:     "<http://example.org/resource10> <http://example.org/property> \"newline:\\n\" .",
  1073  			subject:   term{text: "http://example.org/resource10", kind: IRI},
  1074  			predicate: term{text: "http://example.org/property", kind: IRI},
  1075  			object:    term{text: "newline:\n", kind: Literal},
  1076  		},
  1077  		{
  1078  			input:     "<http://example.org/resource11> <http://example.org/property> \"return\\r\" .",
  1079  			subject:   term{text: "http://example.org/resource11", kind: IRI},
  1080  			predicate: term{text: "http://example.org/property", kind: IRI},
  1081  			object:    term{text: "return\r", kind: Literal},
  1082  		},
  1083  		{
  1084  			input:     "<http://example.org/resource12> <http://example.org/property> \"tab:\\t\" .",
  1085  			subject:   term{text: "http://example.org/resource12", kind: IRI},
  1086  			predicate: term{text: "http://example.org/property", kind: IRI},
  1087  			object:    term{text: "tab:\t", kind: Literal},
  1088  		},
  1089  		{
  1090  			input:     "<http://example.org/resource13> <http://example.org/property> <http://example.org/resource2>.",
  1091  			subject:   term{text: "http://example.org/resource13", kind: IRI},
  1092  			predicate: term{text: "http://example.org/property", kind: IRI},
  1093  			object:    term{text: "http://example.org/resource2", kind: IRI},
  1094  		},
  1095  		{
  1096  			input:     "<http://example.org/resource14> <http://example.org/property> \"x\".",
  1097  			subject:   term{text: "http://example.org/resource14", kind: IRI},
  1098  			predicate: term{text: "http://example.org/property", kind: IRI},
  1099  			object:    term{text: "x", kind: Literal},
  1100  		},
  1101  		{
  1102  			input:     "<http://example.org/resource15> <http://example.org/property> _:anon.",
  1103  			subject:   term{text: "http://example.org/resource15", kind: IRI},
  1104  			predicate: term{text: "http://example.org/property", kind: IRI},
  1105  			object:    term{text: "anon", kind: Blank},
  1106  		},
  1107  		{
  1108  			input:     "<http://example.org/resource16> <http://example.org/property> \"\\u00E9\" .",
  1109  			subject:   term{text: "http://example.org/resource16", kind: IRI},
  1110  			predicate: term{text: "http://example.org/property", kind: IRI},
  1111  			object:    term{text: "é", kind: Literal},
  1112  		},
  1113  		{
  1114  			input:     "<http://example.org/resource17> <http://example.org/property> \"\\u20AC\" .",
  1115  			subject:   term{text: "http://example.org/resource17", kind: IRI},
  1116  			predicate: term{text: "http://example.org/property", kind: IRI},
  1117  			object:    term{text: "€", kind: Literal},
  1118  		},
  1119  		{
  1120  			input:     "<http://example.org/resource21> <http://example.org/property> \"\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
  1121  			subject:   term{text: "http://example.org/resource21", kind: IRI},
  1122  			predicate: term{text: "http://example.org/property", kind: IRI},
  1123  			object:    term{text: "", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
  1124  		},
  1125  		{
  1126  			input:     "<http://example.org/resource22> <http://example.org/property> \" \"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
  1127  			subject:   term{text: "http://example.org/resource22", kind: IRI},
  1128  			predicate: term{text: "http://example.org/property", kind: IRI},
  1129  			object:    term{text: " ", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
  1130  		},
  1131  		{
  1132  			input:     "<http://example.org/resource23> <http://example.org/property> \"x\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
  1133  			subject:   term{text: "http://example.org/resource23", kind: IRI},
  1134  			predicate: term{text: "http://example.org/property", kind: IRI},
  1135  			object:    term{text: "x", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
  1136  		},
  1137  		{
  1138  			input:     "<http://example.org/resource23> <http://example.org/property> \"\\\"\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
  1139  			subject:   term{text: "http://example.org/resource23", kind: IRI},
  1140  			predicate: term{text: "http://example.org/property", kind: IRI},
  1141  			object:    term{text: "\"", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
  1142  		},
  1143  		{
  1144  			input:     "<http://example.org/resource24> <http://example.org/property> \"<a></a>\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
  1145  			subject:   term{text: "http://example.org/resource24", kind: IRI},
  1146  			predicate: term{text: "http://example.org/property", kind: IRI},
  1147  			object:    term{text: "<a></a>", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
  1148  		},
  1149  		{
  1150  			input:     "<http://example.org/resource25> <http://example.org/property> \"a <b></b>\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
  1151  			subject:   term{text: "http://example.org/resource25", kind: IRI},
  1152  			predicate: term{text: "http://example.org/property", kind: IRI},
  1153  			object:    term{text: "a <b></b>", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
  1154  		},
  1155  		{
  1156  			input:     "<http://example.org/resource26> <http://example.org/property> \"a <b></b> c\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
  1157  			subject:   term{text: "http://example.org/resource26", kind: IRI},
  1158  			predicate: term{text: "http://example.org/property", kind: IRI},
  1159  			object:    term{text: "a <b></b> c", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
  1160  		},
  1161  		{
  1162  			input:     "<http://example.org/resource26> <http://example.org/property> \"a\\n<b></b>\\nc\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
  1163  			subject:   term{text: "http://example.org/resource26", kind: IRI},
  1164  			predicate: term{text: "http://example.org/property", kind: IRI},
  1165  			object:    term{text: "a\n<b></b>\nc", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
  1166  		},
  1167  		{
  1168  			input:     "<http://example.org/resource27> <http://example.org/property> \"chat\"^^<http://www.w3.org/2000/01/rdf-schema#XMLLiteral> .",
  1169  			subject:   term{text: "http://example.org/resource27", kind: IRI},
  1170  			predicate: term{text: "http://example.org/property", kind: IRI},
  1171  			object:    term{text: "chat", qual: "http://www.w3.org/2000/01/rdf-schema#XMLLiteral", kind: Literal},
  1172  		},
  1173  		{
  1174  			input:     "<http://example.org/resource30> <http://example.org/property> \"chat\"@fr .",
  1175  			subject:   term{text: "http://example.org/resource30", kind: IRI},
  1176  			predicate: term{text: "http://example.org/property", kind: IRI},
  1177  			object:    term{text: "chat", qual: "@fr", kind: Literal},
  1178  		},
  1179  		{
  1180  			input:     "<http://example.org/resource31> <http://example.org/property> \"chat\"@en .",
  1181  			subject:   term{text: "http://example.org/resource31", kind: IRI},
  1182  			predicate: term{text: "http://example.org/property", kind: IRI},
  1183  			object:    term{text: "chat", qual: "@en", kind: Literal},
  1184  		},
  1185  		{
  1186  			input:     "<http://example.org/resource32> <http://example.org/property> \"abc\"^^<http://example.org/datatype1> .",
  1187  			subject:   term{text: "http://example.org/resource32", kind: IRI},
  1188  			predicate: term{text: "http://example.org/property", kind: IRI},
  1189  			object:    term{text: "abc", qual: "http://example.org/datatype1", kind: Literal},
  1190  		},
  1191  	},
  1192  	"nt-syntax-uri-01.nq": {
  1193  		{
  1194  			input:     "<http://example/s> <http://example/p> <http://example/o> .",
  1195  			subject:   term{text: "http://example/s", kind: IRI},
  1196  			predicate: term{text: "http://example/p", kind: IRI},
  1197  			object:    term{text: "http://example/o", kind: IRI},
  1198  		},
  1199  	},
  1200  	"nt-syntax-uri-01.nt": {
  1201  		{
  1202  			input:     "<http://example/s> <http://example/p> <http://example/o> .",
  1203  			subject:   term{text: "http://example/s", kind: IRI},
  1204  			predicate: term{text: "http://example/p", kind: IRI},
  1205  			object:    term{text: "http://example/o", kind: IRI},
  1206  		},
  1207  	},
  1208  	"nt-syntax-uri-02.nq": {
  1209  		{
  1210  			input:     "<http://example/\\u0053> <http://example/p> <http://example/o> .",
  1211  			subject:   term{text: "http://example/S", kind: IRI},
  1212  			predicate: term{text: "http://example/p", kind: IRI},
  1213  			object:    term{text: "http://example/o", kind: IRI},
  1214  		},
  1215  	},
  1216  	"nt-syntax-uri-02.nt": {
  1217  		{
  1218  			input:     "<http://example/\\u0053> <http://example/p> <http://example/o> .",
  1219  			subject:   term{text: "http://example/S", kind: IRI},
  1220  			predicate: term{text: "http://example/p", kind: IRI},
  1221  			object:    term{text: "http://example/o", kind: IRI},
  1222  		},
  1223  	},
  1224  	"nt-syntax-uri-03.nq": {
  1225  		{
  1226  			input:     "<http://example/\\U00000053> <http://example/p> <http://example/o> .",
  1227  			subject:   term{text: "http://example/S", kind: IRI},
  1228  			predicate: term{text: "http://example/p", kind: IRI},
  1229  			object:    term{text: "http://example/o", kind: IRI},
  1230  		},
  1231  	},
  1232  	"nt-syntax-uri-03.nt": {
  1233  		{
  1234  			input:     "<http://example/\\U00000053> <http://example/p> <http://example/o> .",
  1235  			subject:   term{text: "http://example/S", kind: IRI},
  1236  			predicate: term{text: "http://example/p", kind: IRI},
  1237  			object:    term{text: "http://example/o", kind: IRI},
  1238  		},
  1239  	},
  1240  	"nt-syntax-uri-04.nq": {
  1241  		{
  1242  			input:     "<http://example/s> <http://example/p> <scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> .",
  1243  			subject:   term{text: "http://example/s", kind: IRI},
  1244  			predicate: term{text: "http://example/p", kind: IRI},
  1245  			object:    term{text: "scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#", kind: IRI},
  1246  		},
  1247  	},
  1248  	"nt-syntax-uri-04.nt": {
  1249  		{
  1250  			input:     "<http://example/s> <http://example/p> <scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#> .",
  1251  			subject:   term{text: "http://example/s", kind: IRI},
  1252  			predicate: term{text: "http://example/p", kind: IRI},
  1253  			object:    term{text: "scheme:!$%25&'()*+,-./0123456789:/@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~?#", kind: IRI},
  1254  		},
  1255  	},
  1256  
  1257  	// Empty valid syntax.
  1258  	"nt-syntax-file-01.nq": nil,
  1259  	"nt-syntax-file-01.nt": nil,
  1260  	"nt-syntax-file-02.nq": nil,
  1261  	"nt-syntax-file-02.nt": nil,
  1262  	"nt-syntax-file-03.nq": nil,
  1263  	"nt-syntax-file-03.nt": nil,
  1264  
  1265  	// Invalid syntax.
  1266  	"nq-syntax-bad-literal-01.nq": nil,
  1267  	"nq-syntax-bad-literal-02.nq": nil,
  1268  	"nq-syntax-bad-literal-03.nq": nil,
  1269  	"nq-syntax-bad-quint-01.nq":   nil,
  1270  	"nq-syntax-bad-uri-01.nq":     nil,
  1271  	"nt-syntax-bad-base-01.nq":    nil,
  1272  	"nt-syntax-bad-base-01.nt":    nil,
  1273  	"nt-syntax-bad-esc-01.nq":     nil,
  1274  	"nt-syntax-bad-esc-01.nt":     nil,
  1275  	"nt-syntax-bad-esc-02.nq":     nil,
  1276  	"nt-syntax-bad-esc-02.nt":     nil,
  1277  	"nt-syntax-bad-esc-03.nq":     nil,
  1278  	"nt-syntax-bad-esc-03.nt":     nil,
  1279  	"nt-syntax-bad-lang-01.nq":    nil,
  1280  	"nt-syntax-bad-lang-01.nt":    nil,
  1281  	"nt-syntax-bad-num-01.nq":     nil,
  1282  	"nt-syntax-bad-num-01.nt":     nil,
  1283  	"nt-syntax-bad-num-02.nq":     nil,
  1284  	"nt-syntax-bad-num-02.nt":     nil,
  1285  	"nt-syntax-bad-num-03.nq":     nil,
  1286  	"nt-syntax-bad-num-03.nt":     nil,
  1287  	"nt-syntax-bad-prefix-01.nq":  nil,
  1288  	"nt-syntax-bad-prefix-01.nt":  nil,
  1289  	"nt-syntax-bad-string-01.nq":  nil,
  1290  	"nt-syntax-bad-string-01.nt":  nil,
  1291  	"nt-syntax-bad-string-02.nq":  nil,
  1292  	"nt-syntax-bad-string-02.nt":  nil,
  1293  	"nt-syntax-bad-string-03.nq":  nil,
  1294  	"nt-syntax-bad-string-03.nt":  nil,
  1295  	"nt-syntax-bad-string-04.nq":  nil,
  1296  	"nt-syntax-bad-string-04.nt":  nil,
  1297  	"nt-syntax-bad-string-05.nq":  nil,
  1298  	"nt-syntax-bad-string-05.nt":  nil,
  1299  	"nt-syntax-bad-string-06.nq":  nil,
  1300  	"nt-syntax-bad-string-06.nt":  nil,
  1301  	"nt-syntax-bad-string-07.nq":  nil,
  1302  	"nt-syntax-bad-string-07.nt":  nil,
  1303  	"nt-syntax-bad-struct-01.nq":  nil,
  1304  	"nt-syntax-bad-struct-01.nt":  nil,
  1305  	"nt-syntax-bad-struct-02.nq":  nil,
  1306  	"nt-syntax-bad-struct-02.nt":  nil,
  1307  	"nt-syntax-bad-uri-01.nq":     nil,
  1308  	"nt-syntax-bad-uri-01.nt":     nil,
  1309  	"nt-syntax-bad-uri-02.nq":     nil,
  1310  	"nt-syntax-bad-uri-02.nt":     nil,
  1311  	"nt-syntax-bad-uri-03.nq":     nil,
  1312  	"nt-syntax-bad-uri-03.nt":     nil,
  1313  	"nt-syntax-bad-uri-04.nq":     nil,
  1314  	"nt-syntax-bad-uri-04.nt":     nil,
  1315  	"nt-syntax-bad-uri-05.nq":     nil,
  1316  	"nt-syntax-bad-uri-05.nt":     nil,
  1317  	"nt-syntax-bad-uri-06.nq":     nil,
  1318  	"nt-syntax-bad-uri-06.nt":     nil,
  1319  	"nt-syntax-bad-uri-07.nq":     nil,
  1320  	"nt-syntax-bad-uri-07.nt":     nil,
  1321  	"nt-syntax-bad-uri-08.nq":     nil,
  1322  	"nt-syntax-bad-uri-08.nt":     nil,
  1323  	"nt-syntax-bad-uri-09.nq":     nil,
  1324  	"nt-syntax-bad-uri-09.nt":     nil,
  1325  }