{
  "$schema": "folio-library-entry/v1",
  "id": "w3c-2020-json-ld-1-1",
  "blocks": [
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-000",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "JSON-LD 1.1",
      "pageStart": 1,
      "pageEnd": 1,
      "target": "../sections/sec-000-json-ld-11.md",
      "narrative": null,
      "content": "This version:\nhttps://www.w3.org/TR/2020/REC-json-ld11-20200716/\nLatest published version:\nhttps://www.w3.org/TR/json-ld11/\nLatest editor's draft:\nhttps://w3c.github.io/json-ld-syntax/\nTest suite:\nhttps://w3c.github.io/json-ld-api/tests/\nImplementation report:\nhttps://w3c.github.io/json-ld-api/reports/\nPrevious version:\nhttps://www.w3.org/TR/2020/PR-json-ld11-20200507/\nPrevious Recommendation:\nhttps://www.w3.org/TR/2014/REC-json-ld-20140116/\nEditors:\nGregg Kellogg (v1.0 and v1.1)\nPierre-Antoine Champin (LIRIS - Université de Lyon) (v1.1)\nDave Longley (Digital Bazaar) (v1.1)\nFormer editors:\nMan",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-001",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "A JSON-based Serialization for Linked Data",
      "pageStart": 1,
      "pageEnd": 1,
      "target": "../sections/sec-001-a-json-based-serialization-for-linked-data.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-002",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "W3C Recommendation 16 July 2020",
      "pageStart": 1,
      "pageEnd": 1,
      "target": "../sections/sec-002-w3c-recommendation-16-july-2020.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-003",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Abstract",
      "pageStart": 1,
      "pageEnd": 1,
      "target": "../sections/sec-003-abstract.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-004",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Status of This Document",
      "pageStart": 1,
      "pageEnd": 2,
      "target": "../sections/sec-004-status-of-this-document.md",
      "narrative": null,
      "content": "There is a live JSON-LD playground that is capable of demonstrating the features described in this document.\nThis specification is intended to supersede the JSON-LD 1.0 [JSON-LD10] specification.\nThis document was published by the JSON-LD Working Group as a Recommendation.\nGitHub Issues are preferred for discussion of this specification. Alternatively, you can send comments to our mailing list. Please send them to public-\njson-ld-wg@w3.org (archives).\nPlease see the Working Group's implementation report.\nThis document has been reviewed by W3C Members, by software developers, and by other W3C g",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-front-matter",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Front matter",
      "pageStart": 1,
      "pageEnd": 1,
      "target": "../sections/sec-front-matter.md",
      "narrative": null,
      "content": "W3C",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-005",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Set of Documents",
      "pageStart": 2,
      "pageEnd": 2,
      "target": "../sections/sec-005-set-of-documents.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-006",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Table of Contents",
      "pageStart": 2,
      "pageEnd": 4,
      "target": "../sections/sec-006-table-of-contents.md",
      "narrative": null,
      "content": "4. 4.4 Nested Properties\n5. 4.5 Embedding\n1. 4.5.1 Identifying Blank Nodes\n6. 4.6 Indexed Values\n1. 4.6.1 Data Indexing\n1. 4.6.1.1 Property-based data indexing\n2. 4.6.2 Language Indexing\n3. 4.6.3 Node Identifier Indexing\n4. 4.6.4 Node Type Indexing\n7. 4.7 Included Nodes\n8. 4.8 Reverse Properties\n9. 4.9 Named Graphs\n1. 4.9.1 Graph Containers\n2. 4.9.2 Named Graph Data Indexing\n3. 4.9.3 Named Graph Indexing\n10. 4.10 Loading Documents\n5. 5. Forms of JSON-LD\n1. 5.1 Expanded Document Form\n2. 5.2 Compacted Document Form\n1. 5.2.1 Shortening IRIs\n2. 5.2.2 Representing Values as Strings\n3. 5.2.3 Represe",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-007",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Terminology",
      "pageStart": 4,
      "pageEnd": 4,
      "target": "../sections/sec-007-14-terminology.md",
      "narrative": null,
      "content": "This document can highlight changes since the JSON-LD 1.0 version. Select to highlight changes.\nThis section is non-normative.",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-008",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Introduction",
      "pageStart": 4,
      "pageEnd": 4,
      "target": "../sections/sec-008-1-introduction.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-009",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "How to Read this Document",
      "pageStart": 4,
      "pageEnd": 4,
      "target": "../sections/sec-009-11-how-to-read-this-document.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-010",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Contributing",
      "pageStart": 4,
      "pageEnd": 5,
      "target": "../sections/sec-010-12-contributing.md",
      "narrative": null,
      "content": "There are a number of ways that one may participate in the development of this specification:\nTechnical discussion typically occurs on the working group mailing list: public-json-ld-wg@w3.org\nThe working group uses #json-ld IRC channel is available for real-time discussion on irc.w3.org.\nThe #json-ld IRC channel is also available for real-time discussion on irc.freenode.net.\nThis section is non-normative.\nThe following typographic conventions are used in this specification:\nmarkup\nMarkup (elements, attributes, properties), machine processable values (string, characters, media types), property",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-011",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 5,
      "pageEnd": 5,
      "target": "../sections/sec-011-note.md",
      "narrative": null,
      "content": "Notes are in light green boxes with a green left border and with a \"Note\" header in green. Notes are always informative.\nThis section is non-normative.\nThis document uses the following terms as defined in external specifications and defines terms specific to JSON-LD.\nTerms imported from ECMAScript Language Specification [ECMASCRIPT], The JavaScript Object Notation (JSON) Data Interchange Format\n[RFC8259], Infra Standard [INFRA], and Web IDL [WEBIDL]\narray\nIn the JSON serialization, an array structure is represented as square brackets surrounding zero or more values. Values are separated by com",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-012",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Typographical conventions",
      "pageStart": 5,
      "pageEnd": 5,
      "target": "../sections/sec-012-13-typographical-conventions.md",
      "narrative": null,
      "content": "variable\nExample 1\nExamples are in light khaki boxes, with khaki left border,\nand with a numbered \"Example\" header in khaki.\nExamples are always informative. The content of the example is in monospace font and may be syntax colored.\nExamples may have tabbed navigation buttons\nto show the results of transforming an example into other representations.\n1.4 Terminology §",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-013",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Terms imported from Other Specifications",
      "pageStart": 5,
      "pageEnd": 7,
      "target": "../sections/sec-013-terms-imported-from-other-specifications.md",
      "narrative": null,
      "content": "In the internal representation a JSON object is described as a map (see [INFRA]), composed of entries with key/value pairs.\nIn the Application Programming Interface, a map is described using a [WEBIDL] record.\nnull\nThe use of the null value within JSON-LD is used to ignore or reset values. A map entry in the @context where the value, or the @id of the value, is\nnull, explicitly decouples a term's association with an IRI. A map entry in the body of a JSON-LD document whose value is null has the same\nmeaning as if the map entry was not defined. If @value, @list, or @set is set to null in expande",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-014",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "JSON-LD Specific Term Definitions",
      "pageStart": 7,
      "pageEnd": 8,
      "target": "../sections/sec-014-json-ld-specific-term-definitions.md",
      "narrative": null,
      "content": "A JSON-LD Processor is a system which can perform the algorithms defined in JSON-LD 1.1 Processing Algorithms and API. See the Conformance\nsection in JSON-LD 1.1 API for a formal description.\nJSON-LD value\nA JSON-LD value is a string, a number, true or false, a typed value, or a language-tagged string. It represents an RDF literal.\nkeyword\nA string that is specific to JSON-LD, described in the Syntax Tokens and Keywords section of JSON-LD 1.1, and normatively specified in the\nKeywords section of JSON-LD 1.1,\nlanguage map\nAn language map is a map value of a term defined with @container set to @",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-015",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Design Goals and Rationale",
      "pageStart": 8,
      "pageEnd": 9,
      "target": "../sections/sec-015-15-design-goals-and-rationale.md",
      "narrative": null,
      "content": "Compatibility\nA JSON-LD document is always a valid JSON document. This ensures that all of the standard JSON libraries work seamlessly with JSON-LD\ndocuments.\nExpressiveness\nThe syntax serializes labeled directed graphs. This ensures that almost every real world data model can be expressed.\nTerseness\nThe JSON-LD syntax is very terse and human readable, requiring as little effort as possible from the developer.\nZero Edits, most of the time\nJSON-LD ensures a smooth and simple transition from existing JSON-based systems. In many cases, zero edits to the JSON document and the\naddition of one line",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-016",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 9,
      "pageEnd": 9,
      "target": "../sections/sec-016-note.md",
      "narrative": null,
      "content": "Although not discussed in this specification, parallel work using YAML Ain’t Markup Language (YAML™) Version 1.2 [YAML] and binary\nrepresentations such as Concise Binary Object Representation (CBOR) [RFC7049] could be used to map into the internal representation, allowing the\nJSON-LD 1.1 API [JSON-LD11-API] to operate as if the source was a JSON document.\nThis section is non-normative.\nJSON-LD specifies a number of syntax tokens and keywords that are a core part of the language. A normative description of the keywords is given in\n§ 9.16 Keywords.\n:\nThe separator for JSON keys and values that u",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-017",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Data Model Overview",
      "pageStart": 9,
      "pageEnd": 9,
      "target": "../sections/sec-017-16-data-model-overview.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-018",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Syntax Tokens and Keywords",
      "pageStart": 9,
      "pageEnd": 10,
      "target": "../sections/sec-018-17-syntax-tokens-and-keywords.md",
      "narrative": null,
      "content": "Used to define the short-hand names that are used throughout a JSON-LD document. These short-hand names are called terms and help developers to\nexpress specific identifiers in a compact manner. The @context keyword is described in detail in § 3.1 The Context.\n@direction\nUsed to set the base direction of a JSON-LD value, which are not typed values (e.g. strings, or language-tagged strings). This keyword is described in\n§ 4.2.4 String Internationalization.\n@graph\nUsed to express a graph. This keyword is described in § 4.9 Named Graphs.\n@id\nUsed to uniquely identify node objects that are being de",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-019",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Conformance",
      "pageStart": 10,
      "pageEnd": 11,
      "target": "../sections/sec-019-2-conformance.md",
      "narrative": null,
      "content": "As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative.\nEverything else in this specification is normative.\nThe key words MAY, MUST, MUST NOT, RECOMMENDED, SHOULD, and SHOULD NOT in this document are to be interpreted as described in\nBCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.\nA JSON-LD document complies with this specification if it follows the normative statements in appendix § 9. JSON-LD Grammar. JSON documents\ncan be interpreted as JSON-LD by following the n",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-020",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Basic Concepts",
      "pageStart": 11,
      "pageEnd": 12,
      "target": "../sections/sec-020-3-basic-concepts.md",
      "narrative": null,
      "content": "Example 2: Sample JSON document\n{\n  \"name\": \"Manu Sporny\",\n  \"homepage\": \"http://manu.sporny.org/\",\n  \"image\": \"http://manu.sporny.org/images/manu.png\"\n}\nInput\nExample 3: Sample JSON-LD document using full IRIs instead of terms\nExpanded (Input) \nStatements \nTurtle (Result) Open in playground\n{\n  \"http://schema.org/name\": \"Manu Sporny\",\n  \"http://schema.org/url\": {\n    \"@id\": \"http://manu.sporny.org/\"\n    ↑ The '@id' keyword means 'This value is an identifier that is an IRI'\n  },\nIn the example above, every property is unambiguously identified by an IRI and all values representing IRIs are expl",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-021",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "IRIs",
      "pageStart": 12,
      "pageEnd": 12,
      "target": "../sections/sec-021-32-iris.md",
      "narrative": null,
      "content": "Contexts can either be directly embedded into the document (an embedded context) or be referenced using a URL. Assuming the context document in\nthe previous example can be retrieved at https://json-ld.org/contexts/person.jsonld, it can be referenced by adding a single line and allows a\nJSON-LD document to be expressed much more concisely as shown in the example below:\n  \"http://schema.org/image\": {\n    \"@id\": \"http://manu.sporny.org/images/manu.png\"\n  }\n}",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-022",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "The Context",
      "pageStart": 12,
      "pageEnd": 13,
      "target": "../sections/sec-022-31-the-context.md",
      "narrative": null,
      "content": "Context\nExample 4: Context for the sample document in the previous section\n{\n  \"@context\": {\n    \"name\": \"http://schema.org/name\",\n    ↑ This means that 'name' is shorthand for 'http://schema.org/name'\n    \"image\": {\n      \"@id\": \"http://schema.org/image\",\n      ↑ This means that 'image' is shorthand for 'http://schema.org/image'\n      \"@type\": \"@id\"\n      ↑ This means that a string value associated with 'image'\n        should be interpreted as an identifier that is an IRI\n    },\n    \"homepage\": {\n      \"@id\": \"http://schema.org/url\",\n      ↑ This means that 'homepage' is shorthand for 'http:/",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-023",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 13,
      "pageEnd": 15,
      "target": "../sections/sec-023-note.md",
      "narrative": null,
      "content": "Resolution of relative references to context URLs also applies to remote context documents, as they may themselves contain references to other\ncontexts.\nJSON documents can be interpreted as JSON-LD without having to be modified by referencing a context via an HTTP Link Header as described in\n§ 6.1 Interpreting JSON as JSON-LD. It is also possible to apply a custom context using the JSON-LD 1.1 API [JSON-LD11-API].\nIn JSON-LD documents, contexts may also be specified inline. This has the advantage that documents can be processed even in the absence of a\nconnection to the Web. Ultimately, this i",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-024",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Node Identifiers",
      "pageStart": 15,
      "pageEnd": 15,
      "target": "../sections/sec-024-33-node-identifiers.md",
      "narrative": null,
      "content": "Input\nExample 13: Identifying a node\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    ...\n    \"name\": \"http://schema.org/name\"\n  },\n  \"@id\": \"http://me.markus-lanthaler.com/\",\n  \"name\": \"Markus Lanthaler\",\n  ...\n}",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-025",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Uses of JSON Objects",
      "pageStart": 15,
      "pageEnd": 16,
      "target": "../sections/sec-025-34-uses-of-json-objects.md",
      "narrative": null,
      "content": "Allows multiple values differing in their associated language to be indexed by language tag. See § 4.6.2 Language Indexing for more information,\nand § 9.8 Language Maps for the normative definition.\nIndex Maps\nAllows multiple values (node objects or value objects) to be indexed by an associated @index. See § 4.6.1 Data Indexing for more information, and\n§ 9.9 Index Maps for the normative definition.\nId Maps\nAllows multiple node objects to be indexed by an associated @id. See § 4.6.3 Node Identifier Indexing for more information, and § 9.11 Id Maps for\nthe normative definition.\nType Maps\nAllows",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-026",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Specifying the Type",
      "pageStart": 16,
      "pageEnd": 17,
      "target": "../sections/sec-026-35-specifying-the-type.md",
      "narrative": null,
      "content": "Input\nExample 14: Specifying the type for a node\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    ...\n    \"givenName\": \"http://schema.org/givenName\",\n    \"familyName\": \"http://schema.org/familyName\"\n  },\n  \"@id\": \"http://me.markus-lanthaler.com/\",\n  \"@type\": \"http://schema.org/Person\",\n  \"givenName\": \"Markus\",\n  \"familyName\": \"Lanthaler\",\n  ...\n}\nInput\nExample 15: Specifying multiple types for a node\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  ...\n  \"@id\": \"http://me.markus-lanthaler.com/\",\n  \"@type\": [\n     \"",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-027",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Advanced Concepts",
      "pageStart": 17,
      "pageEnd": 18,
      "target": "../sections/sec-027-4-advanced-concepts.md",
      "narrative": null,
      "content": "Input\nExample 17: Referencing Objects on the Web\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"@vocab\": \"http://xmlns.com/foaf/0.1/\",\n    \"knows\": {\"@type\": \"@id\"}\n  },\n  \"@id\": \"http://manu.sporny.org/about#manu\",\n  \"@type\": \"Person\",\n  \"name\": \"Manu Sporny\",\n  \"knows\": \"https://greggkellogg.net/foaf#me\"\n}\nInput\nExample 18: Embedding Objects\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"@vocab\": \"http://xmlns.com/foaf/0.1/\"\n  },\n  \"@id\": \"http://manu.sporny.org/about#manu\",\n  \"@type\": \"Pe",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-028",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Advanced Context Usage",
      "pageStart": 18,
      "pageEnd": 19,
      "target": "../sections/sec-028-41-advanced-context-usage.md",
      "narrative": null,
      "content": "Input\nExample 19: Using multiple contexts\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n[\n  {\n    \"@context\": \"https://json-ld.org/contexts/person.jsonld\",\n    \"name\": \"Manu Sporny\",\n    \"homepage\": \"http://manu.sporny.org/\",\n    \"depiction\": \"http://twitter.com/account/profile_image/manusporny\"\n  }, {\n    \"@context\": \"https://json-ld.org/contexts/place.jsonld\",\n    \"name\": \"The Empire State Building\",\n    \"description\": \"The Empire State Building is a 102-story landmark in New York City.\",\n    \"geo\": {\n      \"latitude\": \"40.75\",\n      \"longitude\": \"73.98\"\n    }",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-029",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 19,
      "pageEnd": 19,
      "target": "../sections/sec-029-note.md",
      "narrative": null,
      "content": "When possible, the context definition should be put at the top of a JSON-LD document. This makes the document easier to read and might make\nstreaming parsers more efficient. Documents that do not have the context at the top are still conformant JSON-LD.\nNote\nTo avoid forward-compatibility issues, terms starting with an @ character followed exclusively by one or more ALPHA characters (see [RFC5234])\nare to be avoided as they might be used as keyword in future versions of JSON-LD. Terms starting with an @ character that are not JSON-LD 1.1\nkeywords are treated as any other term, i.e., they are i",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-030",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "JSON-LD 1.1 Processing Mode",
      "pageStart": 19,
      "pageEnd": 20,
      "target": "../sections/sec-030-411-json-ld-11-processing-mode.md",
      "narrative": null,
      "content": "New features defined in JSON-LD 1.1 are available unless the processing mode is set to json-ld-1.0. This may be set through an API option. The\nprocessing mode may be explicitly set to json-ld-1.1 using the @version entry in a context set to the value 1.1 as a number, or through an API\noption. Explicitly setting the processing mode to json-ld-1.1 will prohibit JSON-LD 1.0 processors from incorrectly processing a JSON-LD 1.1\ndocument.\nThe first context encountered when processing a document which contains @version determines the processing mode, unless it is defined\nexplicitly through an API opt",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-031",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 20,
      "pageEnd": 20,
      "target": "../sections/sec-031-note.md",
      "narrative": null,
      "content": "Setting the processing mode explicitly to json-ld-1.1 is RECOMMENDED to prevent a JSON-LD 1.0 processor from incorrectly processing a\nJSON-LD 1.1 document and producing different results.\nThis section is non-normative.\nAt times, all properties and types may come from the same vocabulary. JSON-LD's @vocab keyword allows an author to set a common prefix which\nis used as the vocabulary mapping and is used for all properties and types that do not match a term and are neither an IRI nor a compact IRI (i.e., they\ndo not contain a colon).\nIf @vocab is used but certain keys in an map should not be exp",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-032",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Default Vocabulary",
      "pageStart": 20,
      "pageEnd": 21,
      "target": "../sections/sec-032-412-default-vocabulary.md",
      "narrative": null,
      "content": "Input\nExample 24: Using a default vocabulary\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"@vocab\": \"http://example.com/vocab/\"\n  },\n  \"@id\": \"http://example.org/places#BrewEats\",\n  \"@type\": \"Restaurant\",\n  \"name\": \"Brew Eats\"\n  ...\n}\nInput\nExample 25: Using the null keyword to ignore data\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n     \"@vocab\": \"http://example.com/vocab/\",\n     \"databaseId\": null\n  },\n  \"@id\": \"http://example.org/places#BrewEats\",\n  \"@type\": \"Restaurant\",\n  \"name\": \"Brew E",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-033",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Base IRI",
      "pageStart": 21,
      "pageEnd": 21,
      "target": "../sections/sec-033-413-base-iri.md",
      "narrative": null,
      "content": "For example, if a JSON-LD document was retrieved from http://example.com/document.jsonld, relative IRI references would resolve against\nthat IRI:\nThis document uses an empty @id, which resolves to the document base. However, if the document is moved to a different location, the IRI would\nchange. To prevent this without having to use an IRI, a context may define an @base mapping, to overwrite the base IRI for the document.\nSetting @base to null will prevent relative IRI references from being expanded to IRIs.\nPlease note that the @base will be ignored if used in external contexts.\nThis section",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-034",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Using the Document Base for the Default Vocabulary",
      "pageStart": 21,
      "pageEnd": 22,
      "target": "../sections/sec-034-414-using-the-document-base-for-the-default-voca.md",
      "narrative": null,
      "content": "Example 29: Using \"#\" as the vocabulary mapping\n{\n  \"@context\": {\nIf this document were located at http://example/document, it would expand as follows:\nThis section is non-normative.\nA compact IRI is a way of expressing an IRI using a prefix and suffix separated by a colon (:). The prefix is a term taken from the active context and\nis a short string identifying a particular IRI in a JSON-LD document. For example, the prefix foaf may be used as a shorthand for the Friend-of-a-\nFriend vocabulary, which is identified using the IRI http://xmlns.com/foaf/0.1/. A developer may append any of the FOAF",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-035",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Compact IRIs",
      "pageStart": 22,
      "pageEnd": 23,
      "target": "../sections/sec-035-415-compact-iris.md",
      "narrative": null,
      "content": "Input\n    \"@version\": 1.1,\n    \"@base\": \"http://example/document\",\n    \"@vocab\": \"#\"\n  },\n  \"@id\": \"http://example.org/places#BrewEats\",\n  \"@type\": \"Restaurant\",\n  \"name\": \"Brew Eats\"\n  ...\n}\nResult\nExample 30: Using \"#\" as the vocabulary mapping (expanded)\nExpanded (Result) \nStatements \nTurtle Open in playground\n[{\n  \"@id\": \"http://example.org/places#BrewEats\",\n  \"@type\": [\"http://example/document#Restaurant\"],\n  \"http://example/document#name\": [{\"@value\": \"Brew Eats\"}]\n}]\n4.1.5 Compact IRIs §\nInput\nExample 31: Prefix expansion\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-036",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 23,
      "pageEnd": 24,
      "target": "../sections/sec-036-note.md",
      "narrative": null,
      "content": "The term selection behavior for 1.0 processors was changed as a result of an errata against JSON-LD 1.0 reported here. This does not affect the\nbehavior of processing existing JSON-LD documents, but creates a slight change when compacting documents using Compact IRIs.\nThe behavior when compacting can be illustrated by considering the following input document in expanded form:\nUsing the following context in the 1.0 processing mode will now select the term vocab rather than property, even though the IRI associated with\nproperty captures more of the original IRI.\nCompacting using the previous con",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-037",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Aliasing Keywords",
      "pageStart": 24,
      "pageEnd": 24,
      "target": "../sections/sec-037-416-aliasing-keywords.md",
      "narrative": null,
      "content": "Input\nExample 38: Aliasing keywords\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"url\": \"@id\",\n    \"a\": \"@type\",\n    \"name\": \"http://xmlns.com/foaf/0.1/name\"\n  },\n  \"url\": \"http://example.com/about#gregg\",\n  \"a\": \"http://xmlns.com/foaf/0.1/Person\",\n  \"name\": \"Gregg Kellogg\"\n}",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-038",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "IRI Expansion within a Context",
      "pageStart": 24,
      "pageEnd": 25,
      "target": "../sections/sec-038-417-iri-expansion-within-a-context.md",
      "narrative": null,
      "content": "Example 39: IRI expansion within a context\n{\n  \"@context\": {\n    \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n    \"name\": \"http://xmlns.com/foaf/0.1/name\",\n    \"age\": {\n      \"@id\": \"http://xmlns.com/foaf/0.1/age\",\n⚠\nIn this example, the xsd term is defined and used as a prefix for the @type coercion of the age property.\nTerms may also be used when defining the IRI of another term:\nCompact IRIs and IRIs may be used on the left-hand side of a term definition.\nIn this example, the compact IRI form is used in two different ways. In the first approach, foaf:age declares both the IRI for the term (u",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-039",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Warning",
      "pageStart": 25,
      "pageEnd": 26,
      "target": "../sections/sec-039-warning.md",
      "narrative": null,
      "content": "If a compact IRI is used as a term, it must expand to the value that compact IRI would have on its own when expanded. This represents a change\nto the original 1.0 algorithm to prevent terms from expanding to a different IRI, which could lead to undesired results.\n      \"@type\": \"xsd:integer\"\n    },\n    \"homepage\": {\n      \"@id\": \"http://xmlns.com/foaf/0.1/homepage\",\n      \"@type\": \"@id\"\n    }\n  },\n  ...\n}\nExample 40: Using a term to define the IRI of another term within a context\n{\n  \"@context\": {\n    \"foaf\": \"http://xmlns.com/foaf/0.1/\",\n    \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n    \"na",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-040",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Scoped Contexts",
      "pageStart": 26,
      "pageEnd": 27,
      "target": "../sections/sec-040-418-scoped-contexts.md",
      "narrative": null,
      "content": "Input\nExample 45: Defining an @context within a term definition\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"@version\": 1.1,\n    \"name\": \"http://schema.org/name\",\n    \"interest\": {\n      \"@id\": \"http://xmlns.com/foaf/0.1/interest\",\n      \"@context\": {\"@vocab\": \"http://xmlns.com/foaf/0.1/\"}\n    }\n  },\n  \"name\": \"Manu Sporny\",\n  \"interest\": {\n    \"@id\": \"https://www.w3.org/TR/json-ld11/\",\n    \"name\": \"JSON-LD\",\nIn this case, the social profile is defined using the schema.org vocabulary, but interest is imported from FOAF, and is used to defin",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-041",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 27,
      "pageEnd": 28,
      "target": "../sections/sec-041-note.md",
      "narrative": null,
      "content": "Any property-scoped or local contexts that were introduced in the node object would still be in effect when traversing into another node object.\nWhen expanding, each value of @type is considered (ordering them lexicographically) where that value is also a term in the active context having its\nown type-scoped context. If so, that the scoped context is applied to the active context.\nNote\nThe values of @type are unordered, so if multiple types are listed, the order that type-scoped contexts are applied is based on lexicographical\nordering.\nFor example, consider the following semantically equivale",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-042",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 28,
      "pageEnd": 28,
      "target": "../sections/sec-042-note.md",
      "narrative": null,
      "content": "If a term defines a scoped context, and then that term is later redefined, the association of the context defined in the earlier expanded term definition\nis lost within the scope of that redefinition. This is consistent with term definitions of a term overriding previous term definitions from earlier less\ndeeply nested definitions, as discussed in § 4.1 Advanced Context Usage.\nNote\nScoped Contexts are a new feature in JSON-LD 1.1.\nThis section is non-normative.\nOnce introduced, contexts remain in effect until a subsequent context removes it by setting @context to null, or by redefining terms,",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-043",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Context Propagation",
      "pageStart": 28,
      "pageEnd": 29,
      "target": "../sections/sec-043-419-context-propagation.md",
      "narrative": null,
      "content": "Note\nContexts included within an array must all have the same value for @propagate due to the way that rollback is defined in JSON-LD 1.1 Processing\nAlgorithms and API.\nThis section is non-normative.\nJSON-LD 1.0 included mechanisms for modifying the context that is in effect. This included the capability to load and process a remote context and\nthen apply further changes to it via new contexts.\nHowever, with the introduction of JSON-LD 1.1, it is also desirable to be able to load a remote context, in particular an existing JSON-LD 1.0\ncontext, and apply JSON-LD 1.1 features to it prior to proc",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-044",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Imported Contexts",
      "pageStart": 29,
      "pageEnd": 30,
      "target": "../sections/sec-044-4110-imported-contexts.md",
      "narrative": null,
      "content": "Example 50: A remote context to be imported in a type-scoped context\n{\n  \"@context\": {\n    \"Type1\": \"http://example.com/vocab/Type1\",\n    \"Type2\": \"http://example.com/vocab/Type2\",\n    \"term1\": \"http://example.com/vocab#term1\",\n    \"term2\": \"http://example.com/vocab#term2\",\n    ...\n  }\n}\nExample 51: Sourcing a context in a type-scoped context and setting it to propagate\n{\n  \"@context\": {\n    \"@version\": 1.1,\n    \"MyType\": {\n      \"@id\": \"http://example.com/vocab#MyType\",\nThe effect would be the same as if the entire imported context had been copied into the type-scoped context:\nSimilarly, the",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-045",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Protected Term Definitions",
      "pageStart": 30,
      "pageEnd": 32,
      "target": "../sections/sec-045-4111-protected-term-definitions.md",
      "narrative": null,
      "content": "JSON-LD is used in many specifications as the specified data format. However, there is also a desire to allow some JSON-LD contents to be\nprocessed as plain JSON, without using any of the JSON-LD algorithms. Because JSON-LD is very flexible, some terms from the original format\nmay be locally overridden through the use of embedded contexts, and take a different meaning for JSON-LD based implementations. On the other\nhand, \"plain JSON\" implementations may not be able to interpret these embedded contexts, and hence will still interpret those terms with their\noriginal meaning. To prevent this dive",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-046",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 32,
      "pageEnd": 33,
      "target": "../sections/sec-046-note.md",
      "narrative": null,
      "content": "\"Person\": \"http://schema.org/Person\",\n      \"name\": \"http://schema.org/name\"\n    }\n  ],\n  \"id\": \"https://digitalbazaar.com/\",\n  \"type\": \"Organization\",\n  \"member\" : {\n    \"id\": \"http://manu.sporny.org/about#manu\",\n    \"type\": \"Person\",\n    \"name\": \"Manu Sporny\"\n  }\n}\nInput\nExample 58: overriding permitted in property scoped context\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": [\n    {\n      – This context reflects the specification used by \"plain JSON\" implementations\n      \"@version\": 1.1,\n      \"@protected\": true,\n      \"Organization\": \"http://sc",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-047",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 33,
      "pageEnd": 33,
      "target": "../sections/sec-047-note.md",
      "narrative": null,
      "content": "By preventing terms from being overridden, protection also prevents any adaptation of a term (e.g., defining a more precise datatype, restricting the\nterm's use to lists, etc.). This kind of adaptation is frequent with some general purpose contexts, for which protection would therefore hinder their\nusability. As a consequence, context publishers should use this feature with care.\nNote\nProtected term definitions are a new feature in JSON-LD 1.1.\nThis section is non-normative.\nValues are leaf nodes in a graph associated with scalar values such as strings, dates, times, and other such atomic valu",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-048",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Describing Values",
      "pageStart": 33,
      "pageEnd": 33,
      "target": "../sections/sec-048-42-describing-values.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-049",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Typed Values",
      "pageStart": 33,
      "pageEnd": 34,
      "target": "../sections/sec-049-421-typed-values.md",
      "narrative": null,
      "content": "Input\nExample 59: Expanded term definition with type coercion\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"modified\": {\n      \"@id\": \"http://purl.org/dc/terms/modified\",\n      \"@type\": \"http://www.w3.org/2001/XMLSchema#dateTime\"\n    }\n  },\n  ...\n  \"@id\": \"http://example.com/docs/1\",\n  \"modified\": \"2010-05-29T14:17:39+02:00\",\n  ...\n}\nInput\nExample 60: Expanded value with type\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"modified\": {\n      \"@id\": \"http://purl.org/dc/terms/modified\"\n    }",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-050",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 34,
      "pageEnd": 34,
      "target": "../sections/sec-050-note.md",
      "narrative": null,
      "content": "The @type keyword is also used to associate a type with a node. The concept of a node type and a value type are distinct. For more on adding types to\nnodes, see § 3.5 Specifying the Type.\nNote\nWhen expanding, an @type defined within a term definition can be associated with a string value to create an expanded value object, which is\ndescribed in § 4.2.3 Type Coercion. Type coercion only takes place on string values, not for values which are maps, such as node objects and value\nobjects in their expanded form.\nA node type specifies the type of thing that is being described, like a person, place,",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-051",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Warning",
      "pageStart": 34,
      "pageEnd": 34,
      "target": "../sections/sec-051-warning.md",
      "narrative": null,
      "content": "JSON-LD is intended to allow native JSON to be interpreted through the use of a context. The use of JSON literals creates blobs of data which are\nnot available for interpretation. It is for use only in the rare cases that JSON cannot be represented as JSON-LD.\nWhen a term is defined with @type set to @json, a JSON-LD processor will treat the value as a JSON literal, rather than interpreting it further as\nJSON-LD. In the expanded document form, such JSON will become the value of @value within a value object having \"@type\": \"@json\".\nWhen transformed into RDF, the JSON literal will have a lexical",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-052",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "JSON Literals",
      "pageStart": 34,
      "pageEnd": 35,
      "target": "../sections/sec-052-422-json-literals.md",
      "narrative": null,
      "content": "Example 63: JSON Literal\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-053",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 35,
      "pageEnd": 35,
      "target": "../sections/sec-053-note.md",
      "narrative": null,
      "content": "Generally, when a JSON-LD processor encounters null, the associated entry or value is removed. However, null is a valid JSON token; when used\nas the value of a JSON literal, a null value will be preserved.\nThis section is non-normative.\nJSON-LD supports the coercion of string values to particular data types. Type coercion allows someone deploying JSON-LD to use string property\nvalues and have those values be interpreted as typed values by associating an IRI with the value in the expanded value object representation. Using\ntype coercion, string value representation can be used without requiring",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-054",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Type Coercion",
      "pageStart": 35,
      "pageEnd": 36,
      "target": "../sections/sec-054-423-type-coercion.md",
      "narrative": null,
      "content": "Input\nExample 64: Expanded term definition with types\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n    \"name\": \"http://xmlns.com/foaf/0.1/name\",\n    \"age\": {\n      \"@id\": \"http://xmlns.com/foaf/0.1/age\",\n      \"@type\": \"xsd:integer\"\n    },\n    \"homepage\": {\n      \"@id\": \"http://xmlns.com/foaf/0.1/homepage\",\n      \"@type\": \"@id\"\n    }\n  },\n  \"@id\": \"http://example.com/people#john\",\n  \"name\": \"John Smith\",\n  \"age\": \"41\",\n  \"homepage\": [\n    \"http://personal.example.org/\",\n    \"http://work.example.com",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-055",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 36,
      "pageEnd": 37,
      "target": "../sections/sec-055-note.md",
      "narrative": null,
      "content": "The triple ex1:fred ex2:knows ex1:barney . is emitted twice, but exists only once in an output dataset, as it is a duplicate triple.\nTerms may also be defined using IRIs or compact IRIs. This allows coercion rules to be applied to keys which are not represented as a simple term.\nFor example:\nInput\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"@base\": \"http://example1.com/\",\n    \"@vocab\": \"http://example2.com/\",\n    \"knows\": {\"@type\": \"@vocab\"}\n  },\n  \"@id\": \"fred\",\n  \"knows\": [\n    {\"@id\": \"barney\", \"mnemonic\": \"the sidekick\"},\n    \"barney\"",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-056",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 37,
      "pageEnd": 37,
      "target": "../sections/sec-056-note.md",
      "narrative": null,
      "content": "Keys in the context are treated as terms for the purpose of expansion and value coercion. At times, this may result in multiple representations for the\nsame expanded IRI. For example, one could specify that dog and cat both expanded to http://example.com/vocab#animal. Doing this could be\nuseful for establishing different type coercion or language specification rules.\nThis section is non-normative.\nAt times, it is important to annotate a string with its language. In JSON-LD this is possible in a variety of ways. First, it is possible to define a default\nlanguage for a JSON-LD document by settin",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-057",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "String Internationalization",
      "pageStart": 37,
      "pageEnd": 40,
      "target": "../sections/sec-057-424-string-internationalization.md",
      "narrative": null,
      "content": "Input\nExample 68: Setting the default language of a JSON-LD document\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"name\": \"http://example.org/name\",\n    \"occupation\": \"http://example.org/occupation\",\n    ...\n    \"@language\": \"ja\"\n  },\n  \"name\": \"花澄\",\n  \"occupation\": \"科学者\"\n}\nExample 69: Clearing default language\n{\n  \"@context\": {\n    ...\n    \"@version\": 1.1,\n    \"@vocab\": \"http://example.com/\",\n    \"@language\": \"ja\",\n    \"details\": {\n      \"@context\": {\n        \"@language\": null\n      }\n    }\n  },\n  \"name\": \"花澄\",\n  \"details\": {\"occupation\": \"",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-058",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 40,
      "pageEnd": 40,
      "target": "../sections/sec-058-note.md",
      "narrative": null,
      "content": "Base direction associations are only applied to plain strings and language-tagged strings. Typed values or values that are subject to type coercion are\nnot given a base direction.\nThird, it is possible to override the default base direction by using a value object:\nSee Strings on the Web: Language and Direction Metadata [string-meta] for a deeper discussion of base direction.\nThis section is non-normative.\nA JSON-LD author can express multiple values in a compact way by using arrays. Since graphs do not describe ordering for links between nodes,\narrays in JSON-LD do not convey any ordering of",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-059",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Value Ordering",
      "pageStart": 40,
      "pageEnd": 41,
      "target": "../sections/sec-059-43-value-ordering.md",
      "narrative": null,
      "content": "Input\nExample 78: Multiple values with no inherent order\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\"foaf\": \"http://xmlns.com/foaf/0.1/\"},\n  ...\n  \"@id\": \"http://example.org/people#joebob\",\n  \"foaf:nick\": [ \"joe\", \"bob\", \"JB\" ],\n  ...\n}\nInput\nExample 79: Using an expanded form to set multiple values\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\"dcterms\": \"http://purl.org/dc/terms/\"},\n  \"@id\": \"http://example.org/articles/8\",\n  \"dcterms:title\": [\n    {\n      \"@value\": \"Das Kapital\",\n      \"@languag",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-060",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Lists",
      "pageStart": 41,
      "pageEnd": 42,
      "target": "../sections/sec-060-431-lists.md",
      "narrative": null,
      "content": "In JSON-LD 1.1, lists of lists, where the value of a list object, may itself be a list object, are fully supported.\nNote that the \"@container\": \"@list\" definition recursively describes array values of lists as being, themselves, lists. For example, in The GeoJSON\nFormat (see [RFC7946]), coordinates are an ordered list of positions, which are represented as an array of two or more numbers:\nInput\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\"ex\": \"http://example.org/\"},\n  \"@id\": \"http://example.org/people#michael\",\n  \"ex:name\": [\n    \"Michael\",",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-061",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Sets",
      "pageStart": 42,
      "pageEnd": 43,
      "target": "../sections/sec-061-432-sets.md",
      "narrative": null,
      "content": "Input\nExample 85: An unordered collection of values in JSON-LD\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\"foaf\": \"http://xmlns.com/foaf/0.1/\"},\n  ...\n  \"@id\": \"http://example.org/people#joebob\",\n  \"foaf:nick\": {\n    \"@set\": [ \"joe\", \"bob\", \"jaybee\" ]\n  },\n  ...\n}\nSince JSON-LD 1.1, the @set keyword may be combined with other container specifications within an expanded term definition to similarly cause\ncompacted values of indexes to be consistently represented using arrays. See § 4.6 Indexed Values for a further discussion.\nThis section is non",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-062",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Using @set with @type",
      "pageStart": 43,
      "pageEnd": 43,
      "target": "../sections/sec-062-433-using-set-with-type.md",
      "narrative": null,
      "content": "Example 87: Setting @container: @set on @type\n{\n  \"@context\": {\n    \"@version\": 1.1,\n    \"@type\": {\"@container\": \"@set\"}\n  },\n  \"@type\": [\"http:/example.org/type\"]\n}",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-063",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Nested Properties",
      "pageStart": 43,
      "pageEnd": 44,
      "target": "../sections/sec-063-44-nested-properties.md",
      "narrative": null,
      "content": "Input\nExample 88: Nested properties\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"@version\": 1.1,\n    \"skos\": \"http://www.w3.org/2004/02/skos/core#\",\n    \"labels\": \"@nest\",\n    \"main_label\": {\"@id\": \"skos:prefLabel\"},\n    \"other_label\": {\"@id\": \"skos:altLabel\"},\n    \"homepage\": {\"@id\": \"http://xmlns.com/foaf/0.1/homepage\", \"@type\": \"@id\"}\n  },\n  \"@id\": \"http://example.org/myresource\",\n  \"homepage\": \"http://example.org\",\n  \"labels\": {\n     \"main_label\": \"This is the main label for my resource\",\n     \"other_label\": \"This is the other label\"",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-064",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 44,
      "pageEnd": 44,
      "target": "../sections/sec-064-note.md",
      "narrative": null,
      "content": "Nested properties are a new feature in JSON-LD 1.1.\nThis section is non-normative.\nInput\n{\n  \"@context\": {\n    \"skos\": \"http://www.w3.org/2004/02/skos/core#\",\n    \"main_label\": {\"@id\": \"skos:prefLabel\"},\n    \"other_label\": {\"@id\": \"skos:altLabel\"},\n    \"homepage\": {\"@id\": \"http://xmlns.com/foaf/0.1/homepage\", \"@type\": \"@id\"}\n  },\n  \"@id\": \"http://example.org/myresource\",\n  \"homepage\": \"http://example.org\",\n  \"main_label\": \"This is the main label for my resource\",\n  \"other_label\": \"This is the other label\"\n}\nInput\nExample 90: Defining property nesting - Expanded Input\n[{\n  \"@id\": \"http://exampl",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-065",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Embedding",
      "pageStart": 44,
      "pageEnd": 45,
      "target": "../sections/sec-065-45-embedding.md",
      "narrative": null,
      "content": "Embedding is a JSON-LD feature that allows an author to use node objects as property values. This is a commonly used mechanism for creating a\nparent-child relationship between two nodes.\nWithout embedding, node objects can be linked by referencing the identifier of another node object. For example:\nThe previous example describes two node objects, for Manu and Gregg, with the knows property defined to treat string values as identifiers.\nEmbedding allows the node object for Gregg to be embedded as a value of the knows property:\nA node object, like the one used above, may be used in any value pos",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-066",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Identifying Blank Nodes",
      "pageStart": 45,
      "pageEnd": 46,
      "target": "../sections/sec-066-451-identifying-blank-nodes.md",
      "narrative": null,
      "content": "This section is non-normative.\nAt times, it becomes necessary to be able to express information without being able to uniquely identify the node with an IRI. This type of node is\ncalled a blank node. JSON-LD does not require all nodes to be identified using @id. However, some graph topologies may require identifiers to be\nserializable. Graphs containing loops, e.g., cannot be serialized using embedding alone, @id must be used to connect the nodes. In these situations,\none can use blank node identifiers, which look like IRIs using an underscore (_) as scheme. This allows one to reference the no",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-067",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Data Indexing",
      "pageStart": 46,
      "pageEnd": 46,
      "target": "../sections/sec-067-461-data-indexing.md",
      "narrative": null,
      "content": "As described in § 4.6.1 Data Indexing, data indexing allows an arbitrary key to reference a node or value.\nLanguage Indexing\nAs described in § 4.6.2 Language Indexing, language indexing allows a language to reference a string and be interpreted as the language associated\nwith that string.\nNode Identifier Indexing\nAs described in § 4.6.3 Node Identifier Indexing, node identifier indexing allows an IRI to reference a node and be interpreted as the identifier of that\nnode.\nNode Type Indexing\nAs described in § 4.6.4 Node Type Indexing, node type indexing allows an IRI to reference a node and be in",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-068",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Indexed Values",
      "pageStart": 46,
      "pageEnd": 47,
      "target": "../sections/sec-068-46-indexed-values.md",
      "narrative": null,
      "content": "4.6.1 Data Indexing §\nInput\nExample 97: Indexing data in JSON-LD\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"schema\": \"http://schema.org/\",\n    \"name\": \"schema:name\",\n    \"body\": \"schema:articleBody\",\n    \"athletes\": {\n      \"@id\": \"schema:athlete\",\n      \"@container\": \"@index\"\n⚠\nIn the example above, the athletes term has been marked as an index map. The catcher and pitcher keys will be ignored semantically, but preserved\nsyntactically, by the JSON-LD Processor. If used in JavaScript, this can allow a developer to access a particular athl",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-069",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Warning",
      "pageStart": 47,
      "pageEnd": 48,
      "target": "../sections/sec-069-warning.md",
      "narrative": null,
      "content": "As data indexes are not preserved when round-tripping to RDF; this feature should be used judiciously. Often, other indexing mechanisms, which\nare preserved, are more appropriate.\nThe value of @container can also be an array containing both @index and @set. When compacting, this ensures that a JSON-LD Processor will use\nthe array form for all values of indexes.\nUnless the processing mode is set to json-ld-1.0, the special index @none is used for indexing data which does not have an associated index, which\nis useful to maintain a normalized representation.\n    },\n    \"position\": \"schema:jobTitl",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-070",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 48,
      "pageEnd": 48,
      "target": "../sections/sec-070-note.md",
      "narrative": null,
      "content": "When using property-based data indexing, index maps can only be used on node objects, not value objects or graph objects. Value objects are\nrestricted to have only certain keys and do not support arbitrary properties.\nThis section is non-normative.\nJSON which includes string values in multiple languages may be represented using a language map to allow for easily indexing property values by\nlanguage tag. This enables direct access to language values instead of having to scan an array in search of a specific item. In JSON-LD such data can\nbe specified by associating the @language keyword with a",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-071",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Language Indexing",
      "pageStart": 48,
      "pageEnd": 49,
      "target": "../sections/sec-071-462-language-indexing.md",
      "narrative": null,
      "content": "Input\nExample 100: Indexing languaged-tagged strings in JSON-LD\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"vocab\": \"http://example.com/vocab/\",\n    \"label\": {\n      \"@id\": \"vocab:label\",\n      \"@container\": \"@language\"\n    }\n  },\n  \"@id\": \"http://example.com/queen\",\n  \"label\": {\n    \"en\": \"The Queen\",\n    \"de\": [ \"Die Königin\", \"Ihre Majestät\" ]\n  }\n}\nIn the example above, the label term has been marked as a language map. The en and de keys are implicitly associated with their respective values by\nthe JSON-LD Processor. This allows a deve",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-072",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Node Identifier Indexing",
      "pageStart": 49,
      "pageEnd": 51,
      "target": "../sections/sec-072-463-node-identifier-indexing.md",
      "narrative": null,
      "content": "Input\nExample 103: Indexing data in JSON-LD by node identifiers\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"@version\": 1.1,\n    \"schema\": \"http://schema.org/\",\n    \"name\": \"schema:name\",\n    \"body\": \"schema:articleBody\",\n    \"words\": \"schema:wordCount\",\n    \"post\": {\n      \"@id\": \"schema:blogPost\",\n      \"@container\": \"@id\",\n      \"@context\": {\n        \"@base\": \"http://example.com/posts/\"\n      }\n    }\n  },\n  \"@id\": \"http://example.com/\",\nIn the example above, the post term has been marked as an id map. The http://example.com/posts/1/en an",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-073",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 51,
      "pageEnd": 51,
      "target": "../sections/sec-073-note.md",
      "narrative": null,
      "content": "Id maps are a new feature in JSON-LD 1.1.\nThis section is non-normative.\nIn addition to id and index maps, JSON-LD introduces the notion of type maps for structuring data. The type indexing feature allows an author to\nstructure data using a simple key-value map where the keys map to IRIs. This enables data to be structured based on the @type of specific node\nobjects. In JSON-LD such data can be specified by associating the @type keyword with a @container declaration in the context:\nIn the example above, the affiliation term has been marked as a type map. The schema:Corporation and schema:Profe",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-074",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Node Type Indexing",
      "pageStart": 51,
      "pageEnd": 52,
      "target": "../sections/sec-074-464-node-type-indexing.md",
      "narrative": null,
      "content": "Input\nExample 106: Indexing data in JSON-LD by type\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n{\n  \"@context\": {\n    \"@version\": 1.1,\n    \"schema\": \"http://schema.org/\",\n    \"name\": \"schema:name\",\n    \"affiliation\": {\n      \"@id\": \"schema:affiliation\",\n      \"@container\": \"@type\"\n    }\n  },\n  \"name\": \"Manu Sporny\",\n  \"affiliation\": {\n    \"schema:Corporation\": {\n      \"@id\": \"https://digitalbazaar.com/\",\n      \"name\": \"Digital Bazaar\"\n    },\n    \"schema:ProfessionalService\": {\n      \"@id\": \"https://spec-ops.io\",\n      \"name\": \"Spec-Ops\"\n    }\n  }\n}\nInput\nExample",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-075",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Included Nodes",
      "pageStart": 52,
      "pageEnd": 54,
      "target": "../sections/sec-075-47-included-nodes.md",
      "narrative": null,
      "content": "Input\nExample 109: Included Blocks\n{\n  \"@context\": {\n    \"@version\": 1.1,\n    \"@vocab\": \"http://example.org/\",\n    \"classification\": {\"@type\": \"@vocab\"}\n  },\n  \"@id\": \"http://example.org/org-1\",\n  \"members\": [{\n    \"@id\":\"http://example.org/person-1\",\n    \"name\": \"Manu Sporny\",\n    \"classification\": \"employee\"\n  }, {\n    \"@id\":\"http://example.org/person-2\",\n    \"name\": \"Dave Longley\",\n    \"classification\": \"employee\"\n  }, {\n    \"@id\": \"http://example.org/person-3\",\n    \"name\": \"Gregg Kellogg\",\n    \"classification\": \"contractor\"\nWhen flattened, this will move the employee and contractor element",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-076",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Reverse Properties",
      "pageStart": 54,
      "pageEnd": 56,
      "target": "../sections/sec-076-48-reverse-properties.md",
      "narrative": null,
      "content": "Input\nExample 112: A document with children linking to their parent\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle Open in playground\n[\n  {\n    \"@id\": \"#homer\",\n    \"http://example.com/vocab#name\": \"Homer\"\n  }, {\n    \"@id\": \"#bart\",\n    \"http://example.com/vocab#name\": \"Bart\",\n    \"http://example.com/vocab#parent\": { \"@id\": \"#homer\" }\n  }, {\n    \"@id\": \"#lisa\",\n    \"http://example.com/vocab#name\": \"Lisa\",\n    \"http://example.com/vocab#parent\": { \"@id\": \"#homer\" }\n  }\n]\nInput\nExample 113: A person and its children using a reverse property\nCompacted (Input) \nExpanded (Result) \nFlattene",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-077",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 56,
      "pageEnd": 56,
      "target": "../sections/sec-077-note.md",
      "narrative": null,
      "content": "Strictly speaking, the value of such a term is not a named graph, rather it is the graph name associated with the named graph, which exists separately\nwithin the dataset.\nNote",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-078",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Graph Containers",
      "pageStart": 56,
      "pageEnd": 56,
      "target": "../sections/sec-078-491-graph-containers.md",
      "narrative": null,
      "content": "This section is non-normative.\nIn addition to indexing node objects by index, graph objects may also be indexed by an index. By using the @graph container type, introduced in\n§ 4.9.1 Graph Containers in addition to @index, an object value of such a property is treated as a key-value map where the keys do not map to IRIs,\nbut are taken from an @index property associated with named graphs which are their values. When expanded, these must be simple graph objects\nThe following example describes a default graph referencing multiple named graphs using an index map.\nInput\n    \"@context\": {\n      \"@vo",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-079",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Named Graph Data Indexing",
      "pageStart": 56,
      "pageEnd": 57,
      "target": "../sections/sec-079-492-named-graph-data-indexing.md",
      "narrative": null,
      "content": "As with index maps, when used with @graph, a container may also include @set to ensure that key values are always contained in an array.\nThe special index @none is used for indexing graphs which do not have an @index key, which is useful to maintain a normalized representation. Note,\nhowever, that compacting a document where multiple unidentified named graphs are compacted using the @none index will result in the content of\nthose graphs being merged. To prevent this, give each graph a distinct @index key.\nNote\nNamed Graph Data Indexing is a new feature in JSON-LD 1.1.\nThis section is non-norma",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-080",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Named Graph Indexing",
      "pageStart": 57,
      "pageEnd": 59,
      "target": "../sections/sec-080-493-named-graph-indexing.md",
      "narrative": null,
      "content": "In addition to indexing node objects by identifier, graph objects may also be indexed by their graph name. By using the @graph container type,\nintroduced in § 4.9.1 Graph Containers in addition to @id, an object value of such a property is treated as a key-value map where the keys represent\nthe identifiers of named graphs which are their values.\nThe following example describes a default graph referencing multiple named graphs using an id map.\nAs with id maps, when used with @graph, a container may also include @set to ensure that key values are always contained in an array.\nAs with id maps, th",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-081",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 59,
      "pageEnd": 59,
      "target": "../sections/sec-081-note.md",
      "narrative": null,
      "content": "Graph Containers are a new feature in JSON-LD 1.1.\nThis section is non-normative.\nThe JSON-LD 1.1 Processing Algorithms and API specification [JSON-LD11-API] defines the interface to a JSON-LD Processor and includes a\nnumber of methods used for manipulating different forms of JSON-LD (see § 5. Forms of JSON-LD). This includes a general mechanism for loading\nremote documents, including referenced JSON-LD documents and remote contexts, and potentially extracting embedded JSON-LD from other\nformats such as [HTML]. This is more fully described in Remote Document and Context Retrieval in [JSON-LD11",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-082",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Expanded Document Form",
      "pageStart": 59,
      "pageEnd": 59,
      "target": "../sections/sec-082-51-expanded-document-form.md",
      "narrative": null,
      "content": "Expansion is the process of taking a JSON-LD document and applying a context so that the @context is no longer necessary. This process is\ndescribed further in § 5.1 Expanded Document Form.",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-083",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Compacted Document Form",
      "pageStart": 59,
      "pageEnd": 59,
      "target": "../sections/sec-083-52-compacted-document-form.md",
      "narrative": null,
      "content": "Compaction is the process of applying a provided context to an existing JSON-LD document. This process is described further in § 5.2 Compacted\nDocument Form.\nFlattened Document Form\nFlattening is the process of extracting embedded nodes to the top level of the JSON tree, and replacing the embedded node with a reference, creating\nblank node identifiers as necessary. This process is described further in § 5.3 Flattened Document Form.\nFramed Document Form\nFraming is used to shape the data in a JSON-LD document, using an example frame document which is used to both match the flattened data and\nsho",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-084",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Loading Documents",
      "pageStart": 59,
      "pageEnd": 59,
      "target": "../sections/sec-084-410-loading-documents.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-085",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Forms of JSON-LD",
      "pageStart": 59,
      "pageEnd": 61,
      "target": "../sections/sec-085-5-forms-of-json-ld.md",
      "narrative": null,
      "content": "5.1 Expanded Document Form §\nInput\nExample 123: Sample JSON-LD document to be expanded\n{\n   \"@context\": {\n      \"name\": \"http://xmlns.com/foaf/0.1/name\",\n      \"homepage\": {\n        \"@id\": \"http://xmlns.com/foaf/0.1/homepage\",\n        \"@type\": \"@id\"\n      }\n   },\nRunning the JSON-LD Expansion algorithm against the JSON-LD input document provided above would result in the following output:\nJSON-LD's media type defines a profile parameter which can be used to signal or request expanded document form. The profile URI identifying\nexpanded document form is http://www.w3.org/ns/json-ld#expanded.\nThi",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-086",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Shortening IRIs",
      "pageStart": 61,
      "pageEnd": 62,
      "target": "../sections/sec-086-521-shortening-iris.md",
      "narrative": null,
      "content": "Input\nContext\nResult\nExample 128: Compacting using a default vocabulary\nGiven the following expanded document:\n[{\n  \"@id\": \"http://example.org/places#BrewEats\",\n  \"@type\": [\"http://example.org/Restaurant\"],\n  \"http://example.org/name\": [{\"@value\": \"Brew Eats\"}]\n}]\nAnd the following context:\n{\n  \"@context\": {\n    \"@vocab\": \"http://example.org/\"\n  }\n}\nThe compaction algorithm will shorten all vocabulary-relative IRIs that begin with http://xmlns.com/foaf/0.1/:\n{\n  \"@context\": {\n    \"@vocab\": \"http://example.org/\"\n  },\n  \"@id\": \"http://example.org/places#BrewEats\",\n  \"@type\": \"Restaurant\",\n  \"nam",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-087",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Representing Values as Strings",
      "pageStart": 62,
      "pageEnd": 63,
      "target": "../sections/sec-087-522-representing-values-as-strings.md",
      "narrative": null,
      "content": "Input\nContext\nExample 130: Coercing Values to Strings\nGiven the following expanded document:\n[{\n  \"http://example.com/plain\": [\n    {\"@value\": \"string\"},\n    {\"@value\": true},\n    {\"@value\": 1}\n  ],\n  \"http://example.com/date\": [\n    {\n      \"@value\": \"2018-02-16\",\n      \"@type\": \"http://www.w3.org/2001/XMLSchema#date\"\n    }\n  ],\n  \"http://example.com/en\": [\n    {\"@value\": \"English\", \"@language\": \"en\"}\n  ],\n  \"http://example.com/iri\": [\n    {\"@id\": \"http://example.com/some-location\"}\n  ]\n}]\nAnd the following context:\n{\n  \"@context\": {\n    \"@vocab\": \"http://example.com/\",\n    \"date\": {\"@type\":",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-088",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Representing Lists as Arrays",
      "pageStart": 63,
      "pageEnd": 63,
      "target": "../sections/sec-088-523-representing-lists-as-arrays.md",
      "narrative": null,
      "content": "Input\nContext\nExample 131: Using Arrays for Lists\nGiven the following expanded document:\n[{\n  \"http://xmlns.com/foaf/0.1/nick\": [{\n    \"@list\": [\n      {\"@value\": \"joe\"},\n      {\"@value\": \"bob\"},\n      {\"@value\": \"jaybee\"}\n    ]\n  }]\n}]\nAnd the following context:\n{\n  \"@context\": {\n    \"nick\": {\n      \"@id\": \"http://xmlns.com/foaf/0.1/nick\",\n      \"@container\": \"@list\"\n    }\n  }\n}\nThe compacted version eliminates the explicit list object.\n{\n  \"@context\": {\n    \"nick\": {\n      \"@id\": \"http://xmlns.com/foaf/0.1/nick\",\n      \"@container\": \"@list\"\n    }\n  },\n  \"nick\": [ \"joe\", \"bob\", \"jaybee\" ]\n}",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-089",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Reversing Node Relationships",
      "pageStart": 63,
      "pageEnd": 64,
      "target": "../sections/sec-089-524-reversing-node-relationships.md",
      "narrative": null,
      "content": "Input\nExample 132: Reversing Node Relationships\nGiven the following expanded document:\n[{\n  \"@id\": \"http://example.org/#homer\",\n  \"http://example.com/vocab#name\": [{\"@value\": \"Homer\"}],\n  \"@reverse\": {\nReverse properties can be even more useful when combined with framing, which can actually make node objects defined at the top-level of a\ndocument to become embedded nodes. JSON-LD provides a means to index such values, by defining an appropriate @container definition within a\nterm definition.\nThis section is non-normative.\nProperties with multiple values are typically represented using an unord",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-090",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Indexing Values",
      "pageStart": 64,
      "pageEnd": 65,
      "target": "../sections/sec-090-525-indexing-values.md",
      "narrative": null,
      "content": "Input\nContext\nExample 133: Indexing language-tagged strings\nGiven the following expanded document:\n[{\n  \"@id\": \"http://example.com/queen\",\n  \"http://example.com/vocab/label\": [\n    {\"@value\": \"The Queen\", \"@language\": \"en\"},\n    {\"@value\": \"Die Königin\", \"@language\": \"de\"},\n    {\"@value\": \"Ihre Majestät\", \"@language\": \"de\"}\n  ]\n}]\nAnd the following context:\n{\n  \"@context\": {\n    \"vocab\": \"http://example.com/vocab/\",\n    \"label\": {\n      \"@id\": \"vocab:label\",\n      \"@container\": \"@language\"\n    }\n  }\n}\nThe compacted version uses a map value for \"label\", with the keys representing the language t",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-091",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Normalizing Values as Objects",
      "pageStart": 65,
      "pageEnd": 66,
      "target": "../sections/sec-091-526-normalizing-values-as-objects.md",
      "narrative": null,
      "content": "Input\nContext\nExample 134: Forcing Object Values\nGiven the following expanded document:\n[{\n  \"http://example.com/notype\": [\n    {\"@value\": \"string\"},\n    {\"@value\": true},\n    {\"@value\": false},\n    {\"@value\": 1},\n    {\"@value\": 10.0},\n    {\"@value\": \"plain\"},\n    {\"@value\": \"false\", \"@type\": \"http://www.w3.org/2001/XMLSchema#boolean\"},\n    {\"@value\": \"english\", \"@language\": \"en\"},\n    {\"@value\": \"2018-02-17\", \"@type\": \"http://www.w3.org/2001/XMLSchema#date\"},\n    {\"@id\": \"http://example.com/iri\"}\n  ]\n}]\nAnd the following context:\n{\n  \"@context\": {\n    \"@version\": 1.1,\n    \"xsd\": \"http://www.w",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-092",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Representing Singular Values as Arrays",
      "pageStart": 66,
      "pageEnd": 66,
      "target": "../sections/sec-092-527-representing-singular-values-as-arrays.md",
      "narrative": null,
      "content": "Input\nContext\nResult\nExample 135: Indexing language-tagged strings and @set\nGiven the following expanded document:\n[{\n  \"@id\": \"http://example.com/queen\",\n  \"http://example.com/vocab/label\": [\n    {\"@value\": \"The Queen\", \"@language\": \"en\"},\n    {\"@value\": \"Die Königin\", \"@language\": \"de\"},\n    {\"@value\": \"Ihre Majestät\", \"@language\": \"de\"}\n  ]\n}]\nAnd the following context:\n{\n  \"@context\": {\n    \"@version\": 1.1,\n    \"@vocab\": \"http://example.com/vocab/\",\n    \"label\": {\n      \"@container\": [\"@language\", \"@set\"]\n    }\n  }\n}\nThe compacted version uses a map value for \"label\" as before, and the val",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-093",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Term Selection",
      "pageStart": 66,
      "pageEnd": 67,
      "target": "../sections/sec-093-528-term-selection.md",
      "narrative": null,
      "content": "Input\nExample 136: Term Selection\nGiven the following expanded document:\n[{\n  \"http://example.com/vocab/property\": [\n    {\"@value\": \"string\"},\n    {\"@value\": true},\n    {\"@value\": 1},\n    {\"@value\": \"false\", \"@type\": \"http://www.w3.org/2001/XMLSchema#boolean\"},\n    {\"@value\": \"10\", \"@type\": \"http://www.w3.org/2001/XMLSchema#integer\"},\nThis section is non-normative.\nThe JSON-LD 1.1 Processing Algorithms and API specification [JSON-LD11-API] defines a method for flattening a JSON-LD document. Flattening\ncollects all properties of a node in a single map and labels all blank nodes with blank node",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-094",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Flattened Document Form",
      "pageStart": 67,
      "pageEnd": 68,
      "target": "../sections/sec-094-53-flattened-document-form.md",
      "narrative": null,
      "content": "Input\nExample 137: Sample JSON-LD document to be flattened\n{\n  \"@context\": {\n    \"name\": \"http://xmlns.com/foaf/0.1/name\",\n    \"knows\": \"http://xmlns.com/foaf/0.1/knows\"\n  },\n  \"@id\": \"http://me.markus-lanthaler.com/\",\n  \"name\": \"Markus Lanthaler\",\n  \"knows\": [\n    {\n      \"@id\": \"http://manu.sporny.org/about#manu\",\n      \"name\": \"Manu Sporny\"\n    }, {\n      \"name\": \"Dave Longley\"\n    }\n  ]\n}\nJSON-LD's media type defines a profile parameter which can be used to signal or request flattened document form. The profile URI identifying\nflattened document form is http://www.w3.org/ns/json-ld#flatten",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-095",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Framed Document Form",
      "pageStart": 68,
      "pageEnd": 69,
      "target": "../sections/sec-095-54-framed-document-form.md",
      "narrative": null,
      "content": "Frame\nExample 139: Sample library frame\n{\n  \"@context\": {\n    \"@version\": 1.1,\n    \"@vocab\": \"http://example.org/\"\n  },\n  \"@type\": \"Library\",\n  \"contains\": {\n    \"@type\": \"Book\",\n    \"contains\": {\n      \"@type\": \"Chapter\"\n    }\n  }\n}\nInput\nExample 140: Flattened library objects\n{\n  \"@context\": {\n    \"@vocab\": \"http://example.org/\",\n    \"contains\": {\"@type\": \"@id\"}\n  },\n  \"@graph\": [{\n    \"@id\": \"http://example.org/library\",\n    \"@type\": \"Library\",\n    \"contains\": \"http://example.org/library/the-republic\"\n  }, {\n    \"@id\": \"http://example.org/library/the-republic\",\n    \"@type\": \"Book\",\nThe Fram",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-096",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Interpreting JSON as JSON-LD",
      "pageStart": 69,
      "pageEnd": 69,
      "target": "../sections/sec-096-61-interpreting-json-as-json-ld.md",
      "narrative": null,
      "content": "In other cases, a resource may be returned using a representation that cannot easily be interpreted as JSON-LD. Normally, HTTP content negotiation\nwould be used to allow a client to specify a preference for JSON-LD over another representation, but in certain situations, it is not possible or\npractical for a server to respond appropriately to such requests. For this, an HTTP Link Header can be used to provide an alternate location for a",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-097",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Alternate Document Location",
      "pageStart": 69,
      "pageEnd": 69,
      "target": "../sections/sec-097-62-alternate-document-location.md",
      "narrative": null,
      "content": "Ordinary JSON documents can be interpreted as JSON-LD by providing an explicit JSON-LD context document. One way to provide this is by using\nreferencing a JSON-LD context document in an HTTP Link Header. Doing so allows JSON to be unambiguously machine-readable without requiring\ndevelopers to drastically change their documents and provides an upgrade path for existing infrastructure without breaking existing clients that rely\non the application/json media type or a media type with a +json suffix as defined in [RFC6839].\nIn order to use an external context with an ordinary JSON document, when r",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-098",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Modifying Behavior with Link Relationships",
      "pageStart": 69,
      "pageEnd": 70,
      "target": "../sections/sec-098-6-modifying-behavior-with-link-relationships.md",
      "narrative": null,
      "content": "6.1 Interpreting JSON as JSON-LD §\nthe active context is initialized with the referenced external context. A response MUST NOT contain more than one HTTP Link Header using the\nhttp://www.w3.org/ns/json-ld#context link relation.\nOther mechanisms for providing a JSON-LD Context MAY be described for other URI schemes.\nThe JSON-LD 1.1 Processing Algorithms and API specification [JSON-LD11-API] provides for an expandContext option for specifying a context to\nuse when expanding JSON documents programmatically.\nThe following example demonstrates the use of an external context with an ordinary JSON do",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-099",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 70,
      "pageEnd": 71,
      "target": "../sections/sec-099-note.md",
      "narrative": null,
      "content": "Example 142: Referencing a JSON-LD context from a JSON document via an HTTP Link Header\nGET /ordinary-json-document.json HTTP/1.1\nHost: example.com\nAccept: application/ld+json,application/json,*/*;q=0.1\n====================================\nHTTP/1.1 200 OK\n...\nContent-Type: application/json\nLink: <https://json-ld.org/contexts/person.jsonld>; rel=\"http://www.w3.org/ns/json-ld#context\"; type=\"application/ld+json\"\n{\n  \"name\": \"Markus Lanthaler\",\n  \"homepage\": \"http://www.markus-lanthaler.com/\",\n  \"image\": \"http://twitter.com/account/profile_image/markuslanthaler\"\n}\n6.2 Alternate Document Location",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-100",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 71,
      "pageEnd": 71,
      "target": "../sections/sec-100-note.md",
      "narrative": null,
      "content": "This section describes features available with a documentLoader supporting HTML script extraction. See Remote Document and Context Retrieval\nfor more information.\nJSON-LD content can be easily embedded in HTML [HTML] by placing it in a script element with the type attribute set to application/ld+json.\nDoing so creates a data block.\nDefining how such data may be used is beyond the scope of this specification. The embedded JSON-LD document might be extracted as is or, e.g., be\ninterpreted as RDF.\nIf JSON-LD content is extracted as RDF [RDF11-CONCEPTS], it MUST be expanded into an RDF Dataset usi",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-101",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Inheriting base IRI from HTML's base element",
      "pageStart": 71,
      "pageEnd": 72,
      "target": "../sections/sec-101-71-inheriting-base-iri-from-htmls-base-element.md",
      "narrative": null,
      "content": "Input\nExample 146: Using the document base URL to establish the default base IRI\nCompacted (Input) \nExpanded (Result) \nStatements \nTurtle\n<html>\n  <head>\n    <base href=\"http://dbpedia.org/resource/\"/>\n    <script type=\"application/ld+json\">\n    {\n      \"@context\": \"https://json-ld.org/contexts/person.jsonld\",\n      \"@id\": \"John_Lennon\",\n      \"name\": \"John Lennon\",\n      \"born\": \"1940-10-09\",\n      \"spouse\": \"Cynthia_Lennon\"\nHTML allows for Dynamic changes to base URLs. This specification does not require any specific behavior, and to ensure that all systems process\nthe base IRI equivalently,",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-102",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 72,
      "pageEnd": 72,
      "target": "../sections/sec-102-note.md",
      "narrative": null,
      "content": "Such content should be escaped as indicated below, however the content will remain escaped after processing through the JSON-LD API [JSON-\nLD11-API].\n&amp; → & (ampersand, U+0026)\n&lt; → < (less-than sign, U+003C)\n&gt; → > (greater-than sign, U+003E)\n&quot; → \" (quotation mark, U+0022)\n&apos; → ' (apostrophe, U+0027)\nA specific script element within an HTML document may be located using a fragment identifier matching the unique identifier of the script element\nwithin the HTML document located by a URL (see [DOM]). A JSON-LD processor MUST extract only the specified data block's contents parsin",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-103",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Restrictions for contents of JSON-LD script elements",
      "pageStart": 72,
      "pageEnd": 72,
      "target": "../sections/sec-103-72-restrictions-for-contents-of-json-ld-script-e.md",
      "narrative": null,
      "content": "Input\nExample 147: Embedding JSON-LD containing HTML in HTML\nCompacted (Input) \nExpanded (Result) \nTurtle\n<script type=\"application/ld+json\">\n{\n  \"@context\": \"http://schema.org/\",\n  \"@type\": \"WebPageElement\",\n  \"name\": \"Encoding Issues\",\n  \"description\": \"Issues list such as unescaped &lt;/script&gt; or --&gt;\"\n}\n</script>",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-104",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Locating a Specific JSON-LD Script Element",
      "pageStart": 72,
      "pageEnd": 73,
      "target": "../sections/sec-104-73-locating-a-specific-json-ld-script-element.md",
      "narrative": null,
      "content": "Input\nExample 148: Targeting a specific script element by id\nCompacted (Input) \nStatements \nTurtle\nTargeting a script element with id \"gregg\"\n<p>Data describing Dave</p>\n<script id=\"dave\" type=\"application/ld+json\">\n{\n  \"@context\": \"http://schema.org/\",\n  \"@id\": \"https://digitalbazaar.com/author/dlongley/\",\n  \"@type\": \"Person\",\n  \"name\": \"Dave Longley\"\n}\n</script>\n<p>Data describing Gregg</p>\n<script id=\"gregg\" type=\"application/ld+json\">\n{\n  \"@context\": \"http://schema.org/\",\n  \"@id\": \"https://greggkellogg.net/foaf#me\",\n  \"@type\": \"Person\",\n  \"name\": \"Gregg Kellogg\"\nJSON-LD is a serialization",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-105",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Data Model",
      "pageStart": 73,
      "pageEnd": 73,
      "target": "../sections/sec-105-8-data-model.md",
      "narrative": null,
      "content": "To ease understanding for developers unfamiliar with the RDF model, the following summary is provided:\nA JSON-LD document serializes a RDF Dataset [RDF11-CONCEPTS], which is a collection of graphs that comprises exactly one default\ngraph and zero or more named graphs.\nThe default graph does not have a name and MAY be empty.\nEach named graph is a pair consisting of an IRI or blank node identifier (the graph name) and a graph. Whenever practical, the graph name\nSHOULD be an IRI.\nA graph is a labeled directed graph, i.e., a set of nodes connected by directed-arcs.\nEvery directed-arc is labeled wi",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-106",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 73,
      "pageEnd": 74,
      "target": "../sections/sec-106-note.md",
      "narrative": null,
      "content": "The use of blank node identifiers to label properties is obsolete, and may be removed in a future version of JSON-LD. Consider using a\ndocument-relative IRI, instead, such as #.\nEvery node is an IRI, a blank node, or a literal, although syntactically lists and native JSON values may be represented directly.\nA node having an outgoing edge MUST be an IRI or a blank node.\nA graph MUST NOT contain unconnected nodes, i.e., nodes which are not connected by an property to any other node.\nNote\nThis effectively just prohibits unnested, empty node objects and unnested node objects that contain only an @",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-107",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 74,
      "pageEnd": 75,
      "target": "../sections/sec-107-note.md",
      "narrative": null,
      "content": "Input\nExample 150: Linked Data Dataset\nCompacted (Input) \nExpanded (Result) \nStatements \nTriG\n{\n  \"@context\": [\n    \"http://schema.org/\",\n    {\"@base\": \"http://example.com/\"}\n  ],\n  \"@graph\": [{\n    \"@id\": \"people/alice\",\n    \"gender\": [\n      {\"@value\": \"weiblich\", \"@language\": \"de\"},\n      {\"@value\": \"female\",   \"@language\": \"en\"}\n    ],\n    \"knows\": {\"@id\": \"people/bob\"},\n    \"name\": \"Alice\"\n  }, {\n    \"@id\": \"graphs/1\",\n    \"@graph\": {\n      \"@id\": \"people/alice\",\n      \"parent\": {\n        \"@id\": \"people/bob\",\n        \"name\": \"Bob\"\n      }\n    }\n  }, {\n    \"@id\": \"graphs/2\",\n    \"@graph\":",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-108",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Terms",
      "pageStart": 75,
      "pageEnd": 75,
      "target": "../sections/sec-108-91-terms.md",
      "narrative": null,
      "content": "A node object represents zero or more properties of a node in the graph serialized by the JSON-LD document. A map is a node object if it exists\noutside of a JSON-LD context and:\nit is not the top-most map in the JSON-LD document consisting of no other entries than @graph and @context,\nit does not contain the @value, @list, or @set keywords, and\nit is not a graph object.\nThe properties of a node in a graph may be spread among different node objects within a document. When that happens, the keys of the different node\nobjects need to be merged to create the properties of the resulting node.\nA nod",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-109",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Node Objects",
      "pageStart": 75,
      "pageEnd": 75,
      "target": "../sections/sec-109-92-node-objects.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-110",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "JSON-LD Grammar",
      "pageStart": 75,
      "pageEnd": 76,
      "target": "../sections/sec-110-9-json-ld-grammar.md",
      "narrative": null,
      "content": "9.1 Terms §\n9.2 Node Objects §\nIf the node object contains the @type key, its value MUST be either an IRI reference, a compact IRI (including blank node identifiers), a term defined\nin the active context expanding into an IRI, or an array of any of these. See § 3.5 Specifying the Type for further discussion on @type values.\nIf the node object contains the @reverse key, its value MUST be a map containing entries representing reverse properties. Each value of such a\nreverse property MUST be an IRI reference, a compact IRI, a blank node identifier, a node object or an array containing a combinati",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-111",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Frame Objects",
      "pageStart": 76,
      "pageEnd": 76,
      "target": "../sections/sec-111-93-frame-objects.md",
      "narrative": null,
      "content": "A graph object represents a named graph, which MAY include an explicit graph name. A map is a graph object if it exists outside of a JSON-LD\ncontext, it contains an @graph entry (or an alias of that keyword), it is not the top-most map in the JSON-LD document, and it consists of no entries\nother than @graph, @index, @id and @context, or an alias of one of these keywords.\nIf the graph object contains the @context key, its value MUST be null, an IRI reference, a context definition, or an array composed of any of these.\nIf the graph object contains the @id key, its value is used as the identifier",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-112",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Graph Objects",
      "pageStart": 76,
      "pageEnd": 76,
      "target": "../sections/sec-112-94-graph-objects.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-113",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Value Objects",
      "pageStart": 76,
      "pageEnd": 77,
      "target": "../sections/sec-113-95-value-objects.md",
      "narrative": null,
      "content": "A value object MUST be a map containing the @value key. It MAY also contain an @type, an @language, an @direction, an @index, or an @context\nkey but MUST NOT contain both an @type and either @language or @direction keys at the same time. A value object MUST NOT contain any other\nkeys that expand to an IRI or keyword.\nThe value associated with the @value key MUST be either a string, a number, true, false or null. If the value associated with the @type key is\n@json, the value MAY be either an array or an object.\nThe value associated with the @type key MUST be a term, an IRI, a compact IRI, a str",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-114",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Language Maps",
      "pageStart": 77,
      "pageEnd": 77,
      "target": "../sections/sec-114-98-language-maps.md",
      "narrative": null,
      "content": "An index map allows keys that have no semantic meaning, but should be preserved regardless, to be used in JSON-LD documents. An index map\nmay be used as a term value within a node object if the term is defined with @container set to @index, or an array containing both @index and @set .\nThe values of the entries of an index map MUST be one of the following types:\nstring,",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-115",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Value Patterns",
      "pageStart": 77,
      "pageEnd": 77,
      "target": "../sections/sec-115-96-value-patterns.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-116",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Lists and Sets",
      "pageStart": 77,
      "pageEnd": 77,
      "target": "../sections/sec-116-97-lists-and-sets.md",
      "narrative": null,
      "content": "9.8 Language Maps §",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-117",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Index Maps",
      "pageStart": 77,
      "pageEnd": 78,
      "target": "../sections/sec-117-99-index-maps.md",
      "narrative": null,
      "content": "number,\ntrue,\nfalse,\nnull,\nnode object,\nvalue object,\nlist object,\nset object,\nan array of zero or more of the above possibilities\nSee § 4.6.1 Data Indexing for further information on this topic.\nIndex Maps may also be used to map indexes to associated named graphs, if the term is defined with @container set to an array containing both\n@graph and @index, and optionally including @set. The value consists of the node objects contained within the named graph which is indexed using\nthe referencing key, which can be represented as a simple graph object if the value does not include @id, or a named",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-118",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Included Blocks",
      "pageStart": 78,
      "pageEnd": 78,
      "target": "../sections/sec-118-913-included-blocks.md",
      "narrative": null,
      "content": "A nested property is used to gather properties of a node object in a separate map, or array of maps which are not value objects. It is semantically\ntransparent and is removed during the process of expansion. Property nesting is recursive, and collections of nested properties may contain further\nnesting.\nSemantically, nesting is treated as if the properties and values were declared directly within the containing node object.\nA context definition defines a local context in a node object.",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-119",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Property-based Index Maps",
      "pageStart": 78,
      "pageEnd": 78,
      "target": "../sections/sec-119-910-property-based-index-maps.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-120",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Id Maps",
      "pageStart": 78,
      "pageEnd": 78,
      "target": "../sections/sec-120-911-id-maps.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-121",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Type Maps",
      "pageStart": 78,
      "pageEnd": 78,
      "target": "../sections/sec-121-912-type-maps.md",
      "narrative": null,
      "content": "9.13 Included Blocks §",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-122",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Property Nesting",
      "pageStart": 78,
      "pageEnd": 78,
      "target": "../sections/sec-122-914-property-nesting.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-123",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Context Definitions",
      "pageStart": 78,
      "pageEnd": 79,
      "target": "../sections/sec-123-915-context-definitions.md",
      "narrative": null,
      "content": "A context definition MUST be a map whose keys MUST be either terms, compact IRIs, IRIs, or one of the keywords @base, @import, @language,\n@propagate, @protected, @type, @version, or @vocab.\nIf the context definition has an @base key, its value MUST be an IRI reference, or null.\nIf the context definition has an @direction key, its value MUST be one of \"ltr\" or \"rtl\", or be null.\nIf the context definition contains the @import keyword, its value MUST be an IRI reference. When used as a reference from an @import, the\nreferenced context definition MUST NOT include an @import key, itself.\nIf the con",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-124",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Expanded term definition",
      "pageStart": 79,
      "pageEnd": 82,
      "target": "../sections/sec-124-9151-expanded-term-definition.md",
      "narrative": null,
      "content": "When the associated term is @type, the expanded term definition MUST NOT contain keys other than @container and @protected. The value of\n@container is limited to the single value @set.\nIf the term being defined is not an IRI or a compact IRI and the active context does not have an @vocab mapping, the expanded term definition MUST\ninclude the @id key.\nTerm definitions with keys which are of the form of an IRI or a compact IRI MUST NOT expand to an IRI other than the expansion of the key itself.\nIf the expanded term definition contains the @id keyword, its value MUST be null, an IRI, a blank nod",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-125",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 82,
      "pageEnd": 82,
      "target": "../sections/sec-125-note.md",
      "narrative": null,
      "content": "The use of blank node identifiers to label properties is obsolete, and may be removed in a future version of JSON-LD, as is the support for\ngeneralized RDF Datasets.\nSummarized, these differences mean that JSON-LD is capable of serializing any RDF graph or dataset and most, but not all, JSON-LD documents\ncan be directly interpreted as RDF as described in RDF 1.1 Concepts [RDF11-CONCEPTS].\nAuthors are strongly encouraged to avoid labeling properties using blank node identifiers, instead, consider one of the following mechanisms:\na relative IRI reference, either relative to the document or the v",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-126",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Relationship to RDF",
      "pageStart": 82,
      "pageEnd": 82,
      "target": "../sections/sec-126-10-relationship-to-rdf.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-127",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Serializing/Deserializing RDF",
      "pageStart": 82,
      "pageEnd": 83,
      "target": "../sections/sec-127-101-serializingdeserializing-rdf.md",
      "narrative": null,
      "content": "Running the JSON-LD Expansion and Flattening algorithms against the JSON-LD input document in the example above would result in the\nfollowing output:\nDeserializing this to RDF now is a straightforward process of turning each node object into one or more triples. This can be expressed in Turtle as\nfollows:\nThe process of serializing RDF as JSON-LD can be thought of as the inverse of this last step, creating an expanded JSON-LD document closely\nmatching the triples from RDF, using a single node object for all triples having a common subject, and a single property for those triples also having a",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-128",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "The rdf:JSON Datatype",
      "pageStart": 83,
      "pageEnd": 84,
      "target": "../sections/sec-128-102-the-rdfjson-datatype.md",
      "narrative": null,
      "content": "The IRI denoting this datatype\nis http://www.w3.org/1999/02/22-rdf-syntax-ns#JSON.\nThe lexical space\nis the set of UNICODE [UNICODE] strings which conform to the JSON Grammar as described in Section 2 JSON Grammar of [RFC8259].\nThe value space\nExample 151: Sample JSON-LD document\n{\n  \"@context\": {\n    \"name\": \"http://xmlns.com/foaf/0.1/name\",\n    \"knows\": \"http://xmlns.com/foaf/0.1/knows\"\n  },\n  \"@id\": \"http://me.markus-lanthaler.com/\",\n  \"name\": \"Markus Lanthaler\",\n  \"knows\": [\n    {\n      \"@id\": \"http://manu.sporny.org/about#manu\",\n      \"name\": \"Manu Sporny\"\n    }, {\n      \"name\": \"Dave Lon",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-129",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Issue",
      "pageStart": 84,
      "pageEnd": 84,
      "target": "../sections/sec-129-issue.md",
      "narrative": null,
      "content": "The JSON Canonicalization Scheme (JCS) [RFC8785] is an emerging standard for JSON canonicalization. This specification will likely be updated\nto require such a canonical representation. Users are cautioned from depending on the JSON literal lexical representation as an RDF literal, as the\nspecifics of serialization may change in a future revision of this document.\nDespite being defined as a set of strings, this value space is considered distinct from the value space of xsd:string, in order to avoid side effects\nwith existing specifications.\nThe lexical-to-value mapping\nmaps any element of the",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-130",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 84,
      "pageEnd": 84,
      "target": "../sections/sec-130-note.md",
      "narrative": null,
      "content": "[\n  ex:title \"HTML و CSS: تصميم و إنشاء مواقع الويب\"^^i18n:ar-eg_rtl;\n  ex:publisher \"مكتبة\"^^i18n:ar-eg_rtl\n] .\nSee § 4.2.4.1 Base Direction for more details on using base direction for strings.\nThis section is non-normative.\nThis specification defines the rdf:CompoundLiteral class, which is in the domain of rdf:language and rdf:direction to be used for describing\nRDF literal values containing base direction and a possible language tag to be associated with the string value of rdf:value on the same subject.\nrdf:CompoundLiteral\nA class representing a compound literal.\nrdf:language\nAn RDF prope",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-131",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "The i18n Namespace",
      "pageStart": 84,
      "pageEnd": 84,
      "target": "../sections/sec-131-103-the-i18n-namespace.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-132",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "The rdf:CompoundLiteral class and the rdf:language and rdf:direction properties",
      "pageStart": 84,
      "pageEnd": 85,
      "target": "../sections/sec-132-104-the-rdfcompoundliteral-class-and-the-rdflang.md",
      "narrative": null,
      "content": "For improved interoperability, the language tag is normalized to lower case when creating the datatype IRI.\nThe following example shows two statements with compound literals representing strings with the language tag ar-EG and base direction rtl.\n@prefix ex: <http://example.org/> .\n# Note that this version preserves the base direction using a bnode structure.\n[\n  ex:title [\n    rdf:value \"HTML و CSS: تصميم و إنشاء مواقع الويب\",\n    rdf:language \"ar-eg\",\n    rdf:direction \"rtl\"\n  ];\n  ex:publisher [\n    rdf:value \"مكتبة\",\n    rdf:language \"ar-eg\",\n    rdf:direction \"rtl\"\n  ]\n] .\nSee § 4.2.4.1 B",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-133",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Security Considerations",
      "pageStart": 85,
      "pageEnd": 85,
      "target": "../sections/sec-133-11-security-considerations.md",
      "narrative": null,
      "content": "Note\nFuture versions of this specification may incorporate subresource integrity [SRI] as a means of ensuring that cached and retrieved content matches\ndata retrieved from remote servers; see issue 86.\nThe retrieval of external contexts can expose the operation of a JSON-LD processor, allow intermediate nodes to fingerprint the client application\nthrough introspection of retrieved resources (see [fingerprinting-guidance]), and provide an opportunity for a man-in-the-middle attack. To protect\nagainst this, publishers should consider caching remote contexts for future use, or use the documentLoa",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-134",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Privacy Considerations",
      "pageStart": 85,
      "pageEnd": 85,
      "target": "../sections/sec-134-12-privacy-considerations.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-135",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Internationalization Considerations",
      "pageStart": 85,
      "pageEnd": 85,
      "target": "../sections/sec-135-13-internationalization-considerations.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-136",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "A. Image Descriptions",
      "pageStart": 85,
      "pageEnd": 85,
      "target": "../sections/sec-136-a-image-descriptions.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-137",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "A.1 Linked Data Dataset",
      "pageStart": 85,
      "pageEnd": 86,
      "target": "../sections/sec-137-a1-linked-data-dataset.md",
      "narrative": null,
      "content": "Alice\nan RDF literal with no datatype or language.\nweiblich | de\nan language-tagged string with the value \"weiblich\" and language tag \"de\".\nfemale | en\nan language-tagged string with the value \"female\" and language tag \"en\".\nThe second and third boxes describe two named graphs, with the graph names \"http://example.com/graphs/1\" and \"http://example.com/graphs/1\",\nrespectively.\nThe second box consists of two resources: http://example.com/people/alice and http://example.com/people/bob related by the\nschema:parent relationship, and names the http://example.com/people/bob \"Bob\".\nThe third box consi",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-138",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "B. Relationship to Other Linked Data Formats",
      "pageStart": 86,
      "pageEnd": 86,
      "target": "../sections/sec-138-b-relationship-to-other-linked-data-formats.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-139",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "B.1 Turtle",
      "pageStart": 86,
      "pageEnd": 86,
      "target": "../sections/sec-139-b1-turtle.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-140",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "B.1.1 Prefix definitions",
      "pageStart": 86,
      "pageEnd": 86,
      "target": "../sections/sec-140-b11-prefix-definitions.md",
      "narrative": null,
      "content": "Example 154: A set of statements serialized in Turtle\n@prefix foaf: <http://xmlns.com/foaf/0.1/> .\n<http://manu.sporny.org/about#manu> a foaf:Person;\n  foaf:name \"Manu Sporny\";\n  foaf:homepage <http://manu.sporny.org/> .\nExample 155: The same set of statements serialized in JSON-LD\n{\n  \"@context\": {\n    \"foaf\": \"http://xmlns.com/foaf/0.1/\"\n  },\n  \"@id\": \"http://manu.sporny.org/about#manu\",\n  \"@type\": \"foaf:Person\",\n  \"foaf:name\": \"Manu Sporny\",\n  \"foaf:homepage\": { \"@id\": \"http://manu.sporny.org/\" }\n}",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-141",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "B.1.2 Embedding",
      "pageStart": 86,
      "pageEnd": 87,
      "target": "../sections/sec-141-b12-embedding.md",
      "narrative": null,
      "content": "Example 156: Embedding in Turtle\n@prefix foaf: <http://xmlns.com/foaf/0.1/> .\n<http://manu.sporny.org/about#manu>\n  a foaf:Person;\n  foaf:name \"Manu Sporny\";\n  foaf:knows [ a foaf:Person; foaf:name \"Gregg Kellogg\" ] .\nIn JSON-LD numbers and boolean values are native data types. While [Turtle] has a shorthand syntax to express such values, RDF's abstract syntax\nrequires that numbers and boolean values are represented as typed literals. Thus, to allow full round-tripping, the JSON-LD 1.1 Processing\nAlgorithms and API specification [JSON-LD11-API] defines conversion rules between JSON-LD's native",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-142",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Note",
      "pageStart": 87,
      "pageEnd": 87,
      "target": "../sections/sec-142-note.md",
      "narrative": null,
      "content": "Note that this interpretation differs from [Turtle], in which the literal 2.78 translates to an xsd:decimal. The rationale is that most JSON tools parse\nnumbers with fractions as floating point numbers, so xsd:double is the most appropriate datatype to render them back in RDF.\nBoth JSON-LD and [Turtle] can represent sequential lists of values.\nExample 157: Same embedding example in JSON-LD\n{\n  \"@context\": {\n    \"foaf\": \"http://xmlns.com/foaf/0.1/\"\n  },\n  \"@id\": \"http://manu.sporny.org/about#manu\",\n  \"@type\": \"foaf:Person\",\n  \"foaf:name\": \"Manu Sporny\",\n  \"foaf:knows\": {\n    \"@type\": \"foaf:Pers",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-143",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "B.1.3 Conversion of native data types",
      "pageStart": 87,
      "pageEnd": 87,
      "target": "../sections/sec-143-b13-conversion-of-native-data-types.md",
      "narrative": null,
      "content": "Example 158: JSON-LD using native data types for numbers and boolean values\n{\n  \"@context\": {\n    \"ex\": \"http://example.com/vocab#\"\n  },\n  \"@id\": \"http://example.com/\",\n  \"ex:numbers\": [ 14, 2.78 ],\n  \"ex:booleans\": [ true, false ]\n}\nExample 159: Same example in Turtle using typed literals\n@prefix ex: <http://example.com/vocab#> .\n@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .\n<http://example.com/>\n  ex:numbers \"14\"^^xsd:integer, \"2.78E0\"^^xsd:double ;\n  ex:booleans \"true\"^^xsd:boolean, \"false\"^^xsd:boolean .",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-144",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "B.1.4 Lists",
      "pageStart": 87,
      "pageEnd": 88,
      "target": "../sections/sec-144-b14-lists.md",
      "narrative": null,
      "content": "Example 160: A list of values in Turtle\n@prefix foaf: <http://xmlns.com/foaf/0.1/> .\n<http://example.org/people#joebob> a foaf:Person;\n  foaf:name \"Joe Bob\";\n  foaf:nick ( \"joe\" \"bob\" \"jaybee\" ) .\nExample 161: Same example with a list of values in JSON-LD\n{\n  \"@context\": {\n    \"foaf\": \"http://xmlns.com/foaf/0.1/\"\n  },\n  \"@id\": \"http://example.org/people#joebob\",\n  \"@type\": \"foaf:Person\",\n  \"foaf:name\": \"Joe Bob\",\n  \"foaf:nick\": {\nThis section is non-normative.\nThe following example describes three people with their respective names and homepages in RDFa [RDFA-CORE].\nAn example JSON-LD implemen",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-145",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "B.2 RDFa",
      "pageStart": 88,
      "pageEnd": 88,
      "target": "../sections/sec-145-b2-rdfa.md",
      "narrative": null,
      "content": "Example 162: RDFa fragment that describes three people\n<div prefix=\"foaf: http://xmlns.com/foaf/0.1/\">\n   <ul>\n      <li typeof=\"foaf:Person\">\n        <a property=\"foaf:homepage\" href=\"http://example.com/bob/\">\n          <span property=\"foaf:name\">Bob</span>\n        </a>\n      </li>\n      <li typeof=\"foaf:Person\">\n        <a property=\"foaf:homepage\" href=\"http://example.com/eve/\">\n         <span property=\"foaf:name\">Eve</span>\n        </a>\n      </li>\n      <li typeof=\"foaf:Person\">\n        <a property=\"foaf:homepage\" href=\"http://example.com/manu/\">\n          <span property=\"foaf:name\">Manu</",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-146",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "B.3 Microdata",
      "pageStart": 88,
      "pageEnd": 89,
      "target": "../sections/sec-146-b3-microdata.md",
      "narrative": null,
      "content": "Example 164: HTML that describes a book using microdata\n<dl itemscope\n    itemtype=\"http://purl.org/vocab/frbr/core#Work\"\n    itemid=\"http://purl.oreilly.com/works/45U8QJGZSQKDH8N\">\n <dt>Title</dt>\n <dd><cite itemprop=\"http://purl.org/dc/elements/1.1/title\">Just a Geek</cite></dd>\n <dt>By</dt>\n <dd><span itemprop=\"http://purl.org/dc/elements/1.1/creator\">Wil Wheaton</span></dd>\n <dt>Format</dt>\n <dd itemprop=\"http://purl.org/vocab/frbr/core#realization\"\nNote that the JSON-LD representation of the Microdata information stays true to the desires of the Microdata community to avoid contexts and\ni",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-147",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "C. IANA Considerations",
      "pageStart": 89,
      "pageEnd": 89,
      "target": "../sections/sec-147-c-iana-considerations.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-148",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "application/ld+json",
      "pageStart": 89,
      "pageEnd": 90,
      "target": "../sections/sec-148-applicationldjson.md",
      "narrative": null,
      "content": "http://www.w3.org/ns/json-ld#flattened\nTo request or specify flattened JSON-LD document form.\nhttp://www.w3.org/ns/json-ld#frame\nTo request or specify a JSON-LD frame document.\nhttp://www.w3.org/ns/json-ld#framed\nTo request or specify framed JSON-LD document form.\nAll other URIs starting with http://www.w3.org/ns/json-ld are reserved for future use by JSON-LD specifications.\nOther specifications may publish additional profile parameter URIs with their own defined semantics. This includes the ability to associate a file\nextension with a profile parameter.\nWhen used as a media type parameter [RF",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-149",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "C.1 Examples",
      "pageStart": 90,
      "pageEnd": 91,
      "target": "../sections/sec-149-c1-examples.md",
      "narrative": null,
      "content": "This section is non-normative.\nThe following examples illustrate different ways in which the profile parameter may be used to describe different acceptable responses.\nRequests the server to return the requested resource as JSON-LD in expanded document form.\nRequests the server to return the requested resource as JSON-LD in compacted document form. As no explicit context resource is specified, the server\ncompacts using an application-specific default context.\nRequests the server to return the requested resource as JSON-LD in both compacted document form and flattened document form. Note that as",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-150",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Issue 108: Consider context by reference with metadata defer-future-versionprivacy-trackersecurity-tracker",
      "pageStart": 91,
      "pageEnd": 91,
      "target": "../sections/sec-150-issue-108-consider-context-by-reference-with-met.md",
      "narrative": null,
      "content": "Consider context by reference with metadata.",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-151",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Issue 191: Compact IRI expansion support for non-trivial prefix term definitions defer-future-versionspec:enhancement",
      "pageStart": 91,
      "pageEnd": 91,
      "target": "../sections/sec-151-issue-191-compact-iri-expansion-support-for-non.md",
      "narrative": null,
      "content": "Compact IRI expansion support for non-trivial prefix term definitions.",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-152",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Issue 280: language-maps don't allow separate base direction defer-future-version",
      "pageStart": 91,
      "pageEnd": 91,
      "target": "../sections/sec-152-issue-280-language-maps-dont-allow-separate-base.md",
      "narrative": null,
      "content": "Language-maps don't allow separate base direction.",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-153",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Issue 328: @default in @context in JSON-LD core syntax defer-future-version",
      "pageStart": 91,
      "pageEnd": 91,
      "target": "../sections/sec-153-issue-328-default-in-context-in-json-ld-core-syn.md",
      "narrative": null,
      "content": "@default in @context in JSON-LD core syntax.\nIssue 329: Suggestion about `@prefix` \nSuggestion about @prefix.",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-154",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "Issue 335: Type Coercion / Node Conversion: @coerce keyword or similar defer-future-version",
      "pageStart": 91,
      "pageEnd": 91,
      "target": "../sections/sec-154-issue-335-type-coercion-node-conversion-coerce-k.md",
      "narrative": null,
      "content": "Type Coercion / Node Conversion: @coerce keyword or similar.\nThis section is non-normative.\nA context may contain a @version entry which is used to set the processing mode.\nAn expanded term definition can now have an @context property, which defines a context used for values of a property identified with such a\nterm.\nExample 166: HTTP Request with profile requesting an expanded document\nGET /ordinary-json-document.json HTTP/1.1\nHost: example.com\nAccept: application/ld+json;profile=http://www.w3.org/ns/json-ld#expanded\nExample 167: HTTP Request with profile requesting a compacted document\nGET /",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-155",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "D. Open Issues",
      "pageStart": 91,
      "pageEnd": 91,
      "target": "../sections/sec-155-d-open-issues.md",
      "narrative": null,
      "content": "defer-future-version\nprivacy-tracker\nsecurity-tracker\ndefer-future-version\nspec:enhancement\ndefer-future-version\ndefer-future-version\ndefer-future-version\ndefer-future-version",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-156",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "E. Changes since 1.0 Recommendation of 16 January 2014",
      "pageStart": 91,
      "pageEnd": 92,
      "target": "../sections/sec-156-e-changes-since-10-recommendation-of-16-january.md",
      "narrative": null,
      "content": "@container values within an expanded term definition may now include @id, @graph and @type, corresponding to id maps and type maps.\nAn expanded term definition can now have an @nest property, which identifies a term expanding to @nest which is used for containing\nproperties using the same @nest mapping. When expanding, the values of a property expanding to @nest are treated as if they were contained\nwithin the enclosing node object directly.\nThe JSON syntax has been abstracted into an internal representation to allow for other serializations that are functionally equivalent to JSON.\nAdded § 4.",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-157",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "F. Changes since JSON-LD Community Group Final Report",
      "pageStart": 92,
      "pageEnd": 92,
      "target": "../sections/sec-157-f-changes-since-json-ld-community-group-final-re.md",
      "narrative": null,
      "content": "This section is non-normative.\nLists may now have items which are themselves lists.\nValues of @type, or an alias of @type, may now have their @container set to @set to ensure that @type entries are always represented as an\narray. This also allows a term to be defined for @type, where the value MUST be a map with @container set to @set.\nThe use of blank node identifiers to label properties is obsolete, and may be removed in a future version of JSON-LD, as is the support for\ngeneralized RDF Datasets.\nThe vocabulary mapping can be a relative IRI reference, which is evaluated either against an exi",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-158",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "G. Changes since Candidate Release of 12 December 2019",
      "pageStart": 92,
      "pageEnd": 92,
      "target": "../sections/sec-158-g-changes-since-candidate-release-of-12-december.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-159",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "H. Changes since Proposed Recommendation Release of 7 May 2020",
      "pageStart": 92,
      "pageEnd": 93,
      "target": "../sections/sec-159-h-changes-since-proposed-recommendation-release.md",
      "narrative": null,
      "content": "This section is non-normative.\nRemoved remaining \"at-risk\" notes.\nUpdate bibliographic reference for JCS to [RFC8785].\nFixed typo in § 9.3 Frame Objects, which was unintentionally diverging from the normative description of the @embed keyword in JSON-LD\n1.1 Framing. This is in response to Issue 358.\nThis section is non-normative.\nThe editors would like to specially thank the following individuals for making significant contributions to the authoring and editing of this\nspecification:\nTimothy Cole (University of Illinois at Urbana-Champaign)\nGregory Todd Williams (J. Paul Getty Trust)\nIvan Herm",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-160",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "I. Acknowledgements",
      "pageStart": 93,
      "pageEnd": 93,
      "target": "../sections/sec-160-i-acknowledgements.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-161",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "J. References",
      "pageStart": 93,
      "pageEnd": 93,
      "target": "../sections/sec-161-j-references.md",
      "narrative": null,
      "content": "",
      "truncated": false,
      "provenance": "ingested",
      "summary": {
        "status": "empty"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-162",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "J.1 Normative references",
      "pageStart": 93,
      "pageEnd": 94,
      "target": "../sections/sec-162-j1-normative-references.md",
      "narrative": null,
      "content": "JSON-LD 1.1 Framing. Dave Longley; Gregg Kellogg; Pierre-Antoine Champin. W3C. 7 May 2020. W3C Proposed Recommendation. URL:\nhttps://www.w3.org/TR/json-ld11-framing/\n[RDF-SCHEMA]\nRDF Schema 1.1. Dan Brickley; Ramanathan Guha. W3C. 25 February 2014. W3C Recommendation. URL: https://www.w3.org/TR/rdf-schema/\n[RDF11-CONCEPTS]\nRDF 1.1 Concepts and Abstract Syntax. Richard Cyganiak; David Wood; Markus Lanthaler. W3C. 25 February 2014. W3C Recommendation. URL:\nhttps://www.w3.org/TR/rdf11-concepts/\n[RDF11-MT]\nRDF 1.1 Semantics. Patrick Hayes; Peter Patel-Schneider. W3C. 25 February 2014. W3C Recommen",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    },
    {
      "id": "library/w3c-2020-json-ld-1-1/blocks/prose-sec-163",
      "types": [
        "folio-assistant-core:Prose",
        "doco:Section"
      ],
      "kind": "prose",
      "title": "J.2 Informative references",
      "pageStart": 94,
      "pageEnd": 95,
      "target": "../sections/sec-163-j2-informative-references.md",
      "narrative": null,
      "content": "Concise Binary Object Representation (CBOR). C. Bormann; P. Hoffman. IETF. October 2013. Proposed Standard. URL:\nhttps://tools.ietf.org/html/rfc7049\n[RFC7946]\nThe GeoJSON Format. H. Butler; M. Daly; A. Doyle; S. Gillies; S. Hagen; T. Schaub. IETF. August 2016. Proposed Standard. URL:\nhttps://tools.ietf.org/html/rfc7946\n[RFC8785]\nJSON Canonicalization Scheme (JCS). A. Rundgren; B. Jordan; S. Erdtman. Network Working Group. June 2020. Informational. URL:\nhttps://www.rfc-editor.org/rfc/rfc8785\n[SPARQL11-OVERVIEW]\nSPARQL 1.1 Overview. The W3C SPARQL Working Group. W3C. 21 March 2013. W3C Recommend",
      "truncated": true,
      "provenance": "ingested",
      "summary": {
        "status": "not-summarised"
      }
    }
  ]
}
