## Distributed under both the "W3C Test Suite License" [1]
## and the "W3C 3-clause BSD License".
## [1] https://www.w3.org/Consortium/Legal/2008/04-testsuite-license
## [2] https://www.w3.org/Consortium/Legal/2008/03-bsd-license

PREFIX rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:   <http://www.w3.org/2000/01/rdf-schema#>
PREFIX mf:     <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#>
PREFIX rdft:   <http://www.w3.org/ns/rdftest#>
PREFIX trs:    <https://w3c.github.io/rdf-tests/rdf/rdf12/rdf-n-quads/syntax#>
PREFIX dct:    <http://purl.org/dc/terms/>
PREFIX xsd:    <http://www.w3.org/2001/XMLSchema#>
PREFIX foaf:    <http://xmlns.com/foaf/0.1/>
PREFIX skos:    <http://www.w3.org/2004/02/skos/core#>

trs:manifest  rdf:type mf:Manifest ;
   rdfs:label "RDF 1.2 N-Quads Syntax Tests"@en ;
   skos:prefLabel "La suite des tests pour RDF 1.2 N-Quads"@fr;
   skos:prefLabel "Conjunto de pruebas para RDF 1.2 N-Quads"@es;
   mf:assumedTestBase <https://w3c.github.io/rdf-tests/rdf/rdf12/rdf-n-quads/syntax/> ;
   dct:issued "2023-07-20"^^xsd:date ;
   dct:modified "2023-07-20"^^xsd:date ;
   dct:licence <https://www.w3.org/Consortium/Legal/2008/03-bsd-license> ;
   dct:creator [ foaf:homepage <https://w3c.github.io/rdf-star-wg/> ; foaf:name "W3C RDF & SPARQL Working Group" ] ;
   rdfs:seeAlso <README>;
    mf:entries
    (
        trs:nquads12-01
        trs:nquads12-02
        trs:nquads12-03

        trs:nquads12-bnode-1

        trs:nquads12-nested-1

        trs:nquads-langdir-1
        trs:nquads-langdir-2

        trs:nquads12-bad-01
        trs:nquads12-bad-02
        trs:nquads12-bad-03
        trs:nquads12-bad-04
        trs:nquads12-bad-05
        trs:nquads12-bad-06
        trs:nquads12-bad-07
        trs:nquads12-bad-08
        trs:nquads12-bad-09
        trs:nquads12-bad-10

        trs:nquads12-bad-reified-1
        trs:nquads12-bad-reified-2
        trs:nquads12-bad-reified-3
        trs:nquads12-bad-reified-4

        trs:nquads12-bnode-bad-annotated-syntax-1
        trs:nquads12-bnode-bad-annotated-syntax-2
        trs:nquads12-nested-bad-annotated-syntax-1
        trs:nquads12-nested-bad-annotated-syntax-2

        trs:nquads-langdir-bad-1
        trs:nquads-langdir-bad-2
    ) .

trs:nquads12-01 rdf:type rdft:TestNQuadsPositiveSyntax ;
   mf:name      "N-Quads-12 - object triple term" ;
   mf:action    <nquads12-syntax-01.nq> ;
   .

trs:nquads12-02 rdf:type rdft:TestNQuadsPositiveSyntax ;
   mf:name      "N-Quads-12 - object triple term, no whitespace" ;
   mf:action    <nquads12-syntax-02.nq> ;
   .

trs:nquads12-03 rdf:type rdft:TestNQuadsPositiveSyntax ;
   mf:name      "N-Quads-12 - Nested, no whitespace" ;
   mf:action    <nquads12-syntax-03.nq> ;
   .

# Blank nodes

trs:nquads12-bnode-1 rdf:type rdft:TestNQuadsPositiveSyntax ;
   mf:name      "N-Quads-12 - Blank node subject" ;
   mf:action    <nquads12-bnode-1.nq> ;
   .

trs:nquads12-nested-1 rdf:type rdft:TestNQuadsPositiveSyntax ;
   mf:name      "N-Quads-12 - Nested object term" ;
   mf:action    <nquads12-nested-1.nq> ;
   .

# Base direction

trs:nquads-langdir-1 rdf:type rdft:TestNQuadsPositiveSyntax ;
  mf:name       "N-Quads literal with base direction ltr" ;
  mf:action     <nquads-langdir-1.nq> ;
  .

trs:nquads-langdir-2 rdf:type rdft:TestNQuadsPositiveSyntax ;
  mf:name       "N-Quads literal with base direction rtl" ;
  mf:action     <nquads-langdir-2.nq> ;
  .

## Bad syntax

trs:nquads12-bad-01 rdf:type rdft:TestNQuadsNegativeSyntax ;
    mf:name      "N-Quads-12 - Bad - reified triple as predicate" ;
    mf:action    <nquads12-bad-syntax-01.nq> ;
    .

trs:nquads12-bad-02 rdf:type rdft:TestNQuadsNegativeSyntax ;
    mf:name      "N-Quads-12 - Bad - reified triple, literal subject" ;
    mf:action    <nquads12-bad-syntax-02.nq> ;
    .

trs:nquads12-bad-03 rdf:type rdft:TestNQuadsNegativeSyntax ;
    mf:name      "N-Quads-12 - Bad - reified triple, literal predicate" ;
    mf:action    <nquads12-bad-syntax-03.nq> ;
    .

trs:nquads12-bad-04 rdf:type rdft:TestNQuadsNegativeSyntax ;
    mf:name      "N-Quads-12 - Bad - reified triple, blank node predicate" ;
    mf:action    <nquads12-bad-syntax-04.nq> ;
    .

trs:nquads12-bad-05 rdf:type rdft:TestNQuadsNegativeSyntax ;
    mf:name      "N-Quads-12 - Bad - triple term as predicate" ;
    mf:action    <nquads12-bad-syntax-05.nq> ;
    .

trs:nquads12-bad-06 rdf:type rdft:TestNQuadsNegativeSyntax ;
    mf:name      "N-Quads-12 - Bad - triple term, literal subject" ;
    mf:action    <nquads12-bad-syntax-06.nq> ;
    .

trs:nquads12-bad-07 rdf:type rdft:TestNQuadsNegativeSyntax ;
    mf:name      "N-Quads-12 - Bad - triple term, literal predicate" ;
    mf:action    <nquads12-bad-syntax-07.nq> ;
    .

trs:nquads12-bad-08 rdf:type rdft:TestNQuadsNegativeSyntax ;
    mf:name      "N-Quads-12 - Bad - triple term, blank node predicate" ;
    mf:action    <nquads12-bad-syntax-08.nq> ;
    .

trs:nquads12-bad-09 rdf:type rdft:TestNQuadsNegativeSyntax ;
    mf:name      "N-Quads-12 - Bad - reified triple object" ;
    mf:action    <nquads12-bad-syntax-09.nq> ;
    .

trs:nquads12-bad-10 rdf:type rdft:TestNQuadsNegativeSyntax ;
    mf:name      "N-Quads-12 - Bad - triple term as subject" ;
    mf:action    <nquads12-bad-syntax-10.nq> ;
    .

trs:nquads12-bad-reified-1 rdf:type rdft:TestNQuadsNegativeSyntax ;
   mf:name      "N-Quads-12 - Bad - subject reified triple" ;
   mf:action    <nquads12-bad-reified-syntax-1.nq> ;
   .

trs:nquads12-bad-reified-2 rdf:type rdft:TestNQuadsNegativeSyntax ;
   mf:name      "N-Quads-12 - Bad - object reified triple" ;
   mf:action    <nquads12-bad-reified-syntax-2.nq> ;
   .

trs:nquads12-bad-reified-3 rdf:type rdft:TestNQuadsNegativeSyntax ;
   mf:name      "N-Quads-12 - Bad - subject and object reified triples" ;
   mf:action    <nquads12-bad-reified-syntax-3.nq> ;
   .

trs:nquads12-bad-reified-4 rdf:type rdft:TestNQuadsNegativeSyntax ;
   mf:name      "N-Quads-12 - Bad - predicate reified triple" ;
   mf:action    <nquads12-bad-reified-syntax-4.nq> ;
   .

# Annotation syntax is not permitted in nq

trs:nquads12-bnode-bad-annotated-syntax-1 rdf:type rdft:TestNQuadsNegativeSyntax ;
    mf:name      "N-Quads-12 - Bad - annotated triple, blank node subject" ;
    mf:action    <nquads12-bnode-bad-annotated-syntax-1.nq> ;
    .

trs:nquads12-bnode-bad-annotated-syntax-2 rdf:type rdft:TestNQuadsNegativeSyntax ;
    mf:name      "N-Quads-12 - Bad - annotated triple, blank node object" ;
    mf:action    <nquads12-bnode-bad-annotated-syntax-2.nq> ;
    .

trs:nquads12-nested-bad-annotated-syntax-1 rdf:type rdft:TestNQuadsNegativeSyntax ;
    mf:name      "N-Quads-12 - Bad - annotated triple, nested subject term" ;
    mf:action    <nquads12-nested-bad-annotated-syntax-1.nq> ;
    .

trs:nquads12-nested-bad-annotated-syntax-2 rdf:type rdft:TestNQuadsNegativeSyntax ;
    mf:name      "N-Quads-12 - Bad - annotated triple, nested object term" ;
    mf:action    <nquads12-nested-bad-annotated-syntax-2.nq> ;
    .

# Base direction

trs:nquads-langdir-bad-1 rdf:type rdft:TestNQuadsNegativeSyntax ;
  mf:name       "N-Quads literal- Bad - undefined base direction" ;
  mf:action     <nquads-langdir-bad-1.nq> ;
  .

trs:nquads-langdir-bad-2 rdf:type rdft:TestNQuadsNegativeSyntax ;
  mf:name       "N-Quads literal- Bad - upper case LTR" ;
  mf:action     <nquads-langdir-bad-2.nq> ;
  .
