1# N-Triples Syntax tests 2 3@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 4@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . 5@prefix mf: <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> . 6@prefix qt: <http://www.w3.org/2001/sw/DataAccess/tests/test-query#> . 7 8@prefix rdft: <http://www.w3.org/ns/rdftest#> . 9 10<> rdf:type mf:Manifest ; 11 mf:name "N-Triples tests" ; 12 mf:entries 13 ( 14 <#nt-syntax-file-01> 15 <#nt-syntax-file-02> 16 <#nt-syntax-file-03> 17 <#nt-syntax-uri-01> 18 <#nt-syntax-uri-02> 19 <#nt-syntax-uri-03> 20 <#nt-syntax-uri-04> 21 <#nt-syntax-string-01> 22 <#nt-syntax-string-02> 23 <#nt-syntax-string-03> 24 <#nt-syntax-str-esc-01> 25 <#nt-syntax-str-esc-02> 26 <#nt-syntax-str-esc-03> 27 <#nt-syntax-bnode-01> 28 <#nt-syntax-bnode-02> 29 <#nt-syntax-bnode-03> 30 <#nt-syntax-datatypes-01> 31 <#nt-syntax-datatypes-02> 32 <#nt-syntax-bad-uri-01> 33 <#nt-syntax-bad-uri-02> 34 <#nt-syntax-bad-uri-03> 35 <#nt-syntax-bad-uri-04> 36 <#nt-syntax-bad-uri-05> 37 <#nt-syntax-bad-uri-06> 38 <#nt-syntax-bad-uri-07> 39 <#nt-syntax-bad-uri-08> 40 <#nt-syntax-bad-uri-09> 41 <#nt-syntax-bad-prefix-01> 42 <#nt-syntax-bad-base-01> 43 <#nt-syntax-bad-struct-01> 44 <#nt-syntax-bad-struct-02> 45 <#nt-syntax-bad-lang-01> 46 <#nt-syntax-bad-esc-01> 47 <#nt-syntax-bad-esc-02> 48 <#nt-syntax-bad-esc-03> 49 <#nt-syntax-bad-string-01> 50 <#nt-syntax-bad-string-02> 51 <#nt-syntax-bad-string-03> 52 <#nt-syntax-bad-string-04> 53 <#nt-syntax-bad-string-05> 54 <#nt-syntax-bad-string-06> 55 <#nt-syntax-bad-string-07> 56 <#nt-syntax-bad-num-01> 57 <#nt-syntax-bad-num-02> 58 <#nt-syntax-bad-num-03> 59 <#nt-syntax-subm-01> 60 <#comment_following_triple> 61 <#literal> 62 <#literal_all_controls> 63 <#literal_all_punctuation> 64 <#literal_ascii_boundaries> 65 <#literal_with_2_dquotes> 66 <#literal_with_2_squotes> 67 <#literal_with_BACKSPACE> 68 <#literal_with_CARRIAGE_RETURN> 69 <#literal_with_CHARACTER_TABULATION> 70 <#literal_with_dquote> 71 <#literal_with_FORM_FEED> 72 <#literal_with_LINE_FEED> 73 <#literal_with_numeric_escape4> 74 <#literal_with_numeric_escape8> 75 <#literal_with_REVERSE_SOLIDUS> 76 <#literal_with_REVERSE_SOLIDUS2> 77 <#literal_with_squote> 78 <#literal_with_UTF8_boundaries> 79 <#langtagged_string> 80 <#lantag_with_subtag> 81 <#minimal_whitespace> 82 ) . 83 84<#nt-syntax-file-01> rdf:type rdft:TestNTriplesPositiveSyntax ; 85 mf:name "nt-syntax-file-01" ; 86 rdfs:comment "Empty file" ; 87 mf:action <nt-syntax-file-01.nt> ; 88 . 89 90<#nt-syntax-file-02> rdf:type rdft:TestNTriplesPositiveSyntax ; 91 mf:name "nt-syntax-file-02" ; 92 rdfs:comment "Only comment" ; 93 mf:action <nt-syntax-file-02.nt> ; 94 . 95 96<#nt-syntax-file-03> rdf:type rdft:TestNTriplesPositiveSyntax ; 97 mf:name "nt-syntax-file-03" ; 98 rdfs:comment "One comment, one empty line" ; 99 mf:action <nt-syntax-file-03.nt> ; 100 . 101 102<#nt-syntax-uri-01> rdf:type rdft:TestNTriplesPositiveSyntax ; 103 mf:name "nt-syntax-uri-01" ; 104 rdfs:comment "Only IRIs" ; 105 mf:action <nt-syntax-uri-01.nt> ; 106 . 107 108<#nt-syntax-uri-02> rdf:type rdft:TestNTriplesPositiveSyntax ; 109 mf:name "nt-syntax-uri-02" ; 110 rdfs:comment "IRIs with Unicode escape" ; 111 mf:action <nt-syntax-uri-02.nt> ; 112 . 113 114<#nt-syntax-uri-03> rdf:type rdft:TestNTriplesPositiveSyntax ; 115 mf:name "nt-syntax-uri-03" ; 116 rdfs:comment "IRIs with long Unicode escape" ; 117 mf:action <nt-syntax-uri-03.nt> ; 118 . 119 120<#nt-syntax-uri-04> rdf:type rdft:TestNTriplesPositiveSyntax ; 121 mf:name "nt-syntax-uri-04" ; 122 rdfs:comment "Legal IRIs" ; 123 mf:action <nt-syntax-uri-04.nt> ; 124 . 125 126<#nt-syntax-string-01> rdf:type rdft:TestNTriplesPositiveSyntax ; 127 mf:name "nt-syntax-string-01" ; 128 rdfs:comment "string literal" ; 129 mf:action <nt-syntax-string-01.nt> ; 130 . 131 132<#nt-syntax-string-02> rdf:type rdft:TestNTriplesPositiveSyntax ; 133 mf:name "nt-syntax-string-02" ; 134 rdfs:comment "langString literal" ; 135 mf:action <nt-syntax-string-02.nt> ; 136 . 137 138<#nt-syntax-string-03> rdf:type rdft:TestNTriplesPositiveSyntax ; 139 mf:name "nt-syntax-string-03" ; 140 rdfs:comment "langString literal with region" ; 141 mf:action <nt-syntax-string-03.nt> ; 142 . 143 144<#nt-syntax-str-esc-01> rdf:type rdft:TestNTriplesPositiveSyntax ; 145 mf:name "nt-syntax-str-esc-01" ; 146 rdfs:comment "string literal with escaped newline" ; 147 mf:action <nt-syntax-str-esc-01.nt> ; 148 . 149 150<#nt-syntax-str-esc-02> rdf:type rdft:TestNTriplesPositiveSyntax ; 151 mf:name "nt-syntax-str-esc-02" ; 152 rdfs:comment "string literal with Unicode escape" ; 153 mf:action <nt-syntax-str-esc-02.nt> ; 154 . 155 156<#nt-syntax-str-esc-03> rdf:type rdft:TestNTriplesPositiveSyntax ; 157 mf:name "nt-syntax-str-esc-03" ; 158 rdfs:comment "string literal with long Unicode escape" ; 159 mf:action <nt-syntax-str-esc-03.nt> ; 160 . 161 162<#nt-syntax-bnode-01> rdf:type rdft:TestNTriplesPositiveSyntax ; 163 mf:name "nt-syntax-bnode-01" ; 164 rdfs:comment "bnode subject" ; 165 mf:action <nt-syntax-bnode-01.nt> ; 166 . 167 168<#nt-syntax-bnode-02> rdf:type rdft:TestNTriplesPositiveSyntax ; 169 mf:name "nt-syntax-bnode-02" ; 170 rdfs:comment "bnode object" ; 171 mf:action <nt-syntax-bnode-02.nt> ; 172 . 173 174<#nt-syntax-bnode-03> rdf:type rdft:TestNTriplesPositiveSyntax ; 175 mf:name "nt-syntax-bnode-03" ; 176 rdfs:comment "Blank node labels may start with a digit" ; 177 mf:action <nt-syntax-bnode-03.nt> ; 178 . 179 180<#nt-syntax-datatypes-01> rdf:type rdft:TestNTriplesPositiveSyntax ; 181 mf:name "nt-syntax-datatypes-01" ; 182 rdfs:comment "xsd:byte literal" ; 183 mf:action <nt-syntax-datatypes-01.nt> ; 184 . 185 186<#nt-syntax-datatypes-02> rdf:type rdft:TestNTriplesPositiveSyntax ; 187 mf:name "nt-syntax-datatypes-02" ; 188 rdfs:comment "integer as xsd:string" ; 189 mf:action <nt-syntax-datatypes-02.nt> ; 190 . 191 192<#nt-syntax-bad-uri-01> rdf:type rdft:TestNTriplesNegativeSyntax ; 193 mf:name "nt-syntax-bad-uri-01" ; 194 rdfs:comment "Bad IRI : space (negative test)" ; 195 mf:action <nt-syntax-bad-uri-01.nt> ; 196 . 197 198<#nt-syntax-bad-uri-02> rdf:type rdft:TestNTriplesNegativeSyntax ; 199 mf:name "nt-syntax-bad-uri-02" ; 200 rdfs:comment "Bad IRI : bad escape (negative test)" ; 201 mf:action <nt-syntax-bad-uri-02.nt> ; 202 . 203 204<#nt-syntax-bad-uri-03> rdf:type rdft:TestNTriplesNegativeSyntax ; 205 mf:name "nt-syntax-bad-uri-03" ; 206 rdfs:comment "Bad IRI : bad long escape (negative test)" ; 207 mf:action <nt-syntax-bad-uri-03.nt> ; 208 . 209 210<#nt-syntax-bad-uri-04> rdf:type rdft:TestNTriplesNegativeSyntax ; 211 mf:name "nt-syntax-bad-uri-04" ; 212 rdfs:comment "Bad IRI : character escapes not allowed (negative test)" ; 213 mf:action <nt-syntax-bad-uri-04.nt> ; 214 . 215 216<#nt-syntax-bad-uri-05> rdf:type rdft:TestNTriplesNegativeSyntax ; 217 mf:name "nt-syntax-bad-uri-05" ; 218 rdfs:comment "Bad IRI : character escapes not allowed (2) (negative test)" ; 219 mf:action <nt-syntax-bad-uri-05.nt> ; 220 . 221 222<#nt-syntax-bad-uri-06> rdf:type rdft:TestNTriplesNegativeSyntax ; 223 mf:name "nt-syntax-bad-uri-06" ; 224 rdfs:comment "Bad IRI : relative IRI not allowed in subject (negative test)" ; 225 mf:action <nt-syntax-bad-uri-06.nt> ; 226 . 227 228<#nt-syntax-bad-uri-07> rdf:type rdft:TestNTriplesNegativeSyntax ; 229 mf:name "nt-syntax-bad-uri-07" ; 230 rdfs:comment "Bad IRI : relative IRI not allowed in predicate (negative test)" ; 231 mf:action <nt-syntax-bad-uri-07.nt> ; 232 . 233 234<#nt-syntax-bad-uri-08> rdf:type rdft:TestNTriplesNegativeSyntax ; 235 mf:name "nt-syntax-bad-uri-08" ; 236 rdfs:comment "Bad IRI : relative IRI not allowed in object (negative test)" ; 237 mf:action <nt-syntax-bad-uri-08.nt> ; 238 . 239 240<#nt-syntax-bad-uri-09> rdf:type rdft:TestNTriplesNegativeSyntax ; 241 mf:name "nt-syntax-bad-uri-09" ; 242 rdfs:comment "Bad IRI : relative IRI not allowed in datatype (negative test)" ; 243 mf:action <nt-syntax-bad-uri-09.nt> ; 244 . 245 246<#nt-syntax-bad-prefix-01> rdf:type rdft:TestNTriplesNegativeSyntax ; 247 mf:name "nt-syntax-bad-prefix-01" ; 248 rdfs:comment "@prefix not allowed in n-triples (negative test)" ; 249 mf:action <nt-syntax-bad-prefix-01.nt> ; 250 . 251 252<#nt-syntax-bad-base-01> rdf:type rdft:TestNTriplesNegativeSyntax ; 253 mf:name "nt-syntax-bad-base-01" ; 254 rdfs:comment "@base not allowed in N-Triples (negative test)" ; 255 mf:action <nt-syntax-bad-base-01.nt> ; 256 . 257 258<#nt-syntax-bad-struct-01> rdf:type rdft:TestNTriplesNegativeSyntax ; 259 mf:name "nt-syntax-bad-struct-01" ; 260 rdfs:comment "N-Triples does not have objectList (negative test)" ; 261 mf:action <nt-syntax-bad-struct-01.nt> ; 262 . 263 264<#nt-syntax-bad-struct-02> rdf:type rdft:TestNTriplesNegativeSyntax ; 265 mf:name "nt-syntax-bad-struct-02" ; 266 rdfs:comment "N-Triples does not have predicateObjectList (negative test)" ; 267 mf:action <nt-syntax-bad-struct-02.nt> ; 268 . 269 270<#nt-syntax-bad-lang-01> rdf:type rdft:TestNTriplesNegativeSyntax ; 271 mf:name "nt-syntax-bad-lang-01" ; 272 rdfs:comment "langString with bad lang (negative test)" ; 273 mf:action <nt-syntax-bad-lang-01.nt> ; 274 . 275 276<#nt-syntax-bad-esc-01> rdf:type rdft:TestNTriplesNegativeSyntax ; 277 mf:name "nt-syntax-bad-esc-01" ; 278 rdfs:comment "Bad string escape (negative test)" ; 279 mf:action <nt-syntax-bad-esc-01.nt> ; 280 . 281 282<#nt-syntax-bad-esc-02> rdf:type rdft:TestNTriplesNegativeSyntax ; 283 mf:name "nt-syntax-bad-esc-02" ; 284 rdfs:comment "Bad string escape (negative test)" ; 285 mf:action <nt-syntax-bad-esc-02.nt> ; 286 . 287 288<#nt-syntax-bad-esc-03> rdf:type rdft:TestNTriplesNegativeSyntax ; 289 mf:name "nt-syntax-bad-esc-03" ; 290 rdfs:comment "Bad string escape (negative test)" ; 291 mf:action <nt-syntax-bad-esc-03.nt> ; 292 . 293 294<#nt-syntax-bad-string-01> rdf:type rdft:TestNTriplesNegativeSyntax ; 295 mf:name "nt-syntax-bad-string-01" ; 296 rdfs:comment "mismatching string literal open/close (negative test)" ; 297 mf:action <nt-syntax-bad-string-01.nt> ; 298 . 299 300<#nt-syntax-bad-string-02> rdf:type rdft:TestNTriplesNegativeSyntax ; 301 mf:name "nt-syntax-bad-string-02" ; 302 rdfs:comment "mismatching string literal open/close (negative test)" ; 303 mf:action <nt-syntax-bad-string-02.nt> ; 304 . 305 306<#nt-syntax-bad-string-03> rdf:type rdft:TestNTriplesNegativeSyntax ; 307 mf:name "nt-syntax-bad-string-03" ; 308 rdfs:comment "single quotes (negative test)" ; 309 mf:action <nt-syntax-bad-string-03.nt> ; 310 . 311 312<#nt-syntax-bad-string-04> rdf:type rdft:TestNTriplesNegativeSyntax ; 313 mf:name "nt-syntax-bad-string-04" ; 314 rdfs:comment "long single string literal (negative test)" ; 315 mf:action <nt-syntax-bad-string-04.nt> ; 316 . 317 318<#nt-syntax-bad-string-05> rdf:type rdft:TestNTriplesNegativeSyntax ; 319 mf:name "nt-syntax-bad-string-05" ; 320 rdfs:comment "long double string literal (negative test)" ; 321 mf:action <nt-syntax-bad-string-05.nt> ; 322 . 323 324<#nt-syntax-bad-string-06> rdf:type rdft:TestNTriplesNegativeSyntax ; 325 mf:name "nt-syntax-bad-string-06" ; 326 rdfs:comment "string literal with no end (negative test)" ; 327 mf:action <nt-syntax-bad-string-06.nt> ; 328 . 329 330<#nt-syntax-bad-string-07> rdf:type rdft:TestNTriplesNegativeSyntax ; 331 mf:name "nt-syntax-bad-string-07" ; 332 rdfs:comment "string literal with no start (negative test)" ; 333 mf:action <nt-syntax-bad-string-07.nt> ; 334 . 335 336<#nt-syntax-bad-num-01> rdf:type rdft:TestNTriplesNegativeSyntax ; 337 mf:name "nt-syntax-bad-num-01" ; 338 rdfs:comment "no numbers in N-Triples (integer) (negative test)" ; 339 mf:action <nt-syntax-bad-num-01.nt> ; 340 . 341 342<#nt-syntax-bad-num-02> rdf:type rdft:TestNTriplesNegativeSyntax ; 343 mf:name "nt-syntax-bad-num-02" ; 344 rdfs:comment "no numbers in N-Triples (decimal) (negative test)" ; 345 mf:action <nt-syntax-bad-num-02.nt> ; 346 . 347 348<#nt-syntax-bad-num-03> rdf:type rdft:TestNTriplesNegativeSyntax ; 349 mf:name "nt-syntax-bad-num-03" ; 350 rdfs:comment "no numbers in N-Triples (float) (negative test)" ; 351 mf:action <nt-syntax-bad-num-03.nt> ; 352 . 353 354<#nt-syntax-subm-01> rdf:type rdft:TestNTriplesPositiveSyntax ; 355 mf:name "nt-syntax-subm-01" ; 356 rdfs:comment "Submission test from Original RDF Test Cases" ; 357 mf:action <nt-syntax-subm-01.nt> ; 358 . 359 360<#comment_following_triple> rdf:type rdft:TestNTriplesPositiveSyntax ; 361 mf:name "comment_following_triple" ; 362 rdfs:comment "Tests comments after a triple" ; 363 rdft:approval rdft:Proposed ; 364 mf:action <comment_following_triple.nt> ; 365 . 366 367<#literal_ascii_boundaries> rdf:type rdft:TestNTriplesPositiveSyntax ; 368 mf:name "literal_ascii_boundaries" ; 369 rdfs:comment "literal_ascii_boundaries '\\x00\\x26\\x28...'" ; 370 rdft:approval rdft:Proposed ; 371 mf:action <literal_ascii_boundaries.nt> ; 372 . 373 374<#literal_with_UTF8_boundaries> rdf:type rdft:TestNTriplesPositiveSyntax ; 375 mf:name "literal_with_UTF8_boundaries" ; 376 rdfs:comment "literal_with_UTF8_boundaries '\\x80\\x7ff\\x800\\xfff...'" ; 377 rdft:approval rdft:Proposed ; 378 mf:action <literal_with_UTF8_boundaries.nt> ; 379 . 380 381<#literal_all_controls> rdf:type rdft:TestNTriplesPositiveSyntax ; 382 mf:name "literal_all_controls" ; 383 rdfs:comment "literal_all_controls '\\x00\\x01\\x02\\x03\\x04...'" ; 384 rdft:approval rdft:Approved ; 385 mf:action <literal_all_controls.nt> ; 386 . 387 388<#literal_all_punctuation> rdf:type rdft:TestNTriplesPositiveSyntax ; 389 mf:name "literal_all_punctuation" ; 390 rdfs:comment "literal_all_punctuation '!\"#$%&()...'" ; 391 rdft:approval rdft:Approved ; 392 mf:action <literal_all_punctuation.nt> ; 393 . 394 395<#literal_with_squote> rdf:type rdft:TestNTriplesPositiveSyntax ; 396 mf:name "literal_with_squote" ; 397 rdfs:comment "literal with squote \"x'y\"" ; 398 rdft:approval rdft:Proposed ; 399 mf:action <literal_with_squote.nt> ; 400 . 401 402<#literal_with_2_squotes> rdf:type rdft:TestNTriplesPositiveSyntax ; 403 mf:name "literal_with_2_squotes" ; 404 rdfs:comment "literal with 2 squotes \"x''y\"" ; 405 rdft:approval rdft:Proposed ; 406 mf:action <literal_with_2_squotes.nt> ; 407 . 408 409<#literal> rdf:type rdft:TestNTriplesPositiveSyntax ; 410 mf:name "literal" ; 411 rdfs:comment "literal \"\"\"x\"\"\"" ; 412 rdft:approval rdft:Proposed ; 413 mf:action <literal.nt> ; 414 . 415 416<#literal_with_dquote> rdf:type rdft:TestNTriplesPositiveSyntax ; 417 mf:name "literal_with_dquote" ; 418 rdfs:comment "literal with dquote \"x\"y\"" ; 419 rdft:approval rdft:Proposed ; 420 mf:action <literal_with_dquote.nt> ; 421 . 422 423<#literal_with_2_dquotes> rdf:type rdft:TestNTriplesPositiveSyntax ; 424 mf:name "literal_with_2_dquotes" ; 425 rdfs:comment "literal with 2 squotes \"\"\"a\"\"b\"\"\"" ; 426 rdft:approval rdft:Proposed ; 427 mf:action <literal_with_2_dquotes.nt> ; 428 . 429 430<#literal_with_REVERSE_SOLIDUS2> rdf:type rdft:TestNTriplesPositiveSyntax ; 431 mf:name "literal_with_REVERSE_SOLIDUS2" ; 432 rdfs:comment "REVERSE SOLIDUS at end of literal" ; 433 rdft:approval rdft:Proposed ; 434 mf:action <literal_with_REVERSE_SOLIDUS2.nt> ; 435 . 436 437<#literal_with_CHARACTER_TABULATION> rdf:type rdft:TestNTriplesPositiveSyntax ; 438 mf:name "literal_with_CHARACTER_TABULATION" ; 439 rdfs:comment "literal with CHARACTER TABULATION" ; 440 rdft:approval rdft:Proposed ; 441 mf:action <literal_with_CHARACTER_TABULATION.nt> ; 442 . 443 444<#literal_with_BACKSPACE> rdf:type rdft:TestNTriplesPositiveSyntax ; 445 mf:name "literal_with_BACKSPACE" ; 446 rdfs:comment "literal with BACKSPACE" ; 447 rdft:approval rdft:Proposed ; 448 mf:action <literal_with_BACKSPACE.nt> ; 449 . 450 451<#literal_with_LINE_FEED> rdf:type rdft:TestNTriplesPositiveSyntax ; 452 mf:name "literal_with_LINE_FEED" ; 453 rdfs:comment "literal with LINE FEED" ; 454 rdft:approval rdft:Proposed ; 455 mf:action <literal_with_LINE_FEED.nt> ; 456 . 457 458<#literal_with_CARRIAGE_RETURN> rdf:type rdft:TestNTriplesPositiveSyntax ; 459 mf:name "literal_with_CARRIAGE_RETURN" ; 460 rdfs:comment "literal with CARRIAGE RETURN" ; 461 rdft:approval rdft:Proposed ; 462 mf:action <literal_with_CARRIAGE_RETURN.nt> ; 463 . 464 465<#literal_with_FORM_FEED> rdf:type rdft:TestNTriplesPositiveSyntax ; 466 mf:name "literal_with_FORM_FEED" ; 467 rdfs:comment "literal with FORM FEED" ; 468 rdft:approval rdft:Proposed ; 469 mf:action <literal_with_FORM_FEED.nt> ; 470 . 471 472<#literal_with_REVERSE_SOLIDUS> rdf:type rdft:TestNTriplesPositiveSyntax ; 473 mf:name "literal_with_REVERSE_SOLIDUS" ; 474 rdfs:comment "literal with REVERSE SOLIDUS" ; 475 rdft:approval rdft:Proposed ; 476 mf:action <literal_with_REVERSE_SOLIDUS.nt> ; 477 . 478 479<#literal_with_numeric_escape4> rdf:type rdft:TestNTriplesPositiveSyntax ; 480 mf:name "literal_with_numeric_escape4" ; 481 rdfs:comment "literal with numeric escape4 \\u" ; 482 rdft:approval rdft:Proposed ; 483 mf:action <literal_with_numeric_escape4.nt> ; 484 . 485 486<#literal_with_numeric_escape8> rdf:type rdft:TestNTriplesPositiveSyntax ; 487 mf:name "literal_with_numeric_escape8" ; 488 rdfs:comment "literal with numeric escape8 \\U" ; 489 rdft:approval rdft:Proposed ; 490 mf:action <literal_with_numeric_escape8.nt> ; 491 . 492 493<#langtagged_string> rdf:type rdft:TestNTriplesPositiveSyntax ; 494 mf:name "langtagged_string" ; 495 rdfs:comment "langtagged string \"x\"@en" ; 496 rdft:approval rdft:Proposed ; 497 mf:action <langtagged_string.nt> ; 498 . 499 500<#lantag_with_subtag> rdf:type rdft:TestNTriplesPositiveSyntax ; 501 mf:name "lantag_with_subtag" ; 502 rdfs:comment "lantag with subtag \"x\"@en-us" ; 503 rdft:approval rdft:Proposed ; 504 mf:action <lantag_with_subtag.nt> ; 505 . 506 507<#minimal_whitespace> rdf:type rdft:TestNTriplesPositiveSyntax ; 508 mf:name "minimal_whitespace" ; 509 rdfs:comment "tests absense of whitespace between subject, predicate, object and end-of-statement" ; 510 rdft:approval rdft:Proposed ; 511 mf:action <minimal_whitespace.nt> ; 512 . 513