jsonld-ex/test/data/json-ld.org-test-suite/compact-manifest.jsonld
2017-03-24 23:08:41 +01:00

591 lines
26 KiB
Plaintext
Executable file

{
"@context": "http://json-ld.org/test-suite/context.jsonld",
"@id": "",
"@type": "mf:Manifest",
"name": "Compaction",
"description": "JSON-LD compaction tests use object comparison.",
"baseIri": "http://json-ld.org/test-suite/tests/",
"sequence": [
{
"@id": "#t0001",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "drop free-floating nodes",
"purpose": "Unreferenced nodes not containing properties are dropped",
"input": "compact-0001-in.jsonld",
"context": "compact-0001-context.jsonld",
"expect": "compact-0001-out.jsonld"
}, {
"@id": "#t0002",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "basic",
"purpose": "Basic term and value compaction",
"input": "compact-0002-in.jsonld",
"context": "compact-0002-context.jsonld",
"expect": "compact-0002-out.jsonld"
}, {
"@id": "#t0003",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "drop null and unmapped properties",
"purpose": "Properties mapped to null or which are never mapped are dropped",
"input": "compact-0003-in.jsonld",
"context": "compact-0003-context.jsonld",
"expect": "compact-0003-out.jsonld"
}, {
"@id": "#t0004",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "optimize @set, keep empty arrays",
"purpose": "Containers mapped to @set keep empty arrays",
"input": "compact-0004-in.jsonld",
"context": "compact-0004-context.jsonld",
"expect": "compact-0004-out.jsonld"
}, {
"@id": "#t0005",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "@type and prefix compaction",
"purpose": "Compact uses prefixes in @type",
"input": "compact-0005-in.jsonld",
"context": "compact-0005-context.jsonld",
"expect": "compact-0005-out.jsonld"
}, {
"@id": "#t0006",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "keep expanded object format if @type doesn't match",
"purpose": "Values not matching a coerced @type remain in expanded form",
"input": "compact-0006-in.jsonld",
"context": "compact-0006-context.jsonld",
"expect": "compact-0006-out.jsonld"
}, {
"@id": "#t0007",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "add context",
"purpose": "External context is added to the compacted document",
"input": "compact-0007-in.jsonld",
"context": "compact-0007-context.jsonld",
"expect": "compact-0007-out.jsonld"
}, {
"@id": "#t0008",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "alias keywords",
"purpose": "Aliases for keywords are used in compacted document",
"input": "compact-0008-in.jsonld",
"context": "compact-0008-context.jsonld",
"expect": "compact-0008-out.jsonld"
}, {
"@id": "#t0009",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "compact @id",
"purpose": "Value with @id is compacted to string if property cast to @id",
"input": "compact-0009-in.jsonld",
"context": "compact-0009-context.jsonld",
"expect": "compact-0009-out.jsonld"
}, {
"@id": "#t0010",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "array to @graph",
"purpose": "An array of objects is serialized with @graph",
"input": "compact-0010-in.jsonld",
"context": "compact-0010-context.jsonld",
"expect": "compact-0010-out.jsonld"
}, {
"@id": "#t0011",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "compact date",
"purpose": "Expanded value with type xsd:dateTime is represented as string with type coercion",
"input": "compact-0011-in.jsonld",
"context": "compact-0011-context.jsonld",
"expect": "compact-0011-out.jsonld"
}, {
"@id": "#t0012",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "native types",
"purpose": "Native values are unmodified during compaction",
"input": "compact-0012-in.jsonld",
"context": "compact-0012-context.jsonld",
"expect": "compact-0012-out.jsonld"
}, {
"@id": "#t0013",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "@value with @language",
"purpose": "Values with @language remain in expended form by default",
"input": "compact-0013-in.jsonld",
"context": "compact-0013-context.jsonld",
"expect": "compact-0013-out.jsonld"
}, {
"@id": "#t0014",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "array to aliased @graph",
"purpose": "Aliasing @graph uses alias in compacted document",
"input": "compact-0014-in.jsonld",
"context": "compact-0014-context.jsonld",
"expect": "compact-0014-out.jsonld"
}, {
"@id": "#t0015",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "best match compaction",
"purpose": "Property with values of different types use most appropriate term when compacting",
"input": "compact-0015-in.jsonld",
"context": "compact-0015-context.jsonld",
"expect": "compact-0015-out.jsonld"
}, {
"@id": "#t0016",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "recursive named graphs",
"purpose": "Compacting a document with multiple embedded uses of @graph",
"input": "compact-0016-in.jsonld",
"context": "compact-0016-context.jsonld",
"expect": "compact-0016-out.jsonld"
}, {
"@id": "#t0017",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "A term mapping to null removes the mapping",
"purpose": "Mapping a term to null causes the property and its values to be removed from the compacted document",
"input": "compact-0017-in.jsonld",
"context": "compact-0017-context.jsonld",
"expect": "compact-0017-out.jsonld"
}, {
"@id": "#t0018",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "best matching term for lists",
"purpose": "Lists with values of different types use best term in compacted document",
"input": "compact-0018-in.jsonld",
"context": "compact-0018-context.jsonld",
"expect": "compact-0018-out.jsonld"
}, {
"@id": "#t0019",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Keep duplicate values in @list and @set",
"purpose": "Duplicate values in @list or @set are retained in compacted document",
"input": "compact-0019-in.jsonld",
"context": "compact-0019-context.jsonld",
"expect": "compact-0019-out.jsonld"
}, {
"@id": "#t0020",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Compact @id that is a property IRI when @container is @list",
"purpose": "A term with @container: @list is also used as the value of an @id, if appropriate",
"input": "compact-0020-in.jsonld",
"context": "compact-0020-context.jsonld",
"expect": "compact-0020-out.jsonld"
}, {
"@id": "#t0021",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Compact properties and types using @vocab",
"purpose": "@vocab is used to create relative properties and types if no other term matches",
"input": "compact-0021-in.jsonld",
"context": "compact-0021-context.jsonld",
"expect": "compact-0021-out.jsonld"
}, {
"@id": "#t0022",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "@list compaction of nested properties",
"purpose": "Compact nested properties using @list containers",
"input": "compact-0022-in.jsonld",
"context": "compact-0022-context.jsonld",
"expect": "compact-0022-out.jsonld"
}, {
"@id": "#t0023",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "prefer @vocab over compacted IRIs",
"purpose": "@vocab takes precedence over prefixes - even if the result is longer",
"input": "compact-0023-in.jsonld",
"context": "compact-0023-context.jsonld",
"expect": "compact-0023-out.jsonld"
}, {
"@id": "#t0024",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "most specific term matching in @list.",
"purpose": "The most specific term that matches all of the elements in the list, taking into account the default language, must be selected.",
"input": "compact-0024-in.jsonld",
"context": "compact-0024-context.jsonld",
"expect": "compact-0024-out.jsonld"
}, {
"@id": "#t0025",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Language maps",
"purpose": "Multiple values with different languages use language maps if property has @container: @language",
"input": "compact-0025-in.jsonld",
"context": "compact-0025-context.jsonld",
"expect": "compact-0025-out.jsonld"
}, {
"@id": "#t0026",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Language map term selection with complications",
"purpose": "Test appropriate property use given language maps with @vocab, a default language, and a competing term",
"input": "compact-0026-in.jsonld",
"context": "compact-0026-context.jsonld",
"expect": "compact-0026-out.jsonld"
}, {
"@id": "#t0027",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "@container: @set with multiple values",
"purpose": "Fall back to term with @set container if term with language map is defined",
"input": "compact-0027-in.jsonld",
"context": "compact-0027-context.jsonld",
"expect": "compact-0027-out.jsonld"
}, {
"@id": "#t0028",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Alias keywords and use @vocab",
"purpose": "Combination of keyword aliases and @vocab",
"input": "compact-0028-in.jsonld",
"context": "compact-0028-context.jsonld",
"expect": "compact-0028-out.jsonld"
}, {
"@id": "#t0029",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Simple @index map",
"purpose": "Output uses index mapping if term is defined with @container: @index",
"input": "compact-0029-in.jsonld",
"context": "compact-0029-context.jsonld",
"expect": "compact-0029-out.jsonld"
}, {
"@id": "#t0030",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "non-matching @container: @index",
"purpose": "Preserve @index tags if not compacted to an index map",
"input": "compact-0030-in.jsonld",
"context": "compact-0030-context.jsonld",
"expect": "compact-0030-out.jsonld"
}, {
"@id": "#t0031",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Compact @reverse",
"purpose": "Compact traverses through @reverse",
"input": "compact-0031-in.jsonld",
"context": "compact-0031-context.jsonld",
"expect": "compact-0031-out.jsonld"
}, {
"@id": "#t0032",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Compact keys in reverse-maps",
"purpose": "Compact traverses through @reverse",
"input": "compact-0032-in.jsonld",
"context": "compact-0032-context.jsonld",
"expect": "compact-0032-out.jsonld"
}, {
"@id": "#t0033",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Compact reverse-map to reverse property",
"purpose": "A reverse map is replaced with a matching property defined with @reverse",
"input": "compact-0033-in.jsonld",
"context": "compact-0033-context.jsonld",
"expect": "compact-0033-out.jsonld"
}, {
"@id": "#t0034",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Skip property with @reverse if no match",
"purpose": "Do not use reverse property if no other property matches as normal property",
"input": "compact-0034-in.jsonld",
"context": "compact-0034-context.jsonld",
"expect": "compact-0034-out.jsonld"
}, {
"@id": "#t0035",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Compact @reverse node references using strings",
"purpose": "Compact node references to strings for reverse properties using @type: @id",
"input": "compact-0035-in.jsonld",
"context": "compact-0035-context.jsonld",
"expect": "compact-0035-out.jsonld"
}, {
"@id": "#t0036",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Compact reverse properties using index containers",
"purpose": "Compact using both reverse properties and index containers",
"input": "compact-0036-in.jsonld",
"context": "compact-0036-context.jsonld",
"expect": "compact-0036-out.jsonld"
}, {
"@id": "#t0037",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Compact keys in @reverse using @vocab",
"purpose": "Compact keys in @reverse using @vocab",
"input": "compact-0037-in.jsonld",
"context": "compact-0037-context.jsonld",
"expect": "compact-0037-out.jsonld"
}, {
"@id": "#t0038",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Index map round-tripping",
"purpose": "Complext round-tripping use case from Drupal",
"input": "compact-0038-in.jsonld",
"context": "compact-0038-context.jsonld",
"expect": "compact-0038-out.jsonld"
}, {
"@id": "#t0039",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "@graph is array",
"purpose": "Value of @graph is always an array",
"input": "compact-0039-in.jsonld",
"context": "compact-0039-context.jsonld",
"expect": "compact-0039-out.jsonld"
}, {
"@id": "#t0040",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "@list is array",
"purpose": "Ensure that value of @list is always an array",
"input": "compact-0040-in.jsonld",
"context": "compact-0040-context.jsonld",
"expect": "compact-0040-out.jsonld"
}, {
"@id": "#t0041",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "index rejects term having @list",
"purpose": "If an index is present, a term having an @list container is not selected",
"input": "compact-0041-in.jsonld",
"context": "compact-0041-context.jsonld",
"expect": "compact-0041-out.jsonld"
}, {
"@id": "#t0042",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "@list keyword aliasing",
"purpose": "Make sure keyword aliasing works if a list can't be compacted",
"input": "compact-0042-in.jsonld",
"context": "compact-0042-context.jsonld",
"expect": "compact-0042-out.jsonld"
}, {
"@id": "#t0043",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "select term over @vocab",
"purpose": "Ensure that @vocab compaction isn't used if the result collides with a term",
"input": "compact-0043-in.jsonld",
"context": "compact-0043-context.jsonld",
"expect": "compact-0043-out.jsonld"
}, {
"@id": "#t0044",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "@type: @vocab in reverse-map",
"purpose": "Prefer properties with @type: @vocab in reverse-maps if the value can be compacted to a term",
"input": "compact-0044-in.jsonld",
"context": "compact-0044-context.jsonld",
"expect": "compact-0044-out.jsonld"
}, {
"@id": "#t0045",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "@id value uses relative IRI, not term",
"purpose": "Values of @id are transformed to relative IRIs, terms are ignored",
"input": "compact-0045-in.jsonld",
"context": "compact-0045-context.jsonld",
"expect": "compact-0045-out.jsonld"
}, {
"@id": "#t0046",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "multiple objects without @context use @graph",
"purpose": "Wrap top-level array into @graph even if no context is passed",
"input": "compact-0046-in.jsonld",
"context": "compact-0046-context.jsonld",
"expect": "compact-0046-out.jsonld"
}, {
"@id": "#t0047",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Round-trip relative URLs",
"purpose": "Relative URLs remain relative after compaction",
"input": "compact-0047-in.jsonld",
"context": "compact-0047-context.jsonld",
"expect": "compact-0047-out.jsonld"
}, {
"@id": "#t0048",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "term with @language: null",
"purpose": "Prefer terms with a language mapping set to null over terms without language-mapping for non-strings",
"input": "compact-0048-in.jsonld",
"context": "compact-0048-context.jsonld",
"expect": "compact-0048-out.jsonld"
}, {
"@id": "#t0049",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Round tripping of lists that contain just IRIs",
"purpose": "List compaction without @container: @list still uses strings if @type: @id",
"input": "compact-0049-in.jsonld",
"context": "compact-0049-context.jsonld",
"expect": "compact-0049-out.jsonld"
}, {
"@id": "#t0050",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Reverse properties require @type: @id to use string values",
"purpose": "Node references in reverse properties are not compacted to strings without explicit type-coercion",
"input": "compact-0050-in.jsonld",
"context": "compact-0050-context.jsonld",
"expect": "compact-0050-out.jsonld"
}, {
"@id": "#t0051",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Round tripping @list with scalar",
"purpose": "Native values survive round-tripping with @list",
"input": "compact-0051-in.jsonld",
"context": "compact-0051-context.jsonld",
"expect": "compact-0051-out.jsonld"
}, {
"@id": "#t0052",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Round tripping @list with scalar and @graph alias",
"purpose": "Native values survive round-tripping with @list and @graph alias",
"input": "compact-0052-in.jsonld",
"context": "compact-0052-context.jsonld",
"expect": "compact-0052-out.jsonld"
}, {
"@id": "#t0053",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Use @type: @vocab if no @type: @id",
"purpose": "Compact to @type: @vocab when no @type: @id term available",
"input": "compact-0053-in.jsonld",
"context": "compact-0053-context.jsonld",
"expect": "compact-0053-out.jsonld"
}, {
"@id": "#t0054",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Compact to @type: @vocab and compact @id to term",
"purpose": "Compact to @type: @vocab and compact @id to term",
"input": "compact-0054-in.jsonld",
"context": "compact-0054-context.jsonld",
"expect": "compact-0054-out.jsonld"
}, {
"@id": "#t0055",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Round tripping @type: @vocab",
"purpose": "Compacting IRI value of property with @type: @vocab can use term",
"input": "compact-0055-in.jsonld",
"context": "compact-0055-context.jsonld",
"expect": "compact-0055-out.jsonld"
}, {
"@id": "#t0056",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Prefer @type: @vocab over @type: @id for terms",
"purpose": "Compacting IRI value of property with @type: @vocab can use term",
"input": "compact-0056-in.jsonld",
"context": "compact-0056-context.jsonld",
"expect": "compact-0056-out.jsonld"
}, {
"@id": "#t0057",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Complex round tripping @type: @vocab and @type: @id",
"purpose": "Compacting IRI value of property with @type: @vocab can use term; more complex",
"input": "compact-0057-in.jsonld",
"context": "compact-0057-context.jsonld",
"expect": "compact-0057-out.jsonld"
}, {
"@id": "#t0058",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Prefer @type: @id over @type: @vocab for non-terms",
"purpose": "Choose a term having @type: @id over @type: @value if value is not a term",
"input": "compact-0058-in.jsonld",
"context": "compact-0058-context.jsonld",
"expect": "compact-0058-out.jsonld"
}, {
"@id": "#t0059",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Term with @type: @vocab if no @type: @id",
"purpose": "If there's no term with @type: @id, use terms with @type: @vocab for IRIs not mapped to terms",
"input": "compact-0059-in.jsonld",
"context": "compact-0059-context.jsonld",
"expect": "compact-0059-out.jsonld"
}, {
"@id": "#t0060",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Term with @type: @id if no @type: @vocab and term value",
"purpose": "If there's no term with @type: @vocab, use terms with @type: @id for IRIs mapped to terms",
"input": "compact-0060-in.jsonld",
"context": "compact-0060-context.jsonld",
"expect": "compact-0060-out.jsonld"
}, {
"@id": "#t0061",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "@type: @vocab/@id with values matching either",
"purpose": "Separate IRIs for the same property to use term with more specific @type (@id vs. @vocab)",
"input": "compact-0061-in.jsonld",
"context": "compact-0061-context.jsonld",
"expect": "compact-0061-out.jsonld"
}, {
"@id": "#t0062",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "@type: @vocab and relative IRIs",
"purpose": "Relative IRIs don't round-trip with @type: @vocab",
"input": "compact-0062-in.jsonld",
"context": "compact-0062-context.jsonld",
"expect": "compact-0062-out.jsonld"
}, {
"@id": "#t0063",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Compact IRI round-tripping with @type: @vocab",
"purpose": "Term with @type: @vocab will use compact IRIs",
"input": "compact-0063-in.jsonld",
"context": "compact-0063-context.jsonld",
"expect": "compact-0063-out.jsonld"
}, {
"@id": "#t0064",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Compact language-tagged and indexed strings to index-map",
"purpose": "Given values with both @index and @language and term index-map term, use index map",
"input": "compact-0064-in.jsonld",
"context": "compact-0064-context.jsonld",
"expect": "compact-0064-out.jsonld"
}, {
"@id": "#t0065",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Language-tagged and indexed strings with language-map",
"purpose": "Language-tagged and indexed strings don't compact to language-map",
"input": "compact-0065-in.jsonld",
"context": "compact-0065-context.jsonld",
"expect": "compact-0065-out.jsonld"
}, {
"@id": "#t0066",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Relative IRIs",
"purpose": "Complex use cases for relative IRI compaction",
"input": "compact-0066-in.jsonld",
"context": "compact-0066-context.jsonld",
"expect": "compact-0066-out.jsonld"
}, {
"@id": "#t0067",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Reverse properties with blank nodes",
"purpose": "Compact reverse property whose values are unlabeled blank nodes",
"input": "compact-0067-in.jsonld",
"context": "compact-0067-context.jsonld",
"expect": "compact-0067-out.jsonld"
}, {
"@id": "#t0068",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Single value reverse properties",
"purpose": "Single values of reverse properties are compacted as values of ordinary properties",
"input": "compact-0068-in.jsonld",
"context": "compact-0068-context.jsonld",
"expect": "compact-0068-out.jsonld"
}, {
"@id": "#t0069",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Single value reverse properties with @set",
"purpose": "Single values are kept in array form for reverse properties if the container is to @set",
"input": "compact-0069-in.jsonld",
"context": "compact-0069-context.jsonld",
"expect": "compact-0069-out.jsonld"
}, {
"@id": "#t0070",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "compactArrays option",
"purpose": "Setting compactArrays to false causes single element arrays to be retained",
"option": {
"compactArrays": false
},
"input": "compact-0070-in.jsonld",
"context": "compact-0070-context.jsonld",
"expect": "compact-0070-out.jsonld"
}, {
"@id": "#t0071",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Input has multiple @contexts, output has one",
"purpose": "Expanding input with multiple @contexts and compacting with just one doesn't output undefined properties",
"input": "compact-0071-in.jsonld",
"context": "compact-0071-context.jsonld",
"expect": "compact-0071-out.jsonld"
}, {
"@id": "#t0072",
"@type": ["jld:PositiveEvaluationTest", "jld:CompactTest"],
"name": "Default language and unmapped properties",
"purpose": "Ensure that the default language is handled correctly for unmapped properties",
"input": "compact-0072-in.jsonld",
"context": "compact-0072-context.jsonld",
"expect": "compact-0072-out.jsonld"
}
]
}