{
  "@context": ["context.jsonld", {"@base": "fromRdf-manifest"}],
  "@id": "",
  "@type": "mf:Manifest",
  "name": "Transform RDF to JSON-LD",
  "description": "These tests implement the requirements for the JSON-LD [Serialize RDF as JSON-LD Algorithm](https://www.w3.org/TR/json-ld11-api/#serialize-rdf-as-json-ld-algorithm).",
  "baseIri": "https://w3c.github.io/json-ld-api/tests/",
  "sequence": [
    {
      "@id": "#t0001",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "Object Lists",
      "purpose": "Tests generation using different types of objects.",
      "input": "fromRdf/0001-in.nq",
      "expect": "fromRdf/0001-out.jsonld"
    }, {
      "@id": "#t0002",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "Native Types",
      "purpose": "Do not use native datatypes for xsd:boolean, xsd:integer, and xsd:double by default.",
      "input": "fromRdf/0002-in.nq",
      "expect": "fromRdf/0002-out.jsonld"
    }, {
      "@id": "#t0003",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "BNodes and references",
      "purpose": "BNode name generation and references between resources.",
      "input": "fromRdf/0003-in.nq",
      "expect": "fromRdf/0003-out.jsonld"
    }, {
      "@id": "#t0004",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "Lists",
      "purpose": "Multiple lists with different types of element.",
      "input": "fromRdf/0004-in.nq",
      "expect": "fromRdf/0004-out.jsonld"
    }, {
      "@id": "#t0005",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "Document with list",
      "purpose": "Uses a named graph containing a list.",
      "input": "fromRdf/0005-in.nq",
      "expect": "fromRdf/0005-out.jsonld"
    }, {
      "@id": "#t0006",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "Two graphs having same subject but different values",
      "purpose": "Ensure that properties and list elements aren't confused between graphs.",
      "input": "fromRdf/0006-in.nq",
      "expect": "fromRdf/0006-out.jsonld"
    }, {
      "@id": "#t0007",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "Graph with multiple named graphs",
      "purpose": "Testing @graph recursion.",
      "input": "fromRdf/0007-in.nq",
      "expect": "fromRdf/0007-out.jsonld"
    }, {
      "@id": "#t0008",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "List conversion",
      "purpose": "Conversion of lists of lists (the triples in the input are only partially ordered on purpose (1.0 semantics)",
      "input": "fromRdf/0008-in.nq",
      "expect": "fromRdf/0008-out.jsonld",
      "option": {"specVersion": "json-ld-1.0"}
    }, {
      "@id": "#t0009",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "List conversion with IRI nodes",
      "purpose": "Preserve IRI list nodes (i.e., not blank nodes) when converting to @list",
      "input": "fromRdf/0009-in.nq",
      "expect": "fromRdf/0009-out.jsonld"
    }, {
      "@id": "#t0010",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "List pattern without rdf:nil",
      "purpose": "Do not convert lists that are not terminated by rdf:nil to @list.",
      "input": "fromRdf/0010-in.nq",
      "expect": "fromRdf/0010-out.jsonld"
    }, {
      "@id": "#t0011",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "List pattern with extra properties",
      "purpose": "If additional properties are associated to a list node, the list is only partially converted to @list.",
      "input": "fromRdf/0011-in.nq",
      "expect": "fromRdf/0011-out.jsonld"
    }, {
      "@id": "#t0012",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "List pattern with cycles",
      "purpose": "Detect lists containing cycles and do not convert them to @list.",
      "input": "fromRdf/0012-in.nq",
      "expect": "fromRdf/0012-out.jsonld"
    }, {
      "@id": "#t0013",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "List pattern with multiple values of rdf:first",
      "purpose": "Do not convert list nodes to @list if nodes contain more than one value for rdf:first.",
      "input": "fromRdf/0013-in.nq",
      "expect": "fromRdf/0013-out.jsonld"
    }, {
      "@id": "#t0014",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "List pattern with multiple values of rdf:rest",
      "purpose": "Do not convert list nodes to @list if nodes contain more than one value for rdf:rest.",
      "input": "fromRdf/0014-in.nq",
      "expect": "fromRdf/0014-out.jsonld"
    }, {
      "@id": "#t0015",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "List pattern with IRI rdf:rest",
      "purpose": "Do not convert lists to @list if a list node's rdf:rest is an IRI.",
      "input": "fromRdf/0015-in.nq",
      "expect": "fromRdf/0015-out.jsonld"
    }, {
      "@id": "#t0016",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "List pattern with type rdf:List",
      "purpose": "List nodes may have a rdf:type rdf:List.",
      "input": "fromRdf/0016-in.nq",
      "expect": "fromRdf/0016-out.jsonld"
    }, {
      "@id": "#t0017",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "Remove duplicate triples",
      "purpose": "Equivalent triples are used only once",
      "input": "fromRdf/0017-in.nq",
      "expect": "fromRdf/0017-out.jsonld"
    }, {
      "@id": "#t0018",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "use native types flag set to true",
      "purpose": "Literals with datatype xsd:boolean, xsd:integer, and xsd:double are serialized using native scalar values",
      "option": {
        "useNativeTypes": true
      },
      "input": "fromRdf/0018-in.nq",
      "expect": "fromRdf/0018-out.jsonld"
    }, {
      "@id": "#t0019",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "use rdf:type flag set to false",
      "purpose": "Setting useRdfType to true causes an rdf:type predicate to be treated like a normal property, not @type",
      "option": {
        "useRdfType": true
      },
      "input": "fromRdf/0019-in.nq",
      "expect": "fromRdf/0019-out.jsonld"
    }, {
      "@id": "#t0020",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "list with node shared across graphs",
      "purpose": "An otherwise conformant list with a node shared across different lists does not serialize using @list",
      "input": "fromRdf/0020-in.nq",
      "expect": "fromRdf/0020-out.jsonld"
    }, {
      "@id": "#t0021",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "list with node shared across graphs (same triple in different graphs)",
      "purpose": "If a list node is used in different graphs, it isn't removed and converted to @list",
      "input": "fromRdf/0021-in.nq",
      "expect": "fromRdf/0021-out.jsonld"
    }, {
      "@id": "#t0022",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "list from duplicate triples",
      "purpose": "Duplicate triples for a list node will not prevent @list from being properly generated",
      "input": "fromRdf/0022-in.nq",
      "expect": "fromRdf/0022-out.jsonld"
    }, {
      "@id": "#t0023",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "triple with RDF nil subject",
      "purpose": "Test triple with RDF nil subject",
      "input": "fromRdf/0023-in.nq",
      "expect": "fromRdf/0023-out.jsonld"
    }, {
      "@id": "#t0024",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "multiple languages for same subject+property+value",
      "purpose": "Uniqness of triples should include the value language",
      "input": "fromRdf/0024-in.nq",
      "expect": "fromRdf/0024-out.jsonld"
    }, {
      "@id": "#t0025",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "multiple types for same subject+property+value",
      "purpose": "Uniqness of triples should include the value type",
      "input": "fromRdf/0025-in.nq",
      "expect": "fromRdf/0025-out.jsonld"
    }, {
      "@id": "#t0026",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "triple with rdf:first property and rdf:nil value",
      "purpose": "Check list generation with rdf:first property and rdf:nil value.",
      "input": "fromRdf/0026-in.nq",
      "expect": "fromRdf/0026-out.jsonld"
    }, {
      "@id": "#tdi01",
      "@type": [ "jld:PositiveEvaluationTest", "jld:FromRDFTest" ],
      "name": "rdfDirection: null with i18n literal with direction and no language",
      "purpose": "Does not parse i18n datatype without proper option.",
      "option": {"specVersion": "json-ld-1.1"},
      "input": "fromRdf/di01-in.nq",
      "expect": "fromRdf/di01-out.jsonld"
    }, {
      "@id": "#tdi02",
      "@type": [ "jld:PositiveEvaluationTest", "jld:FromRDFTest" ],
      "name": "rdfDirection: null with i18n literal with direction and language",
      "purpose": "Does not parse i18n datatype without proper option.",
      "option": {"specVersion": "json-ld-1.1"},
      "input": "fromRdf/di02-in.nq",
      "expect": "fromRdf/di02-out.jsonld"
    }, {
      "@id": "#tdi03",
      "@type": [ "jld:PositiveEvaluationTest", "jld:FromRDFTest" ],
      "name": "rdfDirection: null with compound literal with direction and no language",
      "purpose": "Does not parse compound literal without proper option.",
      "option": {"specVersion": "json-ld-1.1"},
      "input": "fromRdf/di03-in.nq",
      "expect": "fromRdf/di03-out.jsonld"
    }, {
      "@id": "#tdi04",
      "@type": [ "jld:PositiveEvaluationTest", "jld:FromRDFTest" ],
      "name": "rdfDirection: null with compound literal with direction and language",
      "purpose": "Does not parse compound literal without proper option.",
      "option": {"specVersion": "json-ld-1.1"},
      "input": "fromRdf/di04-in.nq",
      "expect": "fromRdf/di04-out.jsonld"
    }, {
      "@id": "#tdi05",
      "@type": [ "jld:PositiveEvaluationTest", "jld:FromRDFTest" ],
      "name": "rdfDirection: i18n-datatype with i18n literal with direction and no language",
      "purpose": "Parses i18n datatype with proper option.",
      "option": {"specVersion": "json-ld-1.1", "rdfDirection": "i18n-datatype", "normative": false},
      "input": "fromRdf/di05-in.nq",
      "expect": "fromRdf/di05-out.jsonld"
    }, {
      "@id": "#tdi06",
      "@type": [ "jld:PositiveEvaluationTest", "jld:FromRDFTest" ],
      "name": "rdfDirection: i18n-datatype with i18n literal with direction and language",
      "purpose": "Parses i18n datatype with proper option.",
      "option": {"specVersion": "json-ld-1.1", "rdfDirection": "i18n-datatype", "normative": false},
      "input": "fromRdf/di06-in.nq",
      "expect": "fromRdf/di06-out.jsonld"
    }, {
      "@id": "#tdi07",
      "@type": [ "jld:PositiveEvaluationTest", "jld:FromRDFTest" ],
      "name": "rdfDirection: i18n-datatype with compound literal with direction and no language",
      "purpose": "Does not parse compound literal without proper option.",
      "option": {"specVersion": "json-ld-1.1", "rdfDirection": "i18n-datatype", "normative": false},
      "input": "fromRdf/di07-in.nq",
      "expect": "fromRdf/di07-out.jsonld"
    }, {
      "@id": "#tdi08",
      "@type": [ "jld:PositiveEvaluationTest", "jld:FromRDFTest" ],
      "name": "rdfDirection: i18n-datatype with compound literal with direction and language",
      "purpose": "Does not parse compound literal without proper option.",
      "option": {"specVersion": "json-ld-1.1", "rdfDirection": "i18n-datatype", "normative": false},
      "input": "fromRdf/di08-in.nq",
      "expect": "fromRdf/di08-out.jsonld"
    }, {
      "@id": "#tdi09",
      "@type": [ "jld:PositiveEvaluationTest", "jld:FromRDFTest" ],
      "name": "rdfDirection: compound-literal with i18n literal with direction and no language",
      "purpose": "Does not parse i18n datatype without proper option.",
      "option": {"specVersion": "json-ld-1.1", "rdfDirection": "compound-literal", "normative": false},
      "input": "fromRdf/di09-in.nq",
      "expect": "fromRdf/di09-out.jsonld"
    }, {
      "@id": "#tdi10",
      "@type": [ "jld:PositiveEvaluationTest", "jld:FromRDFTest" ],
      "name": "rdfDirection: compound-literal with i18n literal with direction and language",
      "purpose": "Does not parse i18n datatype without proper option.",
      "option": {"specVersion": "json-ld-1.1", "rdfDirection": "compound-literal", "normative": false},
      "input": "fromRdf/di10-in.nq",
      "expect": "fromRdf/di10-out.jsonld"
    }, {
      "@id": "#tdi11",
      "@type": [ "jld:PositiveEvaluationTest", "jld:FromRDFTest" ],
      "name": "rdfDirection: compound-literal with compound literal with direction and no language",
      "purpose": "Parses compound literal with proper option.",
      "option": {"specVersion": "json-ld-1.1", "rdfDirection": "compound-literal", "normative": false},
      "input": "fromRdf/di11-in.nq",
      "expect": "fromRdf/di11-out.jsonld"
    }, {
      "@id": "#tdi12",
      "@type": [ "jld:PositiveEvaluationTest", "jld:FromRDFTest" ],
      "name": "rdfDirection: compound-literal with compound literal with direction and language",
      "purpose": "Parses compound literal with proper option.",
      "option": {"specVersion": "json-ld-1.1", "rdfDirection": "compound-literal", "normative": false},
      "input": "fromRdf/di12-in.nq",
      "expect": "fromRdf/di12-out.jsonld"
    }, {
      "@id": "#tjs01",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "JSON literal (boolean true)",
      "purpose": "Tests creating property with rdf:type rdf:JSON to a JSON literal (boolean true).",
      "input": "fromRdf/js01-in.nq",
      "expect": "fromRdf/js01-out.jsonld",
      "option": {"specVersion": "json-ld-1.1"}
    }, {
      "@id": "#tjs02",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "JSON literal (boolean false)",
      "purpose": "Tests creating property with rdf:type rdf:JSON to a JSON literal (boolean false).",
      "input": "fromRdf/js02-in.nq",
      "expect": "fromRdf/js02-out.jsonld",
      "option": {"specVersion": "json-ld-1.1"}
    }, {
      "@id": "#tjs03",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "JSON literal (double)",
      "purpose": "Tests creating property with rdf:type rdf:JSON to a JSON literal (double).",
      "input": "fromRdf/js03-in.nq",
      "expect": "fromRdf/js03-out.jsonld",
      "option": {"specVersion": "json-ld-1.1"}
    }, {
      "@id": "#tjs04",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "JSON literal (double-zero)",
      "purpose": "Tests creating property with rdf:type rdf:JSON to a JSON literal (double-zero).",
      "input": "fromRdf/js04-in.nq",
      "expect": "fromRdf/js04-out.jsonld",
      "option": {"specVersion": "json-ld-1.1"}
    }, {
      "@id": "#tjs05",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "JSON literal (integer)",
      "purpose": "Tests creating property with rdf:type rdf:JSON to a JSON literal (integer).",
      "input": "fromRdf/js05-in.nq",
      "expect": "fromRdf/js05-out.jsonld",
      "option": {"specVersion": "json-ld-1.1"}
    }, {
      "@id": "#tjs06",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "JSON literal (object)",
      "purpose": "Tests creating property with rdf:type rdf:JSON to a JSON literal (object).",
      "input": "fromRdf/js06-in.nq",
      "expect": "fromRdf/js06-out.jsonld",
      "option": {"specVersion": "json-ld-1.1"}
    }, {
      "@id": "#tjs07",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "JSON literal (array)",
      "purpose": "Tests creating property with rdf:type rdf:JSON to a JSON literal (array).",
      "input": "fromRdf/js07-in.nq",
      "expect": "fromRdf/js07-out.jsonld",
      "option": {"specVersion": "json-ld-1.1"}
    }, {
      "@id": "#tjs08",
      "@type": ["jld:NegativeEvaluationTest", "jld:FromRDFTest"],
      "name": "Invalid JSON literal (bare-word)",
      "purpose": "Processors must generate an error when deserializing an invalid JSON literal.",
      "input": "fromRdf/js08-in.nq",
      "expectErrorCode": "invalid JSON literal",
      "option": {"specVersion": "json-ld-1.1"}
    }, {
      "@id": "#tjs09",
      "@type": ["jld:NegativeEvaluationTest", "jld:FromRDFTest"],
      "name": "Invalid JSON literal (invalid structure)",
      "purpose": "Processors must generate an error when deserializing an invalid JSON literal.",
      "input": "fromRdf/js09-in.nq",
      "expectErrorCode": "invalid JSON literal",
      "option": {"specVersion": "json-ld-1.1"}
    }, {
      "@id": "#tjs10",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "JSON literal (string)",
      "purpose": "Tests creating property with rdf:type rdf:JSON to a JSON literal (string).",
      "input": "fromRdf/js10-in.nq",
      "expect": "fromRdf/js10-out.jsonld",
      "option": {"specVersion": "json-ld-1.1"}
    }, {
      "@id": "#tjs11",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "JSON literal (null)",
      "purpose": "Tests creating property with rdf:type rdf:JSON to a JSON literal (null).",
      "input": "fromRdf/js11-in.nq",
      "expect": "fromRdf/js11-out.jsonld",
      "option": {"specVersion": "json-ld-1.1"}
    }, {
      "@id": "#tli01",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "@list containing empty @list",
      "purpose": "List of lists",
      "input": "fromRdf/li01-in.nq",
      "expect": "fromRdf/li01-out.jsonld",
      "option": {"specVersion": "json-ld-1.1"}
    }, {
      "@id": "#tli02",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "@list containing multiple lists",
      "purpose": "List of lists",
      "input": "fromRdf/li02-in.nq",
      "expect": "fromRdf/li02-out.jsonld",
      "option": {"specVersion": "json-ld-1.1"}
    }, {
      "@id": "#tli03",
      "@type": ["jld:PositiveEvaluationTest", "jld:FromRDFTest"],
      "name": "t0008 as interpreted for 1.1. ",
      "purpose": "List of lists",
      "input": "fromRdf/li02-in.nq",
      "expect": "fromRdf/li02-out.jsonld",
      "option": {"specVersion": "json-ld-1.1"}
    }
  ]
}
