{
  "$schema": "folio-library-document/v1",
  "id": "w3c-2020-json-ld-1-1",
  "title": "JSON-LD 1.1",
  "variant": "pdf",
  "pages": 95,
  "tocSource": "outline",
  "tocMethod": null,
  "toc": [
    {
      "level": 1,
      "title": "JSON-LD 1.1",
      "number": null,
      "page": 1,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-000-json-ld-11"
    },
    {
      "level": 2,
      "title": "A JSON-based Serialization for Linked Data",
      "number": null,
      "page": 1,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-001-a-json-based-serialization-for-linked-data"
    },
    {
      "level": 2,
      "title": "W3C Recommendation 16 July 2020",
      "number": null,
      "page": 1,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-002-w3c-recommendation-16-july-2020"
    },
    {
      "level": 2,
      "title": "Abstract",
      "number": null,
      "page": 1,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-003-abstract"
    },
    {
      "level": 2,
      "title": "Status of This Document",
      "number": null,
      "page": 1,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-004-status-of-this-document"
    },
    {
      "level": 3,
      "title": "Set of Documents",
      "number": null,
      "page": 2,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-005-set-of-documents"
    },
    {
      "level": 2,
      "title": "Table of Contents",
      "number": null,
      "page": 2,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-006-table-of-contents"
    },
    {
      "level": 2,
      "title": "Introduction",
      "number": "1",
      "page": 4,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-008-1-introduction"
    },
    {
      "level": 3,
      "title": "How to Read this Document",
      "number": "1.1",
      "page": 4,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-009-11-how-to-read-this-document"
    },
    {
      "level": 3,
      "title": "Contributing",
      "number": "1.2",
      "page": 4,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-010-12-contributing"
    },
    {
      "level": 3,
      "title": "Typographical conventions",
      "number": "1.3",
      "page": 5,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-012-13-typographical-conventions"
    },
    {
      "level": 4,
      "title": "Note",
      "number": null,
      "page": 5,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-011-note"
    },
    {
      "level": 3,
      "title": "Terminology",
      "number": "1.4",
      "page": 5,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-007-14-terminology"
    },
    {
      "level": 4,
      "title": "Terms imported from Other Specifications",
      "number": null,
      "page": 5,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-013-terms-imported-from-other-specifications"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 6,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-011-note"
    },
    {
      "level": 4,
      "title": "JSON-LD Specific Term Definitions",
      "number": null,
      "page": 7,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-014-json-ld-specific-term-definitions"
    },
    {
      "level": 3,
      "title": "Design Goals and Rationale",
      "number": "1.5",
      "page": 8,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-015-15-design-goals-and-rationale"
    },
    {
      "level": 3,
      "title": "Data Model Overview",
      "number": "1.6",
      "page": 9,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-017-16-data-model-overview"
    },
    {
      "level": 4,
      "title": "Note",
      "number": null,
      "page": 9,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-016-note"
    },
    {
      "level": 3,
      "title": "Syntax Tokens and Keywords",
      "number": "1.7",
      "page": 9,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-018-17-syntax-tokens-and-keywords"
    },
    {
      "level": 4,
      "title": "Note",
      "number": null,
      "page": 10,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-011-note"
    },
    {
      "level": 4,
      "title": "Note",
      "number": null,
      "page": 10,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-011-note"
    },
    {
      "level": 4,
      "title": "Note",
      "number": null,
      "page": 10,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-011-note"
    },
    {
      "level": 2,
      "title": "Conformance",
      "number": "2",
      "page": 10,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-019-2-conformance"
    },
    {
      "level": 2,
      "title": "Basic Concepts",
      "number": "3",
      "page": 11,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-020-3-basic-concepts"
    },
    {
      "level": 3,
      "title": "The Context",
      "number": "3.1",
      "page": 12,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-022-31-the-context"
    },
    {
      "level": 4,
      "title": "Note",
      "number": null,
      "page": 13,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-023-note"
    },
    {
      "level": 3,
      "title": "IRIs",
      "number": "3.2",
      "page": 13,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-021-32-iris"
    },
    {
      "level": 4,
      "title": "Note",
      "number": null,
      "page": 13,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-023-note"
    },
    {
      "level": 4,
      "title": "Note",
      "number": null,
      "page": 13,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-023-note"
    },
    {
      "level": 3,
      "title": "Node Identifiers",
      "number": "3.3",
      "page": 15,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-024-33-node-identifiers"
    },
    {
      "level": 3,
      "title": "Uses of JSON Objects",
      "number": "3.4",
      "page": 15,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-025-34-uses-of-json-objects"
    },
    {
      "level": 3,
      "title": "Specifying the Type",
      "number": "3.5",
      "page": 16,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-026-35-specifying-the-type"
    },
    {
      "level": 2,
      "title": "Advanced Concepts",
      "number": "4",
      "page": 17,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-027-4-advanced-concepts"
    },
    {
      "level": 3,
      "title": "Advanced Context Usage",
      "number": "4.1",
      "page": 18,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-028-41-advanced-context-usage"
    },
    {
      "level": 4,
      "title": "Note",
      "number": null,
      "page": 19,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-029-note"
    },
    {
      "level": 4,
      "title": "Note",
      "number": null,
      "page": 19,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-029-note"
    },
    {
      "level": 4,
      "title": "JSON-LD 1.1 Processing Mode",
      "number": "4.1.1",
      "page": 19,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-030-411-json-ld-11-processing-mode"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 20,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-031-note"
    },
    {
      "level": 4,
      "title": "Default Vocabulary",
      "number": "4.1.2",
      "page": 20,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-032-412-default-vocabulary"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 21,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-011-note"
    },
    {
      "level": 4,
      "title": "Base IRI",
      "number": "4.1.3",
      "page": 21,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-033-413-base-iri"
    },
    {
      "level": 4,
      "title": "Using the Document Base for the Default Vocabulary",
      "number": "4.1.4",
      "page": 21,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-034-414-using-the-document-base-for-the-default-voca"
    },
    {
      "level": 4,
      "title": "Compact IRIs",
      "number": "4.1.5",
      "page": 22,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-035-415-compact-iris"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 23,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-036-note"
    },
    {
      "level": 4,
      "title": "Aliasing Keywords",
      "number": "4.1.6",
      "page": 24,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-037-416-aliasing-keywords"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 24,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-011-note"
    },
    {
      "level": 4,
      "title": "IRI Expansion within a Context",
      "number": "4.1.7",
      "page": 24,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-038-417-iri-expansion-within-a-context"
    },
    {
      "level": 5,
      "title": "Warning",
      "number": null,
      "page": 25,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-039-warning"
    },
    {
      "level": 5,
      "title": "Warning",
      "number": null,
      "page": 26,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-039-warning"
    },
    {
      "level": 4,
      "title": "Scoped Contexts",
      "number": "4.1.8",
      "page": 26,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-040-418-scoped-contexts"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 27,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-041-note"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 27,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-041-note"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 28,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-042-note"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 28,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-042-note"
    },
    {
      "level": 4,
      "title": "Context Propagation",
      "number": "4.1.9",
      "page": 28,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-043-419-context-propagation"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 29,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-011-note"
    },
    {
      "level": 4,
      "title": "Imported Contexts",
      "number": "4.1.10",
      "page": 29,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-044-4110-imported-contexts"
    },
    {
      "level": 4,
      "title": "Protected Term Definitions",
      "number": "4.1.11",
      "page": 30,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-045-4111-protected-term-definitions"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 33,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-047-note"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 33,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-047-note"
    },
    {
      "level": 3,
      "title": "Describing Values",
      "number": "4.2",
      "page": 33,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-048-42-describing-values"
    },
    {
      "level": 4,
      "title": "Typed Values",
      "number": "4.2.1",
      "page": 33,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-049-421-typed-values"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 34,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-050-note"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 34,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-050-note"
    },
    {
      "level": 4,
      "title": "JSON Literals",
      "number": "4.2.2",
      "page": 34,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-052-422-json-literals"
    },
    {
      "level": 5,
      "title": "Warning",
      "number": null,
      "page": 34,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-051-warning"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 35,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-053-note"
    },
    {
      "level": 4,
      "title": "Type Coercion",
      "number": "4.2.3",
      "page": 35,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-054-423-type-coercion"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 35,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-053-note"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 36,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-055-note"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 37,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-056-note"
    },
    {
      "level": 4,
      "title": "String Internationalization",
      "number": "4.2.4",
      "page": 37,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-057-424-string-internationalization"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 38,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-011-note"
    },
    {
      "level": 5,
      "title": "4.2.4.1 Base DirectionBase Direction",
      "number": "4.2.4.1",
      "page": 39,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": null
    },
    {
      "level": 6,
      "title": "Note",
      "number": null,
      "page": 40,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-058-note"
    },
    {
      "level": 3,
      "title": "Value Ordering",
      "number": "4.3",
      "page": 40,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-059-43-value-ordering"
    },
    {
      "level": 4,
      "title": "Note",
      "number": null,
      "page": 40,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-058-note"
    },
    {
      "level": 4,
      "title": "Note",
      "number": null,
      "page": 41,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-011-note"
    },
    {
      "level": 4,
      "title": "Lists",
      "number": "4.3.1",
      "page": 41,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-060-431-lists"
    },
    {
      "level": 4,
      "title": "Sets",
      "number": "4.3.2",
      "page": 42,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-061-432-sets"
    },
    {
      "level": 4,
      "title": "Using @set with @type",
      "number": "4.3.3",
      "page": 43,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-062-433-using-set-with-type"
    },
    {
      "level": 3,
      "title": "Nested Properties",
      "number": "4.4",
      "page": 43,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-063-44-nested-properties"
    },
    {
      "level": 4,
      "title": "Note",
      "number": null,
      "page": 44,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-064-note"
    },
    {
      "level": 3,
      "title": "Embedding",
      "number": "4.5",
      "page": 44,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-065-45-embedding"
    },
    {
      "level": 4,
      "title": "Identifying Blank Nodes",
      "number": "4.5.1",
      "page": 45,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-066-451-identifying-blank-nodes"
    },
    {
      "level": 3,
      "title": "Indexed Values",
      "number": "4.6",
      "page": 46,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-068-46-indexed-values"
    },
    {
      "level": 4,
      "title": "Data Indexing",
      "number": "4.6.1",
      "page": 46,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-067-461-data-indexing"
    },
    {
      "level": 5,
      "title": "Warning",
      "number": null,
      "page": 47,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-069-warning"
    },
    {
      "level": 5,
      "title": "4.6.1.1 Property-based data indexingProperty-based data indexing",
      "number": "4.6.1.1",
      "page": 48,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": null
    },
    {
      "level": 6,
      "title": "Note",
      "number": null,
      "page": 48,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-070-note"
    },
    {
      "level": 4,
      "title": "Language Indexing",
      "number": "4.6.2",
      "page": 48,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-071-462-language-indexing"
    },
    {
      "level": 4,
      "title": "Node Identifier Indexing",
      "number": "4.6.3",
      "page": 49,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-072-463-node-identifier-indexing"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 51,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-073-note"
    },
    {
      "level": 4,
      "title": "Node Type Indexing",
      "number": "4.6.4",
      "page": 51,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-074-464-node-type-indexing"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 52,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-011-note"
    },
    {
      "level": 3,
      "title": "Included Nodes",
      "number": "4.7",
      "page": 52,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-075-47-included-nodes"
    },
    {
      "level": 3,
      "title": "Reverse Properties",
      "number": "4.8",
      "page": 54,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-076-48-reverse-properties"
    },
    {
      "level": 3,
      "title": "4.9 Named GraphsNamed Graphs",
      "number": "4.9",
      "page": 55,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": null
    },
    {
      "level": 4,
      "title": "Graph Containers",
      "number": "4.9.1",
      "page": 56,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-078-491-graph-containers"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 56,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-077-note"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 56,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-077-note"
    },
    {
      "level": 4,
      "title": "Named Graph Data Indexing",
      "number": "4.9.2",
      "page": 56,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-079-492-named-graph-data-indexing"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 57,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-011-note"
    },
    {
      "level": 4,
      "title": "Named Graph Indexing",
      "number": "4.9.3",
      "page": 57,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-080-493-named-graph-indexing"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 59,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-081-note"
    },
    {
      "level": 3,
      "title": "Loading Documents",
      "number": "4.10",
      "page": 59,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-084-410-loading-documents"
    },
    {
      "level": 2,
      "title": "Forms of JSON-LD",
      "number": "5",
      "page": 59,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-085-5-forms-of-json-ld"
    },
    {
      "level": 3,
      "title": "Expanded Document Form",
      "number": "5.1",
      "page": 59,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-082-51-expanded-document-form"
    },
    {
      "level": 3,
      "title": "Compacted Document Form",
      "number": "5.2",
      "page": 60,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-083-52-compacted-document-form"
    },
    {
      "level": 4,
      "title": "Shortening IRIs",
      "number": "5.2.1",
      "page": 61,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-086-521-shortening-iris"
    },
    {
      "level": 4,
      "title": "Representing Values as Strings",
      "number": "5.2.2",
      "page": 62,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-087-522-representing-values-as-strings"
    },
    {
      "level": 4,
      "title": "Representing Lists as Arrays",
      "number": "5.2.3",
      "page": 63,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-088-523-representing-lists-as-arrays"
    },
    {
      "level": 4,
      "title": "Reversing Node Relationships",
      "number": "5.2.4",
      "page": 63,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-089-524-reversing-node-relationships"
    },
    {
      "level": 4,
      "title": "Indexing Values",
      "number": "5.2.5",
      "page": 64,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-090-525-indexing-values"
    },
    {
      "level": 4,
      "title": "Normalizing Values as Objects",
      "number": "5.2.6",
      "page": 65,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-091-526-normalizing-values-as-objects"
    },
    {
      "level": 4,
      "title": "Representing Singular Values as Arrays",
      "number": "5.2.7",
      "page": 66,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-092-527-representing-singular-values-as-arrays"
    },
    {
      "level": 4,
      "title": "Term Selection",
      "number": "5.2.8",
      "page": 66,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-093-528-term-selection"
    },
    {
      "level": 3,
      "title": "Flattened Document Form",
      "number": "5.3",
      "page": 67,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-094-53-flattened-document-form"
    },
    {
      "level": 3,
      "title": "Framed Document Form",
      "number": "5.4",
      "page": 68,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-095-54-framed-document-form"
    },
    {
      "level": 2,
      "title": "Modifying Behavior with Link Relationships",
      "number": "6",
      "page": 69,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-098-6-modifying-behavior-with-link-relationships"
    },
    {
      "level": 3,
      "title": "Interpreting JSON as JSON-LD",
      "number": "6.1",
      "page": 69,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-096-61-interpreting-json-as-json-ld"
    },
    {
      "level": 3,
      "title": "Alternate Document Location",
      "number": "6.2",
      "page": 70,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-097-62-alternate-document-location"
    },
    {
      "level": 2,
      "title": "7. Embedding JSON-LD in HTML DocumentsEmbedding JSON-LD in HTML Documents",
      "number": "7",
      "page": 71,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": null
    },
    {
      "level": 3,
      "title": "Note",
      "number": null,
      "page": 71,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-100-note"
    },
    {
      "level": 3,
      "title": "Inheriting base IRI from HTML's base element",
      "number": "7.1",
      "page": 71,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-101-71-inheriting-base-iri-from-htmls-base-element"
    },
    {
      "level": 3,
      "title": "Restrictions for contents of JSON-LD script elements",
      "number": "7.2",
      "page": 72,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-103-72-restrictions-for-contents-of-json-ld-script-e"
    },
    {
      "level": 4,
      "title": "Note",
      "number": null,
      "page": 72,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-102-note"
    },
    {
      "level": 3,
      "title": "Locating a Specific JSON-LD Script Element",
      "number": "7.3",
      "page": 72,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-104-73-locating-a-specific-json-ld-script-element"
    },
    {
      "level": 2,
      "title": "Data Model",
      "number": "8",
      "page": 73,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-105-8-data-model"
    },
    {
      "level": 3,
      "title": "Note",
      "number": null,
      "page": 73,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-106-note"
    },
    {
      "level": 3,
      "title": "Note",
      "number": null,
      "page": 73,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-106-note"
    },
    {
      "level": 3,
      "title": "Note",
      "number": null,
      "page": 74,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-107-note"
    },
    {
      "level": 2,
      "title": "JSON-LD Grammar",
      "number": "9",
      "page": 75,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-110-9-json-ld-grammar"
    },
    {
      "level": 3,
      "title": "Note",
      "number": null,
      "page": 75,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-011-note"
    },
    {
      "level": 3,
      "title": "Terms",
      "number": "9.1",
      "page": 75,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-108-91-terms"
    },
    {
      "level": 3,
      "title": "Node Objects",
      "number": "9.2",
      "page": 75,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-109-92-node-objects"
    },
    {
      "level": 3,
      "title": "Frame Objects",
      "number": "9.3",
      "page": 76,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-111-93-frame-objects"
    },
    {
      "level": 3,
      "title": "Graph Objects",
      "number": "9.4",
      "page": 76,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-112-94-graph-objects"
    },
    {
      "level": 3,
      "title": "Value Objects",
      "number": "9.5",
      "page": 76,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-113-95-value-objects"
    },
    {
      "level": 3,
      "title": "Value Patterns",
      "number": "9.6",
      "page": 77,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-115-96-value-patterns"
    },
    {
      "level": 3,
      "title": "Lists and Sets",
      "number": "9.7",
      "page": 77,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-116-97-lists-and-sets"
    },
    {
      "level": 3,
      "title": "Language Maps",
      "number": "9.8",
      "page": 77,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-114-98-language-maps"
    },
    {
      "level": 3,
      "title": "Index Maps",
      "number": "9.9",
      "page": 77,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-117-99-index-maps"
    },
    {
      "level": 3,
      "title": "Property-based Index Maps",
      "number": "9.10",
      "page": 78,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-119-910-property-based-index-maps"
    },
    {
      "level": 3,
      "title": "Id Maps",
      "number": "9.11",
      "page": 78,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-120-911-id-maps"
    },
    {
      "level": 3,
      "title": "Type Maps",
      "number": "9.12",
      "page": 78,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-121-912-type-maps"
    },
    {
      "level": 3,
      "title": "Included Blocks",
      "number": "9.13",
      "page": 78,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-118-913-included-blocks"
    },
    {
      "level": 3,
      "title": "Property Nesting",
      "number": "9.14",
      "page": 78,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-122-914-property-nesting"
    },
    {
      "level": 3,
      "title": "Context Definitions",
      "number": "9.15",
      "page": 78,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-123-915-context-definitions"
    },
    {
      "level": 4,
      "title": "Expanded term definition",
      "number": "9.15.1",
      "page": 79,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-124-9151-expanded-term-definition"
    },
    {
      "level": 3,
      "title": "9.16 KeywordsKeywords",
      "number": "9.16",
      "page": 80,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": null
    },
    {
      "level": 2,
      "title": "Relationship to RDF",
      "number": "10",
      "page": 82,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-126-10-relationship-to-rdf"
    },
    {
      "level": 3,
      "title": "Note",
      "number": null,
      "page": 82,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-125-note"
    },
    {
      "level": 3,
      "title": "Note",
      "number": null,
      "page": 82,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-125-note"
    },
    {
      "level": 3,
      "title": "Serializing/Deserializing RDF",
      "number": "10.1",
      "page": 82,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-127-101-serializingdeserializing-rdf"
    },
    {
      "level": 3,
      "title": "The rdf:JSON Datatype",
      "number": "10.2",
      "page": 83,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-128-102-the-rdfjson-datatype"
    },
    {
      "level": 4,
      "title": "Issue",
      "number": null,
      "page": 84,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-129-issue"
    },
    {
      "level": 3,
      "title": "The i18n Namespace",
      "number": "10.3",
      "page": 84,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-131-103-the-i18n-namespace"
    },
    {
      "level": 3,
      "title": "The rdf:CompoundLiteral class and the rdf:language and rdf:direction properties",
      "number": "10.4",
      "page": 84,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-132-104-the-rdfcompoundliteral-class-and-the-rdflang"
    },
    {
      "level": 2,
      "title": "Security Considerations",
      "number": "11",
      "page": 85,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-133-11-security-considerations"
    },
    {
      "level": 3,
      "title": "Note",
      "number": null,
      "page": 85,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-011-note"
    },
    {
      "level": 2,
      "title": "Privacy Considerations",
      "number": "12",
      "page": 85,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-134-12-privacy-considerations"
    },
    {
      "level": 2,
      "title": "Internationalization Considerations",
      "number": "13",
      "page": 85,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-135-13-internationalization-considerations"
    },
    {
      "level": 2,
      "title": "A. Image Descriptions",
      "number": null,
      "page": 85,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-136-a-image-descriptions"
    },
    {
      "level": 3,
      "title": "A.1 Linked Data Dataset",
      "number": null,
      "page": 85,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-137-a1-linked-data-dataset"
    },
    {
      "level": 2,
      "title": "B. Relationship to Other Linked Data Formats",
      "number": null,
      "page": 86,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-138-b-relationship-to-other-linked-data-formats"
    },
    {
      "level": 3,
      "title": "B.1 Turtle",
      "number": null,
      "page": 86,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-139-b1-turtle"
    },
    {
      "level": 4,
      "title": "B.1.1 Prefix definitions",
      "number": null,
      "page": 86,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-140-b11-prefix-definitions"
    },
    {
      "level": 4,
      "title": "B.1.2 Embedding",
      "number": null,
      "page": 86,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-141-b12-embedding"
    },
    {
      "level": 4,
      "title": "B.1.3 Conversion of native data types",
      "number": null,
      "page": 87,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-143-b13-conversion-of-native-data-types"
    },
    {
      "level": 5,
      "title": "Note",
      "number": null,
      "page": 87,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-142-note"
    },
    {
      "level": 4,
      "title": "B.1.4 Lists",
      "number": null,
      "page": 87,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-144-b14-lists"
    },
    {
      "level": 3,
      "title": "B.2 RDFa",
      "number": null,
      "page": 88,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-145-b2-rdfa"
    },
    {
      "level": 3,
      "title": "B.3 Microdata",
      "number": null,
      "page": 88,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-146-b3-microdata"
    },
    {
      "level": 2,
      "title": "C. IANA Considerations",
      "number": null,
      "page": 89,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-147-c-iana-considerations"
    },
    {
      "level": 3,
      "title": "application/ld+json",
      "number": null,
      "page": 89,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-148-applicationldjson"
    },
    {
      "level": 3,
      "title": "C.1 Examples",
      "number": null,
      "page": 90,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-149-c1-examples"
    },
    {
      "level": 2,
      "title": "D. Open Issues",
      "number": null,
      "page": 91,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-155-d-open-issues"
    },
    {
      "level": 3,
      "title": "Issue 108: Consider context by reference with metadata defer-future-versionprivacy-trackersecurity-tracker",
      "number": null,
      "page": 91,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-150-issue-108-consider-context-by-reference-with-met"
    },
    {
      "level": 3,
      "title": "Issue 191: Compact IRI expansion support for non-trivial prefix term definitions defer-future-versionspec:enhancement",
      "number": null,
      "page": 91,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-151-issue-191-compact-iri-expansion-support-for-non"
    },
    {
      "level": 3,
      "title": "Issue 280: language-maps don't allow separate base direction defer-future-version",
      "number": null,
      "page": 91,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-152-issue-280-language-maps-dont-allow-separate-base"
    },
    {
      "level": 3,
      "title": "Issue 328: @default in @context in JSON-LD core syntax defer-future-version",
      "number": null,
      "page": 91,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-153-issue-328-default-in-context-in-json-ld-core-syn"
    },
    {
      "level": 3,
      "title": "Issue 329: Suggestion about `@prefix` defer-future-version",
      "number": null,
      "page": 91,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": null
    },
    {
      "level": 3,
      "title": "Issue 335: Type Coercion / Node Conversion: @coerce keyword or similar defer-future-version",
      "number": null,
      "page": 91,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-154-issue-335-type-coercion-node-conversion-coerce-k"
    },
    {
      "level": 2,
      "title": "E. Changes since 1.0 Recommendation of 16 January 2014",
      "number": null,
      "page": 91,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-156-e-changes-since-10-recommendation-of-16-january"
    },
    {
      "level": 2,
      "title": "F. Changes since JSON-LD Community Group Final Report",
      "number": null,
      "page": 92,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-157-f-changes-since-json-ld-community-group-final-re"
    },
    {
      "level": 2,
      "title": "G. Changes since Candidate Release of 12 December 2019",
      "number": null,
      "page": 92,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-158-g-changes-since-candidate-release-of-12-december"
    },
    {
      "level": 2,
      "title": "H. Changes since Proposed Recommendation Release of 7 May 2020",
      "number": null,
      "page": 92,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-159-h-changes-since-proposed-recommendation-release"
    },
    {
      "level": 2,
      "title": "I. Acknowledgements",
      "number": null,
      "page": 93,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-160-i-acknowledgements"
    },
    {
      "level": 2,
      "title": "J. References",
      "number": null,
      "page": 93,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-161-j-references"
    },
    {
      "level": 3,
      "title": "J.1 Normative references",
      "number": null,
      "page": 93,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-162-j1-normative-references"
    },
    {
      "level": 3,
      "title": "J.2 Informative references",
      "number": null,
      "page": 94,
      "pageLabel": null,
      "confidence": null,
      "evidence": null,
      "source": "outline",
      "section": "sec-163-j2-informative-references"
    }
  ],
  "sections": [
    {
      "id": "sec-front-matter",
      "number": null,
      "title": "Front matter",
      "level": 1,
      "pageStart": 1,
      "pageEnd": 1,
      "labelStart": null,
      "labelEnd": null,
      "words": 1,
      "summary": null,
      "keywords": [],
      "extract": "W3C",
      "extractCut": false
    },
    {
      "id": "sec-000-json-ld-11",
      "number": null,
      "title": "JSON-LD 1.1",
      "level": 1,
      "pageStart": 1,
      "pageEnd": 1,
      "labelStart": null,
      "labelEnd": null,
      "words": 310,
      "summary": null,
      "keywords": [
        {
          "term": "digital bazaar",
          "heading": false
        },
        {
          "term": "pierre-antoine champin",
          "heading": false
        },
        {
          "term": "json-ld",
          "heading": true
        },
        {
          "term": "markus lanthaler",
          "heading": false
        },
        {
          "term": "dave longley",
          "heading": false
        },
        {
          "term": "gregg kellogg",
          "heading": false
        },
        {
          "term": "manu sporny",
          "heading": false
        },
        {
          "term": "linked data",
          "heading": false
        }
      ],
      "extract": "This version: https://www.w3.org/TR/2020/REC-json-ld11-20200716/ Latest published version: https://www.w3.org/TR/json-ld11/ Latest editor's draft: https://w3c.github.io/json-ld-syntax/ Test suite: https://w3c.github.io/json-ld-api/tests/ Implementation report: https://w3c.github.io/json-ld-api/reports/ Previous version: https://www.w3.org/TR/2020/PR-json-ld11-20200507/ Previous Recommendation:",
      "extractCut": true
    },
    {
      "id": "sec-001-a-json-based-serialization-for-linked-data",
      "number": null,
      "title": "A JSON-based Serialization for Linked Data",
      "level": 2,
      "pageStart": 1,
      "pageEnd": 1,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-002-w3c-recommendation-16-july-2020",
      "number": null,
      "title": "W3C Recommendation 16 July 2020",
      "level": 2,
      "pageStart": 1,
      "pageEnd": 1,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-003-abstract",
      "number": null,
      "title": "Abstract",
      "level": 2,
      "pageStart": 1,
      "pageEnd": 1,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-004-status-of-this-document",
      "number": null,
      "title": "Status of This Document",
      "level": 2,
      "pageStart": 1,
      "pageEnd": 2,
      "labelStart": null,
      "labelEnd": null,
      "words": 425,
      "summary": null,
      "keywords": [
        {
          "term": "w3c patent",
          "heading": false
        },
        {
          "term": "json-ld working",
          "heading": false
        },
        {
          "term": "working group",
          "heading": false
        },
        {
          "term": "document",
          "heading": true
        },
        {
          "term": "default vocabulary",
          "heading": false
        },
        {
          "term": "recommendation",
          "heading": false
        },
        {
          "term": "advanced",
          "heading": false
        },
        {
          "term": "base",
          "heading": false
        }
      ],
      "extract": "There is a live JSON-LD playground that is capable of demonstrating the features described in this document. This specification is intended to supersede the JSON-LD 1.0 [JSON-LD10] specification. This document was published by the JSON-LD Working Group as a Recommendation. GitHub Issues are preferred for discussion of this specification. Alternatively, you can send comments to our mailing list. Please send them to",
      "extractCut": true
    },
    {
      "id": "sec-005-set-of-documents",
      "number": null,
      "title": "Set of Documents",
      "level": 3,
      "pageStart": 2,
      "pageEnd": 2,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-006-table-of-contents",
      "number": null,
      "title": "Table of Contents",
      "level": 2,
      "pageStart": 2,
      "pageEnd": 4,
      "labelStart": null,
      "labelEnd": null,
      "words": 1002,
      "summary": null,
      "keywords": [
        {
          "term": "rdf graph",
          "heading": false
        },
        {
          "term": "linked data",
          "heading": false
        },
        {
          "term": "json-ld script",
          "heading": false
        },
        {
          "term": "software developers",
          "heading": false
        },
        {
          "term": "named graph",
          "heading": false
        },
        {
          "term": "data indexing",
          "heading": false
        },
        {
          "term": "existing json",
          "heading": false
        },
        {
          "term": "index maps",
          "heading": false
        }
      ],
      "extract": "4. 4.4 Nested Properties 5. 4.5 Embedding 1. 4.5.1 Identifying Blank Nodes 6. 4.6 Indexed Values 1. 4.6.1 Data Indexing 1. 4.6.1.1 Property-based data indexing 2. 4.6.2 Language Indexing 3. 4.6.3 Node Identifier Indexing 4. 4.6.4 Node Type Indexing 7. 4.7 Included Nodes 8. 4.8 Reverse Properties 9. 4.9 Named Graphs 1. 4.9.1 Graph Containers 2. 4.9.2 Named Graph Data Indexing 3. 4.9.3 Named Graph Indexing 10. 4.10",
      "extractCut": true
    },
    {
      "id": "sec-007-14-terminology",
      "number": "1.4",
      "title": "Terminology",
      "level": 3,
      "pageStart": 4,
      "pageEnd": 4,
      "labelStart": null,
      "labelEnd": null,
      "words": 18,
      "summary": null,
      "keywords": [],
      "extract": "This document can highlight changes since the JSON-LD 1.0 version. Select to highlight changes. This section is non-normative.",
      "extractCut": false
    },
    {
      "id": "sec-008-1-introduction",
      "number": "1",
      "title": "Introduction",
      "level": 2,
      "pageStart": 4,
      "pageEnd": 4,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-009-11-how-to-read-this-document",
      "number": "1.1",
      "title": "How to Read this Document",
      "level": 3,
      "pageStart": 4,
      "pageEnd": 4,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-010-12-contributing",
      "number": "1.2",
      "title": "Contributing",
      "level": 3,
      "pageStart": 4,
      "pageEnd": 5,
      "labelStart": null,
      "labelEnd": null,
      "words": 290,
      "summary": null,
      "keywords": [
        {
          "term": "monospace font",
          "heading": false
        },
        {
          "term": "definition reference",
          "heading": false
        },
        {
          "term": "definition itself",
          "heading": false
        },
        {
          "term": "active link",
          "heading": false
        },
        {
          "term": "external definition",
          "heading": false
        },
        {
          "term": "real-time discussion",
          "heading": false
        },
        {
          "term": "markup",
          "heading": false
        },
        {
          "term": "working group",
          "heading": false
        }
      ],
      "extract": "There are a number of ways that one may participate in the development of this specification: Technical discussion typically occurs on the working group mailing list: public-json-ld-wg@w3.org The working group uses #json-ld IRC channel is available for real-time discussion on irc.w3.org. The #json-ld IRC channel is also available for real-time discussion on irc.freenode.net. This section is non-normative. The",
      "extractCut": true
    },
    {
      "id": "sec-011-note",
      "number": null,
      "title": "Note",
      "level": 4,
      "pageStart": 5,
      "pageEnd": 5,
      "labelStart": null,
      "labelEnd": null,
      "words": 229,
      "summary": null,
      "keywords": [
        {
          "term": "brackets surrounding",
          "heading": false
        },
        {
          "term": "surrounding zero",
          "heading": false
        },
        {
          "term": "json serialization",
          "heading": false
        },
        {
          "term": "green",
          "heading": false
        },
        {
          "term": "infra",
          "heading": false
        },
        {
          "term": "ecmascript",
          "heading": false
        },
        {
          "term": "json-ld",
          "heading": false
        }
      ],
      "extract": "Notes are in light green boxes with a green left border and with a \"Note\" header in green. Notes are always informative. This section is non-normative. This document uses the following terms as defined in external specifications and defines terms specific to JSON-LD. Terms imported from ECMAScript Language Specification [ECMASCRIPT], The JavaScript Object Notation (JSON) Data Interchange Format [RFC8259], Infra",
      "extractCut": true
    },
    {
      "id": "sec-012-13-typographical-conventions",
      "number": "1.3",
      "title": "Typographical conventions",
      "level": 3,
      "pageStart": 5,
      "pageEnd": 5,
      "labelStart": null,
      "labelEnd": null,
      "words": 59,
      "summary": null,
      "keywords": [
        {
          "term": "monospace",
          "heading": false
        },
        {
          "term": "border",
          "heading": false
        },
        {
          "term": "colored",
          "heading": false
        }
      ],
      "extract": "variable Example 1 Examples are in light khaki boxes, with khaki left border, and with a numbered \"Example\" header in khaki. Examples are always informative. The content of the example is in monospace font and may be syntax colored. Examples may have tabbed navigation buttons to show the results of transforming an example into other representations. 1.4 Terminology §",
      "extractCut": false
    },
    {
      "id": "sec-013-terms-imported-from-other-specifications",
      "number": null,
      "title": "Terms imported from Other Specifications",
      "level": 4,
      "pageStart": 5,
      "pageEnd": 7,
      "labelStart": null,
      "labelEnd": null,
      "words": 1734,
      "summary": null,
      "keywords": [
        {
          "term": "graph entry",
          "heading": false
        },
        {
          "term": "blank node",
          "heading": false
        },
        {
          "term": "map entry",
          "heading": false
        },
        {
          "term": "graph object",
          "heading": false
        },
        {
          "term": "datatype iri",
          "heading": false
        },
        {
          "term": "rdf graph",
          "heading": false
        },
        {
          "term": "named graph",
          "heading": false
        },
        {
          "term": "relative iri",
          "heading": false
        }
      ],
      "extract": "In the internal representation a JSON object is described as a map (see [INFRA]), composed of entries with key/value pairs. In the Application Programming Interface, a map is described using a [WEBIDL] record. null The 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 null, explicitly decouples a term's association with an",
      "extractCut": true
    },
    {
      "id": "sec-014-json-ld-specific-term-definitions",
      "number": null,
      "title": "JSON-LD Specific Term Definitions",
      "level": 4,
      "pageStart": 7,
      "pageEnd": 8,
      "labelStart": null,
      "labelEnd": null,
      "words": 904,
      "summary": null,
      "keywords": [
        {
          "term": "json-ld",
          "heading": true
        },
        {
          "term": "node object",
          "heading": false
        },
        {
          "term": "json-ld value",
          "heading": false
        },
        {
          "term": "term",
          "heading": true
        },
        {
          "term": "map value",
          "heading": false
        },
        {
          "term": "language map",
          "heading": false
        },
        {
          "term": "normative description",
          "heading": false
        },
        {
          "term": "object whose",
          "heading": false
        }
      ],
      "extract": "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 section in JSON-LD 1.1 API for a formal description. JSON-LD value A JSON-LD value is a string, a number, true or false, a typed value, or a language-tagged string. It represents an RDF literal. keyword A string that is specific to JSON-LD, described in the Syntax Tokens and",
      "extractCut": true
    },
    {
      "id": "sec-015-15-design-goals-and-rationale",
      "number": "1.5",
      "title": "Design Goals and Rationale",
      "level": 3,
      "pageStart": 8,
      "pageEnd": 9,
      "labelStart": null,
      "labelEnd": null,
      "words": 531,
      "summary": null,
      "keywords": [
        {
          "term": "zero edits",
          "heading": false
        },
        {
          "term": "directed graph",
          "heading": false
        },
        {
          "term": "json-ld document",
          "heading": false
        },
        {
          "term": "json document",
          "heading": false
        },
        {
          "term": "rdf",
          "heading": false
        },
        {
          "term": "data structures",
          "heading": false
        },
        {
          "term": "data model",
          "heading": false
        },
        {
          "term": "json-based",
          "heading": false
        }
      ],
      "extract": "Compatibility A JSON-LD document is always a valid JSON document. This ensures that all of the standard JSON libraries work seamlessly with JSON-LD documents. Expressiveness The syntax serializes labeled directed graphs. This ensures that almost every real world data model can be expressed. Terseness The JSON-LD syntax is very terse and human readable, requiring as little effort as possible from the developer. Zero",
      "extractCut": true
    },
    {
      "id": "sec-016-note",
      "number": null,
      "title": "Note",
      "level": 4,
      "pageStart": 9,
      "pageEnd": 9,
      "labelStart": null,
      "labelEnd": null,
      "words": 188,
      "summary": null,
      "keywords": [
        {
          "term": "base iri",
          "heading": false
        },
        {
          "term": "named graph",
          "heading": false
        },
        {
          "term": "data indexing",
          "heading": false
        },
        {
          "term": "yaml",
          "heading": false
        },
        {
          "term": "keywords",
          "heading": false
        },
        {
          "term": "binary",
          "heading": false
        }
      ],
      "extract": "Although not discussed in this specification, parallel work using YAML Ain’t Markup Language (YAML™) Version 1.2 [YAML] and binary representations such as Concise Binary Object Representation (CBOR) [RFC7049] could be used to map into the internal representation, allowing the JSON-LD 1.1 API [JSON-LD11-API] to operate as if the source was a JSON document. This section is non-normative. JSON-LD specifies a number of",
      "extractCut": true
    },
    {
      "id": "sec-017-16-data-model-overview",
      "number": "1.6",
      "title": "Data Model Overview",
      "level": 3,
      "pageStart": 9,
      "pageEnd": 9,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-018-17-syntax-tokens-and-keywords",
      "number": "1.7",
      "title": "Syntax Tokens and Keywords",
      "level": 3,
      "pageStart": 9,
      "pageEnd": 10,
      "labelStart": null,
      "labelEnd": null,
      "words": 802,
      "summary": null,
      "keywords": [
        {
          "term": "node objects",
          "heading": false
        },
        {
          "term": "node identifiers",
          "heading": false
        },
        {
          "term": "typed values",
          "heading": false
        },
        {
          "term": "keyword",
          "heading": false
        },
        {
          "term": "string internationalization",
          "heading": false
        },
        {
          "term": "json-ld document",
          "heading": false
        },
        {
          "term": "short-hand names",
          "heading": false
        },
        {
          "term": "compact iri",
          "heading": false
        }
      ],
      "extract": "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 express specific identifiers in a compact manner. The @context keyword is described in detail in § 3.1 The Context. @direction Used 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",
      "extractCut": true
    },
    {
      "id": "sec-019-2-conformance",
      "number": "2",
      "title": "Conformance",
      "level": 2,
      "pageStart": 10,
      "pageEnd": 11,
      "labelStart": null,
      "labelEnd": null,
      "words": 443,
      "summary": null,
      "keywords": [
        {
          "term": "unambiguous identifiers",
          "heading": false
        },
        {
          "term": "normative statements",
          "heading": false
        },
        {
          "term": "homepage",
          "heading": false
        },
        {
          "term": "iri",
          "heading": false
        },
        {
          "term": "dcterms",
          "heading": false
        },
        {
          "term": "rfc",
          "heading": false
        },
        {
          "term": "developers",
          "heading": false
        },
        {
          "term": "iris",
          "heading": false
        }
      ],
      "extract": "As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative. The key words MAY, MUST, MUST NOT, RECOMMENDED, SHOULD, and SHOULD NOT in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. A",
      "extractCut": true
    },
    {
      "id": "sec-020-3-basic-concepts",
      "number": "3",
      "title": "Basic Concepts",
      "level": 2,
      "pageStart": 11,
      "pageEnd": 12,
      "labelStart": null,
      "labelEnd": null,
      "words": 466,
      "summary": null,
      "keywords": [
        {
          "term": "shortcut terms",
          "heading": false
        },
        {
          "term": "expanded term",
          "heading": false
        },
        {
          "term": "losing accuracy",
          "heading": false
        },
        {
          "term": "json-ld document",
          "heading": false
        },
        {
          "term": "term definitions",
          "heading": false
        },
        {
          "term": "manu sporny",
          "heading": false
        },
        {
          "term": "iris",
          "heading": false
        },
        {
          "term": "communicate",
          "heading": false
        }
      ],
      "extract": "Example 2: Sample JSON document { \"name\": \"Manu Sporny\", \"homepage\": \"http://manu.sporny.org/\", \"image\": \"http://manu.sporny.org/images/manu.png\" } Input Example 3: Sample JSON-LD document using full IRIs instead of terms Expanded (Input) Statements Turtle (Result) Open in playground { \"http://schema.org/name\": \"Manu Sporny\", \"http://schema.org/url\": { \"@id\": \"http://manu.sporny.org/\" ↑ The '@id' keyword means 'This",
      "extractCut": true
    },
    {
      "id": "sec-021-32-iris",
      "number": "3.2",
      "title": "IRIs",
      "level": 3,
      "pageStart": 12,
      "pageEnd": 12,
      "labelStart": null,
      "labelEnd": null,
      "words": 63,
      "summary": null,
      "keywords": [
        {
          "term": "embedded",
          "heading": false
        },
        {
          "term": "document",
          "heading": false
        },
        {
          "term": "retrieved",
          "heading": false
        }
      ],
      "extract": "Contexts can either be directly embedded into the document (an embedded context) or be referenced using a URL. Assuming the context document in the 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 JSON-LD document to be expressed much more concisely as shown in the example below: \"http://schema.org/image\": { \"@id\":",
      "extractCut": true
    },
    {
      "id": "sec-022-31-the-context",
      "number": "3.1",
      "title": "The Context",
      "level": 3,
      "pageStart": 12,
      "pageEnd": 13,
      "labelStart": null,
      "labelEnd": null,
      "words": 288,
      "summary": null,
      "keywords": [
        {
          "term": "context",
          "heading": true
        },
        {
          "term": "context document",
          "heading": false
        },
        {
          "term": "json-ld context",
          "heading": false
        },
        {
          "term": "referenced context",
          "heading": false
        },
        {
          "term": "shorthand",
          "heading": false
        },
        {
          "term": "homepage",
          "heading": false
        },
        {
          "term": "external json-ld",
          "heading": false
        },
        {
          "term": "value associated",
          "heading": false
        }
      ],
      "extract": "Context Example 4: Context for the sample document in the previous section { \"@context\": { \"name\": \"http://schema.org/name\", ↑ This means that 'name' is shorthand for 'http://schema.org/name' \"image\": { \"@id\": \"http://schema.org/image\", ↑ This means that 'image' is shorthand for 'http://schema.org/image' \"@type\": \"@id\" ↑ This means that a string value associated with 'image' should be interpreted as an identifier",
      "extractCut": true
    },
    {
      "id": "sec-023-note",
      "number": null,
      "title": "Note",
      "level": 4,
      "pageStart": 13,
      "pageEnd": 15,
      "labelStart": null,
      "labelEnd": null,
      "words": 1293,
      "summary": null,
      "keywords": [
        {
          "term": "relative iri",
          "heading": false
        },
        {
          "term": "node objects",
          "heading": false
        },
        {
          "term": "iri references",
          "heading": false
        },
        {
          "term": "literal nodes",
          "heading": false
        },
        {
          "term": "json objects",
          "heading": false
        },
        {
          "term": "base iri",
          "heading": false
        },
        {
          "term": "value objects",
          "heading": false
        },
        {
          "term": "json-ld context",
          "heading": false
        }
      ],
      "extract": "Resolution of relative references to context URLs also applies to remote context documents, as they may themselves contain references to other contexts. JSON documents can be interpreted as JSON-LD without having to be modified by referencing a context via an HTTP Link Header as described in § 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].",
      "extractCut": true
    },
    {
      "id": "sec-024-33-node-identifiers",
      "number": "3.3",
      "title": "Node Identifiers",
      "level": 3,
      "pageStart": 15,
      "pageEnd": 15,
      "labelStart": null,
      "labelEnd": null,
      "words": 29,
      "summary": null,
      "keywords": [],
      "extract": "Input Example 13: Identifying a node Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { ... \"name\": \"http://schema.org/name\" }, \"@id\": \"http://me.markus-lanthaler.com/\", \"name\": \"Markus Lanthaler\", ... }",
      "extractCut": false
    },
    {
      "id": "sec-025-34-uses-of-json-objects",
      "number": "3.4",
      "title": "Uses of JSON Objects",
      "level": 3,
      "pageStart": 15,
      "pageEnd": 16,
      "labelStart": null,
      "labelEnd": null,
      "words": 415,
      "summary": null,
      "keywords": [
        {
          "term": "named graph",
          "heading": false
        },
        {
          "term": "node objects",
          "heading": false
        },
        {
          "term": "graph indexing",
          "heading": false
        },
        {
          "term": "normative definition",
          "heading": false
        },
        {
          "term": "multiple node",
          "heading": false
        },
        {
          "term": "index maps",
          "heading": false
        },
        {
          "term": "type maps",
          "heading": false
        },
        {
          "term": "context definition",
          "heading": false
        }
      ],
      "extract": "Allows multiple values differing in their associated language to be indexed by language tag. See § 4.6.2 Language Indexing for more information, and § 9.8 Language Maps for the normative definition. Index Maps Allows multiple values (node objects or value objects) to be indexed by an associated @index. See § 4.6.1 Data Indexing for more information, and § 9.9 Index Maps for the normative definition. Id Maps Allows",
      "extractCut": true
    },
    {
      "id": "sec-026-35-specifying-the-type",
      "number": "3.5",
      "title": "Specifying the Type",
      "level": 3,
      "pageStart": 16,
      "pageEnd": 17,
      "labelStart": null,
      "labelEnd": null,
      "words": 503,
      "summary": null,
      "keywords": [
        {
          "term": "typed value",
          "heading": false
        },
        {
          "term": "specifying",
          "heading": true
        },
        {
          "term": "value ordering",
          "heading": false
        },
        {
          "term": "create typed",
          "heading": false
        },
        {
          "term": "describing values",
          "heading": false
        },
        {
          "term": "type",
          "heading": true
        },
        {
          "term": "turtle open",
          "heading": false
        },
        {
          "term": "nested properties",
          "heading": false
        }
      ],
      "extract": "Input Example 14: Specifying the type for a node Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { ... \"givenName\": \"http://schema.org/givenName\", \"familyName\": \"http://schema.org/familyName\" }, \"@id\": \"http://me.markus-lanthaler.com/\", \"@type\": \"http://schema.org/Person\", \"givenName\": \"Markus\", \"familyName\": \"Lanthaler\", ... } Input Example 15: Specifying multiple types for a",
      "extractCut": true
    },
    {
      "id": "sec-027-4-advanced-concepts",
      "number": "4",
      "title": "Advanced Concepts",
      "level": 2,
      "pageStart": 17,
      "pageEnd": 18,
      "labelStart": null,
      "labelEnd": null,
      "words": 334,
      "summary": null,
      "keywords": [
        {
          "term": "indexed values",
          "heading": false
        },
        {
          "term": "advanced",
          "heading": true
        },
        {
          "term": "manu sporny",
          "heading": false
        },
        {
          "term": "context definition",
          "heading": false
        },
        {
          "term": "reverse properties",
          "heading": false
        },
        {
          "term": "document form",
          "heading": false
        },
        {
          "term": "turtle open",
          "heading": false
        },
        {
          "term": "knows",
          "heading": false
        }
      ],
      "extract": "Input Example 17: Referencing Objects on the Web Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { \"@vocab\": \"http://xmlns.com/foaf/0.1/\", \"knows\": {\"@type\": \"@id\"} }, \"@id\": \"http://manu.sporny.org/about#manu\", \"@type\": \"Person\", \"name\": \"Manu Sporny\", \"knows\": \"https://greggkellogg.net/foaf#me\" } Input Example 18: Embedding Objects Compacted (Input) Expanded (Result)",
      "extractCut": true
    },
    {
      "id": "sec-028-41-advanced-context-usage",
      "number": "4.1",
      "title": "Advanced Context Usage",
      "level": 3,
      "pageStart": 18,
      "pageEnd": 19,
      "labelStart": null,
      "labelEnd": null,
      "words": 378,
      "summary": null,
      "keywords": [
        {
          "term": "empire state",
          "heading": false
        },
        {
          "term": "imported contexts",
          "heading": false
        },
        {
          "term": "scoped contexts",
          "heading": false
        },
        {
          "term": "story landmark",
          "heading": false
        },
        {
          "term": "local contexts",
          "heading": false
        },
        {
          "term": "state building",
          "heading": false
        },
        {
          "term": "multiple contexts",
          "heading": false
        },
        {
          "term": "york city",
          "heading": false
        }
      ],
      "extract": "Input Example 19: Using multiple contexts Compacted (Input) Expanded (Result) Statements Turtle Open in playground [ { \"@context\": \"https://json-ld.org/contexts/person.jsonld\", \"name\": \"Manu Sporny\", \"homepage\": \"http://manu.sporny.org/\", \"depiction\": \"http://twitter.com/account/profile_image/manusporny\" }, { \"@context\": \"https://json-ld.org/contexts/place.jsonld\", \"name\": \"The Empire State Building\", \"description\":",
      "extractCut": true
    },
    {
      "id": "sec-029-note",
      "number": null,
      "title": "Note",
      "level": 4,
      "pageStart": 19,
      "pageEnd": 19,
      "labelStart": null,
      "labelEnd": null,
      "words": 217,
      "summary": null,
      "keywords": [
        {
          "term": "terms starting",
          "heading": false
        },
        {
          "term": "turtle open",
          "heading": false
        },
        {
          "term": "character",
          "heading": false
        },
        {
          "term": "json-ld",
          "heading": false
        },
        {
          "term": "empty",
          "heading": false
        },
        {
          "term": "playground",
          "heading": false
        }
      ],
      "extract": "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 streaming parsers more efficient. Documents that do not have the context at the top are still conformant JSON-LD. Note To avoid forward-compatibility issues, terms starting with an @ character followed exclusively by one or more ALPHA characters (see [RFC5234]) are to be avoided",
      "extractCut": true
    },
    {
      "id": "sec-030-411-json-ld-11-processing-mode",
      "number": "4.1.1",
      "title": "JSON-LD 1.1 Processing Mode",
      "level": 4,
      "pageStart": 19,
      "pageEnd": 20,
      "labelStart": null,
      "labelEnd": null,
      "words": 123,
      "summary": null,
      "keywords": [
        {
          "term": "processing mode",
          "heading": true
        },
        {
          "term": "json-ld",
          "heading": true
        },
        {
          "term": "api option",
          "heading": false
        },
        {
          "term": "encountered",
          "heading": false
        }
      ],
      "extract": "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 processing 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 option. Explicitly setting the processing mode to json-ld-1.1 will prohibit JSON-LD 1.0 processors from incorrectly processing a",
      "extractCut": true
    },
    {
      "id": "sec-031-note",
      "number": null,
      "title": "Note",
      "level": 5,
      "pageStart": 20,
      "pageEnd": 20,
      "labelStart": null,
      "labelEnd": null,
      "words": 235,
      "summary": null,
      "keywords": [
        {
          "term": "vocabulary mapping",
          "heading": false
        },
        {
          "term": "relative iri",
          "heading": false
        },
        {
          "term": "iri reference",
          "heading": false
        },
        {
          "term": "active context",
          "heading": false
        },
        {
          "term": "json-ld",
          "heading": false
        },
        {
          "term": "expanding",
          "heading": false
        }
      ],
      "extract": "Setting the processing mode explicitly to json-ld-1.1 is RECOMMENDED to prevent a JSON-LD 1.0 processor from incorrectly processing a JSON-LD 1.1 document and producing different results. This section is non-normative. At 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 is used as the vocabulary mapping and is used for all",
      "extractCut": true
    },
    {
      "id": "sec-032-412-default-vocabulary",
      "number": "4.1.2",
      "title": "Default Vocabulary",
      "level": 4,
      "pageStart": 20,
      "pageEnd": 21,
      "labelStart": null,
      "labelEnd": null,
      "words": 168,
      "summary": null,
      "keywords": [
        {
          "term": "default vocabulary",
          "heading": true
        },
        {
          "term": "brew eats",
          "heading": false
        },
        {
          "term": "databaseid",
          "heading": false
        },
        {
          "term": "vocab",
          "heading": false
        },
        {
          "term": "restaurant",
          "heading": false
        }
      ],
      "extract": "Input Example 24: Using a default vocabulary Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { \"@vocab\": \"http://example.com/vocab/\" }, \"@id\": \"http://example.org/places#BrewEats\", \"@type\": \"Restaurant\", \"name\": \"Brew Eats\" ... } Input Example 25: Using the null keyword to ignore data Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": {",
      "extractCut": true
    },
    {
      "id": "sec-033-413-base-iri",
      "number": "4.1.3",
      "title": "Base IRI",
      "level": 4,
      "pageStart": 21,
      "pageEnd": 21,
      "labelStart": null,
      "labelEnd": null,
      "words": 271,
      "summary": null,
      "keywords": [
        {
          "term": "base iri",
          "heading": true
        },
        {
          "term": "relative iri",
          "heading": false
        },
        {
          "term": "document base",
          "heading": false
        },
        {
          "term": "iri references",
          "heading": false
        },
        {
          "term": "vocabulary mapping",
          "heading": false
        },
        {
          "term": "simple document",
          "heading": false
        },
        {
          "term": "turtle open",
          "heading": false
        },
        {
          "term": "just simple",
          "heading": false
        }
      ],
      "extract": "For example, if a JSON-LD document was retrieved from http://example.com/document.jsonld, relative IRI references would resolve against that IRI: This document uses an empty @id, which resolves to the document base. However, if the document is moved to a different location, the IRI would change. To prevent this without having to use an IRI, a context may define an @base mapping, to overwrite the base IRI for the",
      "extractCut": true
    },
    {
      "id": "sec-034-414-using-the-document-base-for-the-default-voca",
      "number": "4.1.4",
      "title": "Using the Document Base for the Default Vocabulary",
      "level": 4,
      "pageStart": 21,
      "pageEnd": 22,
      "labelStart": null,
      "labelEnd": null,
      "words": 246,
      "summary": null,
      "keywords": [
        {
          "term": "compact iri",
          "heading": false
        },
        {
          "term": "prefix",
          "heading": false
        },
        {
          "term": "vocabulary",
          "heading": true
        },
        {
          "term": "suffix",
          "heading": false
        },
        {
          "term": "active context",
          "heading": false
        },
        {
          "term": "foaf",
          "heading": false
        }
      ],
      "extract": "Example 29: Using \"#\" as the vocabulary mapping { \"@context\": { If this document were located at http://example/document, it would expand as follows: This section is non-normative. A 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 is a short string identifying a particular IRI in a JSON-LD document. For example, the",
      "extractCut": true
    },
    {
      "id": "sec-035-415-compact-iris",
      "number": "4.1.5",
      "title": "Compact IRIs",
      "level": 4,
      "pageStart": 22,
      "pageEnd": 23,
      "labelStart": null,
      "labelEnd": null,
      "words": 255,
      "summary": null,
      "keywords": [
        {
          "term": "compact iris",
          "heading": true
        },
        {
          "term": "gen-delim character",
          "heading": false
        },
        {
          "term": "uri gen-delim",
          "heading": false
        },
        {
          "term": "brew eats",
          "heading": false
        },
        {
          "term": "expanded term",
          "heading": false
        },
        {
          "term": "prefix entry",
          "heading": false
        },
        {
          "term": "term definition",
          "heading": false
        },
        {
          "term": "compact iri",
          "heading": false
        }
      ],
      "extract": "Input \"@version\": 1.1, \"@base\": \"http://example/document\", \"@vocab\": \"#\" }, \"@id\": \"http://example.org/places#BrewEats\", \"@type\": \"Restaurant\", \"name\": \"Brew Eats\" ... } Result Example 30: Using \"#\" as the vocabulary mapping (expanded) Expanded (Result) Statements Turtle Open in playground [{ \"@id\": \"http://example.org/places#BrewEats\", \"@type\": [\"http://example/document#Restaurant\"], \"http://example/document#name\":",
      "extractCut": true
    },
    {
      "id": "sec-036-note",
      "number": null,
      "title": "Note",
      "level": 5,
      "pageStart": 23,
      "pageEnd": 24,
      "labelStart": null,
      "labelEnd": null,
      "words": 593,
      "summary": null,
      "keywords": [
        {
          "term": "compact iri",
          "heading": false
        },
        {
          "term": "iri property",
          "heading": false
        },
        {
          "term": "iri generation",
          "heading": false
        },
        {
          "term": "expanded term",
          "heading": false
        },
        {
          "term": "term definitions",
          "heading": false
        },
        {
          "term": "term selection",
          "heading": false
        },
        {
          "term": "generation context",
          "heading": false
        },
        {
          "term": "processing mode",
          "heading": false
        }
      ],
      "extract": "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 behavior of processing existing JSON-LD documents, but creates a slight change when compacting documents using Compact IRIs. The behavior when compacting can be illustrated by considering the following input document in expanded form: Using the following context in the 1.0",
      "extractCut": true
    },
    {
      "id": "sec-037-416-aliasing-keywords",
      "number": "4.1.6",
      "title": "Aliasing Keywords",
      "level": 4,
      "pageStart": 24,
      "pageEnd": 24,
      "labelStart": null,
      "labelEnd": null,
      "words": 32,
      "summary": null,
      "keywords": [
        {
          "term": "aliasing",
          "heading": true
        },
        {
          "term": "keywords",
          "heading": true
        },
        {
          "term": "url",
          "heading": false
        }
      ],
      "extract": "Input Example 38: Aliasing keywords Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { \"url\": \"@id\", \"a\": \"@type\", \"name\": \"http://xmlns.com/foaf/0.1/name\" }, \"url\": \"http://example.com/about#gregg\", \"a\": \"http://xmlns.com/foaf/0.1/Person\", \"name\": \"Gregg Kellogg\" }",
      "extractCut": false
    },
    {
      "id": "sec-038-417-iri-expansion-within-a-context",
      "number": "4.1.7",
      "title": "IRI Expansion within a Context",
      "level": 4,
      "pageStart": 24,
      "pageEnd": 25,
      "labelStart": null,
      "labelEnd": null,
      "words": 133,
      "summary": null,
      "keywords": [
        {
          "term": "iri",
          "heading": true
        },
        {
          "term": "age",
          "heading": false
        },
        {
          "term": "foaf",
          "heading": false
        },
        {
          "term": "expansion",
          "heading": true
        }
      ],
      "extract": "Example 39: IRI expansion within a context { \"@context\": { \"xsd\": \"http://www.w3.org/2001/XMLSchema#\", \"name\": \"http://xmlns.com/foaf/0.1/name\", \"age\": { \"@id\": \"http://xmlns.com/foaf/0.1/age\", ⚠ In this example, the xsd term is defined and used as a prefix for the @type coercion of the age property. Terms may also be used when defining the IRI of another term: Compact IRIs and IRIs may be used on the left-hand side",
      "extractCut": true
    },
    {
      "id": "sec-039-warning",
      "number": null,
      "title": "Warning",
      "level": 5,
      "pageStart": 25,
      "pageEnd": 26,
      "labelStart": null,
      "labelEnd": null,
      "words": 449,
      "summary": null,
      "keywords": [
        {
          "term": "compact iri",
          "heading": false
        },
        {
          "term": "foaf",
          "heading": false
        },
        {
          "term": "different iri",
          "heading": false
        },
        {
          "term": "homepage",
          "heading": false
        },
        {
          "term": "illegal",
          "heading": false
        },
        {
          "term": "age",
          "heading": false
        },
        {
          "term": "term",
          "heading": false
        },
        {
          "term": "warning",
          "heading": true
        }
      ],
      "extract": "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 to the original 1.0 algorithm to prevent terms from expanding to a different IRI, which could lead to undesired results. \"@type\": \"xsd:integer\" }, \"homepage\": { \"@id\": \"http://xmlns.com/foaf/0.1/homepage\", \"@type\": \"@id\" } }, ... } Example 40: Using a term to define the IRI",
      "extractCut": true
    },
    {
      "id": "sec-040-418-scoped-contexts",
      "number": "4.1.8",
      "title": "Scoped Contexts",
      "level": 4,
      "pageStart": 26,
      "pageEnd": 27,
      "labelStart": null,
      "labelEnd": null,
      "words": 217,
      "summary": null,
      "keywords": [
        {
          "term": "scoping",
          "heading": false
        },
        {
          "term": "node object",
          "heading": false
        },
        {
          "term": "interest",
          "heading": false
        },
        {
          "term": "foaf",
          "heading": false
        },
        {
          "term": "contexts",
          "heading": true
        },
        {
          "term": "manu",
          "heading": false
        },
        {
          "term": "term",
          "heading": false
        }
      ],
      "extract": "Input Example 45: Defining an @context within a term definition Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { \"@version\": 1.1, \"name\": \"http://schema.org/name\", \"interest\": { \"@id\": \"http://xmlns.com/foaf/0.1/interest\", \"@context\": {\"@vocab\": \"http://xmlns.com/foaf/0.1/\"} } }, \"name\": \"Manu Sporny\", \"interest\": { \"@id\": \"https://www.w3.org/TR/json-ld11/\", \"name\": \"JSON-LD\",",
      "extractCut": true
    },
    {
      "id": "sec-041-note",
      "number": null,
      "title": "Note",
      "level": 5,
      "pageStart": 27,
      "pageEnd": 28,
      "labelStart": null,
      "labelEnd": null,
      "words": 266,
      "summary": null,
      "keywords": [
        {
          "term": "scoped contexts",
          "heading": false
        },
        {
          "term": "type-scoped contexts",
          "heading": false
        },
        {
          "term": "active context",
          "heading": false
        },
        {
          "term": "defines term",
          "heading": false
        },
        {
          "term": "node object",
          "heading": false
        },
        {
          "term": "linking data",
          "heading": false
        },
        {
          "term": "property-scoped",
          "heading": false
        },
        {
          "term": "expanding",
          "heading": false
        }
      ],
      "extract": "Any property-scoped or local contexts that were introduced in the node object would still be in effect when traversing into another node object. When expanding, each value of @type is considered (ordering them lexicographically) where that value is also a term in the active context having its own type-scoped context. If so, that the scoped context is applied to the active context. Note The values of @type are",
      "extractCut": true
    },
    {
      "id": "sec-042-note",
      "number": null,
      "title": "Note",
      "level": 5,
      "pageStart": 28,
      "pageEnd": 28,
      "labelStart": null,
      "labelEnd": null,
      "words": 276,
      "summary": null,
      "keywords": [
        {
          "term": "defines term",
          "heading": false
        },
        {
          "term": "scoped context",
          "heading": false
        },
        {
          "term": "term definitions",
          "heading": false
        },
        {
          "term": "embedded context",
          "heading": false
        },
        {
          "term": "node object",
          "heading": false
        },
        {
          "term": "propagate",
          "heading": false
        },
        {
          "term": "type",
          "heading": false
        },
        {
          "term": "until",
          "heading": false
        }
      ],
      "extract": "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 is lost within the scope of that redefinition. This is consistent with term definitions of a term overriding previous term definitions from earlier less deeply nested definitions, as discussed in § 4.1 Advanced Context Usage. Note Scoped Contexts are a new feature",
      "extractCut": true
    },
    {
      "id": "sec-043-419-context-propagation",
      "number": "4.1.9",
      "title": "Context Propagation",
      "level": 4,
      "pageStart": 28,
      "pageEnd": 29,
      "labelStart": null,
      "labelEnd": null,
      "words": 386,
      "summary": null,
      "keywords": [
        {
          "term": "wrapping context",
          "heading": false
        },
        {
          "term": "imported context",
          "heading": false
        },
        {
          "term": "remote context",
          "heading": false
        },
        {
          "term": "term definitions",
          "heading": false
        },
        {
          "term": "scoped context",
          "heading": false
        },
        {
          "term": "import keyword",
          "heading": false
        },
        {
          "term": "propagate",
          "heading": false
        },
        {
          "term": "loaded",
          "heading": false
        }
      ],
      "extract": "Note Contexts 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 Algorithms and API. This section is non-normative. JSON-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 then apply further changes to it via new contexts. However, with the",
      "extractCut": true
    },
    {
      "id": "sec-044-4110-imported-contexts",
      "number": "4.1.10",
      "title": "Imported Contexts",
      "level": 4,
      "pageStart": 29,
      "pageEnd": 30,
      "labelStart": null,
      "labelEnd": null,
      "words": 297,
      "summary": null,
      "keywords": [
        {
          "term": "imported",
          "heading": true
        },
        {
          "term": "imported context",
          "heading": false
        },
        {
          "term": "sourcing context",
          "heading": false
        },
        {
          "term": "type-scoped context",
          "heading": false
        },
        {
          "term": "entire imported",
          "heading": false
        },
        {
          "term": "term definition",
          "heading": false
        },
        {
          "term": "modify vocab",
          "heading": false
        }
      ],
      "extract": "Example 50: A remote context to be imported in a type-scoped context { \"@context\": { \"Type1\": \"http://example.com/vocab/Type1\", \"Type2\": \"http://example.com/vocab/Type2\", \"term1\": \"http://example.com/vocab#term1\", \"term2\": \"http://example.com/vocab#term2\", ... } } Example 51: Sourcing a context in a type-scoped context and setting it to propagate { \"@context\": { \"@version\": 1.1, \"MyType\": { \"@id\":",
      "extractCut": true
    },
    {
      "id": "sec-045-4111-protected-term-definitions",
      "number": "4.1.11",
      "title": "Protected Term Definitions",
      "level": 4,
      "pageStart": 30,
      "pageEnd": 32,
      "labelStart": null,
      "labelEnd": null,
      "words": 635,
      "summary": null,
      "keywords": [
        {
          "term": "protected term",
          "heading": true
        },
        {
          "term": "term definitions",
          "heading": true
        },
        {
          "term": "entry protected",
          "heading": false
        },
        {
          "term": "plain json",
          "heading": false
        },
        {
          "term": "contexts belonging",
          "heading": false
        },
        {
          "term": "scoped contexts",
          "heading": false
        },
        {
          "term": "embedded contexts",
          "heading": false
        },
        {
          "term": "overridden",
          "heading": false
        }
      ],
      "extract": "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 processed as plain JSON, without using any of the JSON-LD algorithms. Because JSON-LD is very flexible, some terms from the original format may be locally overridden through the use of embedded contexts, and take a different meaning for JSON-LD based implementations. On the other",
      "extractCut": true
    },
    {
      "id": "sec-046-note",
      "number": null,
      "title": "Note",
      "level": 5,
      "pageStart": 32,
      "pageEnd": 33,
      "labelStart": null,
      "labelEnd": null,
      "words": 133,
      "summary": null,
      "keywords": [
        {
          "term": "protected",
          "heading": false
        },
        {
          "term": "employee",
          "heading": false
        },
        {
          "term": "organization",
          "heading": false
        },
        {
          "term": "clears",
          "heading": false
        }
      ],
      "extract": "\"Person\": \"http://schema.org/Person\", \"name\": \"http://schema.org/name\" } ], \"id\": \"https://digitalbazaar.com/\", \"type\": \"Organization\", \"member\" : { \"id\": \"http://manu.sporny.org/about#manu\", \"type\": \"Person\", \"name\": \"Manu Sporny\" } } Input Example 58: overriding permitted in property scoped context Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": [ { – This context reflects",
      "extractCut": true
    },
    {
      "id": "sec-047-note",
      "number": null,
      "title": "Note",
      "level": 5,
      "pageStart": 33,
      "pageEnd": 33,
      "labelStart": null,
      "labelEnd": null,
      "words": 241,
      "summary": null,
      "keywords": [
        {
          "term": "type keyword",
          "heading": false
        },
        {
          "term": "adaptation",
          "heading": false
        },
        {
          "term": "utilizing",
          "heading": false
        },
        {
          "term": "term",
          "heading": false
        },
        {
          "term": "json-ld",
          "heading": false
        },
        {
          "term": "protection",
          "heading": false
        },
        {
          "term": "typed",
          "heading": false
        }
      ],
      "extract": "By preventing terms from being overridden, protection also prevents any adaptation of a term (e.g., defining a more precise datatype, restricting the term's use to lists, etc.). This kind of adaptation is frequent with some general purpose contexts, for which protection would therefore hinder their usability. As a consequence, context publishers should use this feature with care. Note Protected term definitions are",
      "extractCut": true
    },
    {
      "id": "sec-048-42-describing-values",
      "number": "4.2",
      "title": "Describing Values",
      "level": 3,
      "pageStart": 33,
      "pageEnd": 33,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-049-421-typed-values",
      "number": "4.2.1",
      "title": "Typed Values",
      "level": 4,
      "pageStart": 33,
      "pageEnd": 34,
      "labelStart": null,
      "labelEnd": null,
      "words": 105,
      "summary": null,
      "keywords": [
        {
          "term": "turtle open",
          "heading": false
        },
        {
          "term": "modified",
          "heading": false
        },
        {
          "term": "expanded",
          "heading": false
        }
      ],
      "extract": "Input Example 59: Expanded term definition with type coercion Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { \"modified\": { \"@id\": \"http://purl.org/dc/terms/modified\", \"@type\": \"http://www.w3.org/2001/XMLSchema#dateTime\" } }, ... \"@id\": \"http://example.com/docs/1\", \"modified\": \"2010-05-29T14:17:39+02:00\", ... } Input Example 60: Expanded value with type Compacted (Input)",
      "extractCut": true
    },
    {
      "id": "sec-050-note",
      "number": null,
      "title": "Note",
      "level": 5,
      "pageStart": 34,
      "pageEnd": 34,
      "labelStart": null,
      "labelEnd": null,
      "words": 274,
      "summary": null,
      "keywords": [
        {
          "term": "type keyword",
          "heading": false
        },
        {
          "term": "node type",
          "heading": false
        },
        {
          "term": "algorithmic transformations",
          "heading": false
        },
        {
          "term": "type coercion",
          "heading": false
        },
        {
          "term": "type associates",
          "heading": false
        },
        {
          "term": "value type",
          "heading": false
        },
        {
          "term": "type specifies",
          "heading": false
        },
        {
          "term": "expressing",
          "heading": false
        }
      ],
      "extract": "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 nodes, see § 3.5 Specifying the Type. Note When expanding, an @type defined within a term definition can be associated with a string value to create an expanded value object, which is described in § 4.2.3 Type Coercion. Type coercion only takes place on string values,",
      "extractCut": true
    },
    {
      "id": "sec-051-warning",
      "number": null,
      "title": "Warning",
      "level": 5,
      "pageStart": 34,
      "pageEnd": 34,
      "labelStart": null,
      "labelEnd": null,
      "words": 234,
      "summary": null,
      "keywords": [
        {
          "term": "json literal",
          "heading": false
        },
        {
          "term": "value type",
          "heading": false
        },
        {
          "term": "json-ld",
          "heading": false
        },
        {
          "term": "rdf",
          "heading": false
        },
        {
          "term": "demonstrating",
          "heading": false
        },
        {
          "term": "form",
          "heading": false
        },
        {
          "term": "property",
          "heading": false
        }
      ],
      "extract": "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 not available for interpretation. It is for use only in the rare cases that JSON cannot be represented as JSON-LD. When 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 JSON-LD. In",
      "extractCut": true
    },
    {
      "id": "sec-052-422-json-literals",
      "number": "4.2.2",
      "title": "JSON Literals",
      "level": 4,
      "pageStart": 34,
      "pageEnd": 35,
      "labelStart": null,
      "labelEnd": null,
      "words": 13,
      "summary": null,
      "keywords": [],
      "extract": "Example 63: JSON Literal Compacted (Input) Expanded (Result) Statements Turtle Open in playground",
      "extractCut": false
    },
    {
      "id": "sec-053-note",
      "number": null,
      "title": "Note",
      "level": 5,
      "pageStart": 35,
      "pageEnd": 35,
      "labelStart": null,
      "labelEnd": null,
      "words": 439,
      "summary": null,
      "keywords": [
        {
          "term": "compact iri",
          "heading": false
        },
        {
          "term": "type coercion",
          "heading": false
        },
        {
          "term": "term definition",
          "heading": false
        },
        {
          "term": "typed values",
          "heading": false
        },
        {
          "term": "string value",
          "heading": false
        },
        {
          "term": "active context",
          "heading": false
        },
        {
          "term": "type key",
          "heading": false
        },
        {
          "term": "null",
          "heading": false
        }
      ],
      "extract": "Generally, when a JSON-LD processor encounters null, the associated entry or value is removed. However, null is a valid JSON token; when used as the value of a JSON literal, a null value will be preserved. This section is non-normative. JSON-LD supports the coercion of string values to particular data types. Type coercion allows someone deploying JSON-LD to use string property values and have those values be",
      "extractCut": true
    },
    {
      "id": "sec-054-423-type-coercion",
      "number": "4.2.3",
      "title": "Type Coercion",
      "level": 4,
      "pageStart": 35,
      "pageEnd": 36,
      "labelStart": null,
      "labelEnd": null,
      "words": 195,
      "summary": null,
      "keywords": [
        {
          "term": "barney",
          "heading": false
        },
        {
          "term": "term definition",
          "heading": false
        },
        {
          "term": "document-relative",
          "heading": false
        },
        {
          "term": "type",
          "heading": true
        },
        {
          "term": "unexpected",
          "heading": false
        },
        {
          "term": "age",
          "heading": false
        }
      ],
      "extract": "Input Example 64: Expanded term definition with types Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { \"xsd\": \"http://www.w3.org/2001/XMLSchema#\", \"name\": \"http://xmlns.com/foaf/0.1/name\", \"age\": { \"@id\": \"http://xmlns.com/foaf/0.1/age\", \"@type\": \"xsd:integer\" }, \"homepage\": { \"@id\": \"http://xmlns.com/foaf/0.1/homepage\", \"@type\": \"@id\" } }, \"@id\":",
      "extractCut": true
    },
    {
      "id": "sec-055-note",
      "number": null,
      "title": "Note",
      "level": 5,
      "pageStart": 36,
      "pageEnd": 37,
      "labelStart": null,
      "labelEnd": null,
      "words": 256,
      "summary": null,
      "keywords": [
        {
          "term": "compact iris",
          "heading": false
        },
        {
          "term": "barney",
          "heading": false
        },
        {
          "term": "type coercion",
          "heading": false
        },
        {
          "term": "fred",
          "heading": false
        },
        {
          "term": "turtle open",
          "heading": false
        },
        {
          "term": "foaf",
          "heading": false
        },
        {
          "term": "knows",
          "heading": false
        },
        {
          "term": "age",
          "heading": false
        }
      ],
      "extract": "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. Terms 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. For example: Input Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { \"@base\":",
      "extractCut": true
    },
    {
      "id": "sec-056-note",
      "number": null,
      "title": "Note",
      "level": 5,
      "pageStart": 37,
      "pageEnd": 37,
      "labelStart": null,
      "labelEnd": null,
      "words": 180,
      "summary": null,
      "keywords": [
        {
          "term": "default language",
          "heading": false
        },
        {
          "term": "coercion",
          "heading": false
        },
        {
          "term": "associate",
          "heading": false
        },
        {
          "term": "科学者",
          "heading": false
        },
        {
          "term": "expanded",
          "heading": false
        }
      ],
      "extract": "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 same expanded IRI. For example, one could specify that dog and cat both expanded to http://example.com/vocab#animal. Doing this could be useful for establishing different type coercion or language specification rules. This section is non-normative. At times, it is",
      "extractCut": true
    },
    {
      "id": "sec-057-424-string-internationalization",
      "number": "4.2.4",
      "title": "String Internationalization",
      "level": 4,
      "pageStart": 37,
      "pageEnd": 40,
      "labelStart": null,
      "labelEnd": null,
      "words": 803,
      "summary": null,
      "keywords": [
        {
          "term": "إنشاء تصميم",
          "heading": false
        },
        {
          "term": "إنشاء مواقع",
          "heading": false
        },
        {
          "term": "css html",
          "heading": false
        },
        {
          "term": "مواقع الويب",
          "heading": false
        },
        {
          "term": "base direction",
          "heading": false
        },
        {
          "term": "language tag",
          "heading": false
        },
        {
          "term": "default language",
          "heading": false
        },
        {
          "term": "language maps",
          "heading": false
        }
      ],
      "extract": "Input Example 68: Setting the default language of a JSON-LD document Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { \"name\": \"http://example.org/name\", \"occupation\": \"http://example.org/occupation\", ... \"@language\": \"ja\" }, \"name\": \"花澄\", \"occupation\": \"科学者\" } Example 69: Clearing default language { \"@context\": { ... \"@version\": 1.1, \"@vocab\": \"http://example.com/\",",
      "extractCut": true
    },
    {
      "id": "sec-058-note",
      "number": null,
      "title": "Note",
      "level": 6,
      "pageStart": 40,
      "pageEnd": 40,
      "labelStart": null,
      "labelEnd": null,
      "words": 215,
      "summary": null,
      "keywords": [
        {
          "term": "base direction",
          "heading": false
        },
        {
          "term": "default base",
          "heading": false
        },
        {
          "term": "multiple values",
          "heading": false
        },
        {
          "term": "arrays",
          "heading": false
        },
        {
          "term": "strings",
          "heading": false
        },
        {
          "term": "ordering",
          "heading": false
        },
        {
          "term": "language",
          "heading": false
        }
      ],
      "extract": "Base direction associations are only applied to plain strings and language-tagged strings. Typed values or values that are subject to type coercion are not given a base direction. Third, it is possible to override the default base direction by using a value object: See Strings on the Web: Language and Direction Metadata [string-meta] for a deeper discussion of base direction. This section is non-normative. A JSON-LD",
      "extractCut": true
    },
    {
      "id": "sec-059-43-value-ordering",
      "number": "4.3",
      "title": "Value Ordering",
      "level": 3,
      "pageStart": 40,
      "pageEnd": 41,
      "labelStart": null,
      "labelEnd": null,
      "words": 219,
      "summary": null,
      "keywords": [
        {
          "term": "inherent order",
          "heading": false
        },
        {
          "term": "multiple values",
          "heading": false
        },
        {
          "term": "turtle open",
          "heading": false
        },
        {
          "term": "statements",
          "heading": false
        },
        {
          "term": "dcterms",
          "heading": false
        },
        {
          "term": "rdf",
          "heading": false
        },
        {
          "term": "foaf",
          "heading": false
        }
      ],
      "extract": "Input Example 78: Multiple values with no inherent order Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": {\"foaf\": \"http://xmlns.com/foaf/0.1/\"}, ... \"@id\": \"http://example.org/people#joebob\", \"foaf:nick\": [ \"joe\", \"bob\", \"JB\" ], ... } Input Example 79: Using an expanded form to set multiple values Compacted (Input) Expanded (Result) Statements Turtle Open in playground {",
      "extractCut": true
    },
    {
      "id": "sec-060-431-lists",
      "number": "4.3.1",
      "title": "Lists",
      "level": 4,
      "pageStart": 41,
      "pageEnd": 42,
      "labelStart": null,
      "labelEnd": null,
      "words": 512,
      "summary": null,
      "keywords": [
        {
          "term": "lists",
          "heading": true
        },
        {
          "term": "coordinates expressed",
          "heading": false
        },
        {
          "term": "turtle open",
          "heading": false
        },
        {
          "term": "list object",
          "heading": false
        },
        {
          "term": "container",
          "heading": false
        },
        {
          "term": "single value",
          "heading": false
        },
        {
          "term": "just single",
          "heading": false
        },
        {
          "term": "nick",
          "heading": false
        }
      ],
      "extract": "In JSON-LD 1.1, lists of lists, where the value of a list object, may itself be a list object, are fully supported. Note that the \"@container\": \"@list\" definition recursively describes array values of lists as being, themselves, lists. For example, in The GeoJSON Format (see [RFC7946]), coordinates are an ordered list of positions, which are represented as an array of two or more numbers: Input Compacted (Input)",
      "extractCut": true
    },
    {
      "id": "sec-061-432-sets",
      "number": "4.3.2",
      "title": "Sets",
      "level": 4,
      "pageStart": 42,
      "pageEnd": 43,
      "labelStart": null,
      "labelEnd": null,
      "words": 280,
      "summary": null,
      "keywords": [
        {
          "term": "labels property",
          "heading": false
        },
        {
          "term": "expanded term",
          "heading": false
        },
        {
          "term": "term definition",
          "heading": false
        },
        {
          "term": "nick",
          "heading": false
        },
        {
          "term": "turtle open",
          "heading": false
        },
        {
          "term": "jaybee",
          "heading": false
        },
        {
          "term": "joe",
          "heading": false
        },
        {
          "term": "nest",
          "heading": false
        }
      ],
      "extract": "Input Example 85: An unordered collection of values in JSON-LD Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": {\"foaf\": \"http://xmlns.com/foaf/0.1/\"}, ... \"@id\": \"http://example.org/people#joebob\", \"foaf:nick\": { \"@set\": [ \"joe\", \"bob\", \"jaybee\" ] }, ... } Since JSON-LD 1.1, the @set keyword may be combined with other container specifications within an expanded term definition",
      "extractCut": true
    },
    {
      "id": "sec-062-433-using-set-with-type",
      "number": "4.3.3",
      "title": "Using @set with @type",
      "level": 4,
      "pageStart": 43,
      "pageEnd": 43,
      "labelStart": null,
      "labelEnd": null,
      "words": 19,
      "summary": null,
      "keywords": [],
      "extract": "Example 87: Setting @container: @set on @type { \"@context\": { \"@version\": 1.1, \"@type\": {\"@container\": \"@set\"} }, \"@type\": [\"http:/example.org/type\"] }",
      "extractCut": false
    },
    {
      "id": "sec-063-44-nested-properties",
      "number": "4.4",
      "title": "Nested Properties",
      "level": 3,
      "pageStart": 43,
      "pageEnd": 44,
      "labelStart": null,
      "labelEnd": null,
      "words": 127,
      "summary": null,
      "keywords": [
        {
          "term": "nested properties",
          "heading": true
        },
        {
          "term": "main label",
          "heading": false
        },
        {
          "term": "nest",
          "heading": false
        },
        {
          "term": "skos",
          "heading": false
        }
      ],
      "extract": "Input Example 88: Nested properties Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { \"@version\": 1.1, \"skos\": \"http://www.w3.org/2004/02/skos/core#\", \"labels\": \"@nest\", \"main_label\": {\"@id\": \"skos:prefLabel\"}, \"other_label\": {\"@id\": \"skos:altLabel\"}, \"homepage\": {\"@id\": \"http://xmlns.com/foaf/0.1/homepage\", \"@type\": \"@id\"} }, \"@id\": \"http://example.org/myresource\", \"homepage\":",
      "extractCut": true
    },
    {
      "id": "sec-064-note",
      "number": null,
      "title": "Note",
      "level": 4,
      "pageStart": 44,
      "pageEnd": 44,
      "labelStart": null,
      "labelEnd": null,
      "words": 185,
      "summary": null,
      "keywords": [
        {
          "term": "main label",
          "heading": false
        },
        {
          "term": "skos",
          "heading": false
        },
        {
          "term": "nest",
          "heading": false
        },
        {
          "term": "property nesting",
          "heading": false
        },
        {
          "term": "altlabel",
          "heading": false
        },
        {
          "term": "preflabel",
          "heading": false
        }
      ],
      "extract": "Nested properties are a new feature in JSON-LD 1.1. This section is non-normative. Input { \"@context\": { \"skos\": \"http://www.w3.org/2004/02/skos/core#\", \"main_label\": {\"@id\": \"skos:prefLabel\"}, \"other_label\": {\"@id\": \"skos:altLabel\"}, \"homepage\": {\"@id\": \"http://xmlns.com/foaf/0.1/homepage\", \"@type\": \"@id\"} }, \"@id\": \"http://example.org/myresource\", \"homepage\": \"http://example.org\", \"main_label\": \"This is the main",
      "extractCut": true
    },
    {
      "id": "sec-065-45-embedding",
      "number": "4.5",
      "title": "Embedding",
      "level": 3,
      "pageStart": 44,
      "pageEnd": 45,
      "labelStart": null,
      "labelEnd": null,
      "words": 363,
      "summary": null,
      "keywords": [
        {
          "term": "blank node",
          "heading": false
        },
        {
          "term": "gregg kellogg",
          "heading": false
        },
        {
          "term": "node objects",
          "heading": false
        },
        {
          "term": "node identifier",
          "heading": false
        },
        {
          "term": "manu sporny",
          "heading": false
        },
        {
          "term": "knows property",
          "heading": false
        },
        {
          "term": "another node",
          "heading": false
        },
        {
          "term": "embedding",
          "heading": true
        }
      ],
      "extract": "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 parent-child relationship between two nodes. Without embedding, node objects can be linked by referencing the identifier of another node object. For example: The previous example describes two node objects, for Manu and Gregg, with the knows property defined to treat string",
      "extractCut": true
    },
    {
      "id": "sec-066-451-identifying-blank-nodes",
      "number": "4.5.1",
      "title": "Identifying Blank Nodes",
      "level": 4,
      "pageStart": 45,
      "pageEnd": 46,
      "labelStart": null,
      "labelEnd": null,
      "words": 269,
      "summary": null,
      "keywords": [
        {
          "term": "blank node",
          "heading": false
        },
        {
          "term": "node identifiers",
          "heading": false
        },
        {
          "term": "iri",
          "heading": false
        },
        {
          "term": "necessary",
          "heading": false
        },
        {
          "term": "agent",
          "heading": false
        },
        {
          "term": "identified",
          "heading": false
        },
        {
          "term": "non-normative",
          "heading": false
        },
        {
          "term": "reference",
          "heading": false
        }
      ],
      "extract": "This section is non-normative. At 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 called a blank node. JSON-LD does not require all nodes to be identified using @id. However, some graph topologies may require identifiers to be serializable. Graphs containing loops, e.g., cannot be serialized using embedding alone, @id",
      "extractCut": true
    },
    {
      "id": "sec-067-461-data-indexing",
      "number": "4.6.1",
      "title": "Data Indexing",
      "level": 4,
      "pageStart": 46,
      "pageEnd": 46,
      "labelStart": null,
      "labelEnd": null,
      "words": 293,
      "summary": null,
      "keywords": [
        {
          "term": "data indexing",
          "heading": true
        },
        {
          "term": "node identifier",
          "heading": false
        },
        {
          "term": "reference node",
          "heading": false
        },
        {
          "term": "language indexing",
          "heading": false
        },
        {
          "term": "indexing allows",
          "heading": false
        },
        {
          "term": "node type",
          "heading": false
        },
        {
          "term": "secret agent",
          "heading": false
        },
        {
          "term": "structure data",
          "heading": false
        }
      ],
      "extract": "As described in § 4.6.1 Data Indexing, data indexing allows an arbitrary key to reference a node or value. Language Indexing As described in § 4.6.2 Language Indexing, language indexing allows a language to reference a string and be interpreted as the language associated with that string. Node Identifier Indexing As described in § 4.6.3 Node Identifier Indexing, node identifier indexing allows an IRI to reference a",
      "extractCut": true
    },
    {
      "id": "sec-068-46-indexed-values",
      "number": "4.6",
      "title": "Indexed Values",
      "level": 3,
      "pageStart": 46,
      "pageEnd": 47,
      "labelStart": null,
      "labelEnd": null,
      "words": 136,
      "summary": null,
      "keywords": [
        {
          "term": "json-ld processor",
          "heading": false
        },
        {
          "term": "athletes",
          "heading": false
        },
        {
          "term": "pitcher",
          "heading": false
        },
        {
          "term": "document form",
          "heading": false
        },
        {
          "term": "schema",
          "heading": false
        }
      ],
      "extract": "4.6.1 Data Indexing § Input Example 97: Indexing data in JSON-LD Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { \"schema\": \"http://schema.org/\", \"name\": \"schema:name\", \"body\": \"schema:articleBody\", \"athletes\": { \"@id\": \"schema:athlete\", \"@container\": \"@index\" ⚠ In the example above, the athletes term has been marked as an index map. The catcher and pitcher keys will be",
      "extractCut": true
    },
    {
      "id": "sec-069-warning",
      "number": null,
      "title": "Warning",
      "level": 5,
      "pageStart": 47,
      "pageEnd": 48,
      "labelStart": null,
      "labelEnd": null,
      "words": 300,
      "summary": null,
      "keywords": [
        {
          "term": "buster posey",
          "heading": false
        },
        {
          "term": "madison bumgarner",
          "heading": false
        },
        {
          "term": "starting pitcher",
          "heading": false
        },
        {
          "term": "francisco giants",
          "heading": false
        },
        {
          "term": "san francisco",
          "heading": false
        },
        {
          "term": "catcher",
          "heading": false
        },
        {
          "term": "athletes",
          "heading": false
        },
        {
          "term": "position",
          "heading": false
        }
      ],
      "extract": "As data indexes are not preserved when round-tripping to RDF; this feature should be used judiciously. Often, other indexing mechanisms, which are preserved, are more appropriate. The value of @container can also be an array containing both @index and @set. When compacting, this ensures that a JSON-LD Processor will use the array form for all values of indexes. Unless the processing mode is set to json-ld-1.0, the",
      "extractCut": true
    },
    {
      "id": "sec-070-note",
      "number": null,
      "title": "Note",
      "level": 6,
      "pageStart": 48,
      "pageEnd": 48,
      "labelStart": null,
      "labelEnd": null,
      "words": 182,
      "summary": null,
      "keywords": [
        {
          "term": "property-based data",
          "heading": false
        },
        {
          "term": "value objects",
          "heading": false
        },
        {
          "term": "data indexing",
          "heading": false
        },
        {
          "term": "catcher",
          "heading": false
        },
        {
          "term": "athletes",
          "heading": false
        },
        {
          "term": "schema",
          "heading": false
        }
      ],
      "extract": "When using property-based data indexing, index maps can only be used on node objects, not value objects or graph objects. Value objects are restricted to have only certain keys and do not support arbitrary properties. This section is non-normative. JSON which includes string values in multiple languages may be represented using a language map to allow for easily indexing property values by language tag. This enables",
      "extractCut": true
    },
    {
      "id": "sec-071-462-language-indexing",
      "number": "4.6.2",
      "title": "Language Indexing",
      "level": 4,
      "pageStart": 48,
      "pageEnd": 49,
      "labelStart": null,
      "labelEnd": null,
      "words": 373,
      "summary": null,
      "keywords": [
        {
          "term": "ihre majestät",
          "heading": false
        },
        {
          "term": "die königin",
          "heading": false
        },
        {
          "term": "language",
          "heading": true
        },
        {
          "term": "indexing",
          "heading": true
        },
        {
          "term": "json-ld processor",
          "heading": false
        },
        {
          "term": "queen",
          "heading": false
        },
        {
          "term": "label",
          "heading": false
        },
        {
          "term": "turtle open",
          "heading": false
        }
      ],
      "extract": "Input Example 100: Indexing languaged-tagged strings in JSON-LD Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { \"vocab\": \"http://example.com/vocab/\", \"label\": { \"@id\": \"vocab:label\", \"@container\": \"@language\" } }, \"@id\": \"http://example.com/queen\", \"label\": { \"en\": \"The Queen\", \"de\": [ \"Die Königin\", \"Ihre Majestät\" ] } } In the example above, the label term has been marked",
      "extractCut": true
    },
    {
      "id": "sec-072-463-node-identifier-indexing",
      "number": "4.6.3",
      "title": "Node Identifier Indexing",
      "level": 4,
      "pageStart": 49,
      "pageEnd": 51,
      "labelStart": null,
      "labelEnd": null,
      "words": 382,
      "summary": null,
      "keywords": [
        {
          "term": "crude oil",
          "heading": false
        },
        {
          "term": "heavy trading",
          "heading": false
        },
        {
          "term": "world commodities",
          "heading": false
        },
        {
          "term": "node",
          "heading": true
        },
        {
          "term": "eines starken",
          "heading": false
        },
        {
          "term": "sog eines",
          "heading": false
        },
        {
          "term": "starken handels",
          "heading": false
        },
        {
          "term": "warenbörsen stiegen",
          "heading": false
        }
      ],
      "extract": "Input Example 103: Indexing data in JSON-LD by node identifiers Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { \"@version\": 1.1, \"schema\": \"http://schema.org/\", \"name\": \"schema:name\", \"body\": \"schema:articleBody\", \"words\": \"schema:wordCount\", \"post\": { \"@id\": \"schema:blogPost\", \"@container\": \"@id\", \"@context\": { \"@base\": \"http://example.com/posts/\" } } }, \"@id\":",
      "extractCut": true
    },
    {
      "id": "sec-073-note",
      "number": null,
      "title": "Note",
      "level": 5,
      "pageStart": 51,
      "pageEnd": 51,
      "labelStart": null,
      "labelEnd": null,
      "words": 182,
      "summary": null,
      "keywords": [
        {
          "term": "maps",
          "heading": false
        },
        {
          "term": "json-ld",
          "heading": false
        },
        {
          "term": "affiliation",
          "heading": false
        },
        {
          "term": "map",
          "heading": false
        },
        {
          "term": "professionalservice",
          "heading": false
        }
      ],
      "extract": "Id maps are a new feature in JSON-LD 1.1. This section is non-normative. In 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 structure 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 objects. In JSON-LD such data can be specified by",
      "extractCut": true
    },
    {
      "id": "sec-074-464-node-type-indexing",
      "number": "4.6.4",
      "title": "Node Type Indexing",
      "level": 4,
      "pageStart": 51,
      "pageEnd": 52,
      "labelStart": null,
      "labelEnd": null,
      "words": 344,
      "summary": null,
      "keywords": [
        {
          "term": "affiliation",
          "heading": false
        },
        {
          "term": "digital bazaar",
          "heading": false
        },
        {
          "term": "node",
          "heading": true
        },
        {
          "term": "node objects",
          "heading": false
        },
        {
          "term": "manu sporny",
          "heading": false
        },
        {
          "term": "indexing",
          "heading": true
        },
        {
          "term": "professionalservice",
          "heading": false
        },
        {
          "term": "turtle open",
          "heading": false
        }
      ],
      "extract": "Input Example 106: Indexing data in JSON-LD by type Compacted (Input) Expanded (Result) Statements Turtle Open in playground { \"@context\": { \"@version\": 1.1, \"schema\": \"http://schema.org/\", \"name\": \"schema:name\", \"affiliation\": { \"@id\": \"schema:affiliation\", \"@container\": \"@type\" } }, \"name\": \"Manu Sporny\", \"affiliation\": { \"schema:Corporation\": { \"@id\": \"https://digitalbazaar.com/\", \"name\": \"Digital Bazaar\" },",
      "extractCut": true
    },
    {
      "id": "sec-075-47-included-nodes",
      "number": "4.7",
      "title": "Included Nodes",
      "level": 3,
      "pageStart": 52,
      "pageEnd": 54,
      "labelStart": null,
      "labelEnd": null,
      "words": 436,
      "summary": null,
      "keywords": [
        {
          "term": "gregg kellogg",
          "heading": false
        },
        {
          "term": "manu sporny",
          "heading": false
        },
        {
          "term": "reverse keyword",
          "heading": false
        },
        {
          "term": "contractor",
          "heading": false
        },
        {
          "term": "dave longley",
          "heading": false
        },
        {
          "term": "disconnected nodes",
          "heading": false
        },
        {
          "term": "employee",
          "heading": false
        },
        {
          "term": "flattened",
          "heading": false
        }
      ],
      "extract": "Input Example 109: Included Blocks { \"@context\": { \"@version\": 1.1, \"@vocab\": \"http://example.org/\", \"classification\": {\"@type\": \"@vocab\"} }, \"@id\": \"http://example.org/org-1\", \"members\": [{ \"@id\":\"http://example.org/person-1\", \"name\": \"Manu Sporny\", \"classification\": \"employee\" }, { \"@id\":\"http://example.org/person-2\", \"name\": \"Dave Longley\", \"classification\": \"employee\" }, { \"@id\": \"http://example.org/person-3\",",
      "extractCut": true
    },
    {
      "id": "sec-076-48-reverse-properties",
      "number": "4.8",
      "title": "Reverse Properties",
      "level": 3,
      "pageStart": 54,
      "pageEnd": 56,
      "labelStart": null,
      "labelEnd": null,
      "words": 687,
      "summary": null,
      "keywords": [
        {
          "term": "named graph",
          "heading": false
        },
        {
          "term": "graph keyword",
          "heading": false
        },
        {
          "term": "default graph",
          "heading": false
        },
        {
          "term": "graph itself",
          "heading": false
        },
        {
          "term": "homer",
          "heading": false
        },
        {
          "term": "reverse",
          "heading": true
        },
        {
          "term": "bart",
          "heading": false
        },
        {
          "term": "gregg kellogg",
          "heading": false
        }
      ],
      "extract": "Input Example 112: A document with children linking to their parent Compacted (Input) Expanded (Result) Statements Turtle Open in playground [ { \"@id\": \"#homer\", \"http://example.com/vocab#name\": \"Homer\" }, { \"@id\": \"#bart\", \"http://example.com/vocab#name\": \"Bart\", \"http://example.com/vocab#parent\": { \"@id\": \"#homer\" } }, { \"@id\": \"#lisa\", \"http://example.com/vocab#name\": \"Lisa\", \"http://example.com/vocab#parent\": {",
      "extractCut": true
    },
    {
      "id": "sec-077-note",
      "number": null,
      "title": "Note",
      "level": 5,
      "pageStart": 56,
      "pageEnd": 56,
      "labelStart": null,
      "labelEnd": null,
      "words": 31,
      "summary": null,
      "keywords": [],
      "extract": "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 within the dataset. Note",
      "extractCut": false
    },
    {
      "id": "sec-078-491-graph-containers",
      "number": "4.9.1",
      "title": "Graph Containers",
      "level": 4,
      "pageStart": 56,
      "pageEnd": 56,
      "labelStart": null,
      "labelEnd": null,
      "words": 183,
      "summary": null,
      "keywords": [
        {
          "term": "graph containers",
          "heading": true
        },
        {
          "term": "graph objects",
          "heading": false
        },
        {
          "term": "named graphs",
          "heading": false
        },
        {
          "term": "knows",
          "heading": false
        },
        {
          "term": "index",
          "heading": false
        },
        {
          "term": "wrote",
          "heading": false
        }
      ],
      "extract": "This section is non-normative. In addition to indexing node objects by index, graph objects may also be indexed by an index. By using the @graph container type, introduced in § 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, but are taken from an @index property associated with named graphs which are their values. When",
      "extractCut": true
    },
    {
      "id": "sec-079-492-named-graph-data-indexing",
      "number": "4.9.2",
      "title": "Named Graph Data Indexing",
      "level": 4,
      "pageStart": 56,
      "pageEnd": 57,
      "labelStart": null,
      "labelEnd": null,
      "words": 284,
      "summary": null,
      "keywords": [
        {
          "term": "graph data",
          "heading": true
        },
        {
          "term": "eines starken",
          "heading": false
        },
        {
          "term": "sog eines",
          "heading": false
        },
        {
          "term": "starken handels",
          "heading": false
        },
        {
          "term": "warenbörsen stiegen",
          "heading": false
        },
        {
          "term": "die werte",
          "heading": false
        },
        {
          "term": "crude oil",
          "heading": false
        },
        {
          "term": "heavy trading",
          "heading": false
        }
      ],
      "extract": "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. The special index @none is used for indexing graphs which do not have an @index key, which is useful to maintain a normalized representation. Note, however, that compacting a document where multiple unidentified named graphs are compacted using the @none index will result in the",
      "extractCut": true
    },
    {
      "id": "sec-080-493-named-graph-indexing",
      "number": "4.9.3",
      "title": "Named Graph Indexing",
      "level": 4,
      "pageStart": 57,
      "pageEnd": 59,
      "labelStart": null,
      "labelEnd": null,
      "words": 326,
      "summary": null,
      "keywords": [
        {
          "term": "named graphs",
          "heading": false
        },
        {
          "term": "referencing named",
          "heading": false
        },
        {
          "term": "generatedat",
          "heading": false
        },
        {
          "term": "manu sporny",
          "heading": false
        },
        {
          "term": "knows",
          "heading": false
        },
        {
          "term": "indexing",
          "heading": true
        },
        {
          "term": "none",
          "heading": false
        },
        {
          "term": "person",
          "heading": false
        }
      ],
      "extract": "In addition to indexing node objects by identifier, graph objects may also be indexed by their graph name. By using the @graph container type, introduced 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 the identifiers of named graphs which are their values. The following example describes a default graph referencing multiple",
      "extractCut": true
    },
    {
      "id": "sec-081-note",
      "number": null,
      "title": "Note",
      "level": 5,
      "pageStart": 59,
      "pageEnd": 59,
      "labelStart": null,
      "labelEnd": null,
      "words": 292,
      "summary": null,
      "keywords": [
        {
          "term": "documentloader implementation",
          "heading": false
        },
        {
          "term": "remote documents",
          "heading": false
        },
        {
          "term": "loading remote",
          "heading": false
        },
        {
          "term": "remote context",
          "heading": false
        },
        {
          "term": "json-ld",
          "heading": false
        },
        {
          "term": "feasible",
          "heading": false
        },
        {
          "term": "json-ld11-api",
          "heading": false
        },
        {
          "term": "caching",
          "heading": false
        }
      ],
      "extract": "Graph Containers are a new feature in JSON-LD 1.1. This section is non-normative. The JSON-LD 1.1 Processing Algorithms and API specification [JSON-LD11-API] defines the interface to a JSON-LD Processor and includes a number of methods used for manipulating different forms of JSON-LD (see § 5. Forms of JSON-LD). This includes a general mechanism for loading remote documents, including referenced JSON-LD documents",
      "extractCut": true
    },
    {
      "id": "sec-082-51-expanded-document-form",
      "number": "5.1",
      "title": "Expanded Document Form",
      "level": 3,
      "pageStart": 59,
      "pageEnd": 59,
      "labelStart": null,
      "labelEnd": null,
      "words": 32,
      "summary": null,
      "keywords": [],
      "extract": "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 described further in § 5.1 Expanded Document Form.",
      "extractCut": false
    },
    {
      "id": "sec-083-52-compacted-document-form",
      "number": "5.2",
      "title": "Compacted Document Form",
      "level": 3,
      "pageStart": 59,
      "pageEnd": 59,
      "labelStart": null,
      "labelEnd": null,
      "words": 189,
      "summary": null,
      "keywords": [
        {
          "term": "document form",
          "heading": true
        },
        {
          "term": "flattened document",
          "heading": false
        },
        {
          "term": "json-ld document",
          "heading": false
        },
        {
          "term": "framed document",
          "heading": false
        },
        {
          "term": "compacted",
          "heading": true
        },
        {
          "term": "process",
          "heading": false
        }
      ],
      "extract": "Compaction is the process of applying a provided context to an existing JSON-LD document. This process is described further in § 5.2 Compacted Document Form. Flattened Document Form Flattening is the process of extracting embedded nodes to the top level of the JSON tree, and replacing the embedded node with a reference, creating blank node identifiers as necessary. This process is described further in § 5.3",
      "extractCut": true
    },
    {
      "id": "sec-084-410-loading-documents",
      "number": "4.10",
      "title": "Loading Documents",
      "level": 3,
      "pageStart": 59,
      "pageEnd": 59,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-085-5-forms-of-json-ld",
      "number": "5",
      "title": "Forms of JSON-LD",
      "level": 2,
      "pageStart": 59,
      "pageEnd": 61,
      "labelStart": null,
      "labelEnd": null,
      "words": 590,
      "summary": null,
      "keywords": [
        {
          "term": "json-ld",
          "heading": true
        },
        {
          "term": "expanded json-ld",
          "heading": false
        },
        {
          "term": "json-ld document",
          "heading": false
        },
        {
          "term": "compaction algorithm",
          "heading": false
        },
        {
          "term": "shorten iris",
          "heading": false
        },
        {
          "term": "compacting json-ld",
          "heading": false
        },
        {
          "term": "compact iris",
          "heading": false
        },
        {
          "term": "expanded form",
          "heading": false
        }
      ],
      "extract": "5.1 Expanded Document Form § Input Example 123: Sample JSON-LD document to be expanded { \"@context\": { \"name\": \"http://xmlns.com/foaf/0.1/name\", \"homepage\": { \"@id\": \"http://xmlns.com/foaf/0.1/homepage\", \"@type\": \"@id\" } }, Running the JSON-LD Expansion algorithm against the JSON-LD input document provided above would result in the following output: JSON-LD's media type defines a profile parameter which can be used",
      "extractCut": true
    },
    {
      "id": "sec-086-521-shortening-iris",
      "number": "5.2.1",
      "title": "Shortening IRIs",
      "level": 4,
      "pageStart": 61,
      "pageEnd": 62,
      "labelStart": null,
      "labelEnd": null,
      "words": 311,
      "summary": null,
      "keywords": [
        {
          "term": "brew eats",
          "heading": false
        },
        {
          "term": "compaction algorithm",
          "heading": false
        },
        {
          "term": "iris",
          "heading": true
        },
        {
          "term": "simple document",
          "heading": false
        },
        {
          "term": "simple string",
          "heading": false
        },
        {
          "term": "expanded document",
          "heading": false
        },
        {
          "term": "node objects",
          "heading": false
        },
        {
          "term": "just simple",
          "heading": false
        }
      ],
      "extract": "Input Context Result Example 128: Compacting using a default vocabulary Given the following expanded document: [{ \"@id\": \"http://example.org/places#BrewEats\", \"@type\": [\"http://example.org/Restaurant\"], \"http://example.org/name\": [{\"@value\": \"Brew Eats\"}] }] And the following context: { \"@context\": { \"@vocab\": \"http://example.org/\" } } The compaction algorithm will shorten all vocabulary-relative IRIs that begin",
      "extractCut": true
    },
    {
      "id": "sec-087-522-representing-values-as-strings",
      "number": "5.2.2",
      "title": "Representing Values as Strings",
      "level": 4,
      "pageStart": 62,
      "pageEnd": 63,
      "labelStart": null,
      "labelEnd": null,
      "words": 241,
      "summary": null,
      "keywords": [
        {
          "term": "values",
          "heading": true
        },
        {
          "term": "plain",
          "heading": false
        },
        {
          "term": "strings",
          "heading": true
        },
        {
          "term": "date",
          "heading": false
        },
        {
          "term": "iri",
          "heading": false
        },
        {
          "term": "true",
          "heading": false
        }
      ],
      "extract": "Input Context Example 130: Coercing Values to Strings Given the following expanded document: [{ \"http://example.com/plain\": [ {\"@value\": \"string\"}, {\"@value\": true}, {\"@value\": 1} ], \"http://example.com/date\": [ { \"@value\": \"2018-02-16\", \"@type\": \"http://www.w3.org/2001/XMLSchema#date\" } ], \"http://example.com/en\": [ {\"@value\": \"English\", \"@language\": \"en\"} ], \"http://example.com/iri\": [ {\"@id\":",
      "extractCut": true
    },
    {
      "id": "sec-088-523-representing-lists-as-arrays",
      "number": "5.2.3",
      "title": "Representing Lists as Arrays",
      "level": 4,
      "pageStart": 63,
      "pageEnd": 63,
      "labelStart": null,
      "labelEnd": null,
      "words": 69,
      "summary": null,
      "keywords": [
        {
          "term": "nick",
          "heading": false
        },
        {
          "term": "jaybee",
          "heading": false
        },
        {
          "term": "arrays",
          "heading": true
        }
      ],
      "extract": "Input Context Example 131: Using Arrays for Lists Given the following expanded document: [{ \"http://xmlns.com/foaf/0.1/nick\": [{ \"@list\": [ {\"@value\": \"joe\"}, {\"@value\": \"bob\"}, {\"@value\": \"jaybee\"} ] }] }] And the following context: { \"@context\": { \"nick\": { \"@id\": \"http://xmlns.com/foaf/0.1/nick\", \"@container\": \"@list\" } } } The compacted version eliminates the explicit list object. { \"@context\": { \"nick\": {",
      "extractCut": true
    },
    {
      "id": "sec-089-524-reversing-node-relationships",
      "number": "5.2.4",
      "title": "Reversing Node Relationships",
      "level": 4,
      "pageStart": 63,
      "pageEnd": 64,
      "labelStart": null,
      "labelEnd": null,
      "words": 199,
      "summary": null,
      "keywords": [
        {
          "term": "homer",
          "heading": false
        },
        {
          "term": "bart",
          "heading": false
        },
        {
          "term": "reversing",
          "heading": true
        },
        {
          "term": "children",
          "heading": false
        },
        {
          "term": "lisa",
          "heading": false
        },
        {
          "term": "reverse",
          "heading": false
        }
      ],
      "extract": "Input Example 132: Reversing Node Relationships Given the following expanded document: [{ \"@id\": \"http://example.org/#homer\", \"http://example.com/vocab#name\": [{\"@value\": \"Homer\"}], \"@reverse\": { Reverse properties can be even more useful when combined with framing, which can actually make node objects defined at the top-level of a document to become embedded nodes. JSON-LD provides a means to index such values, by",
      "extractCut": true
    },
    {
      "id": "sec-090-525-indexing-values",
      "number": "5.2.5",
      "title": "Indexing Values",
      "level": 4,
      "pageStart": 64,
      "pageEnd": 65,
      "labelStart": null,
      "labelEnd": null,
      "words": 190,
      "summary": null,
      "keywords": [
        {
          "term": "ihre majestät",
          "heading": false
        },
        {
          "term": "die königin",
          "heading": false
        },
        {
          "term": "language tag",
          "heading": false
        },
        {
          "term": "label",
          "heading": false
        },
        {
          "term": "queen",
          "heading": false
        },
        {
          "term": "vocab",
          "heading": false
        }
      ],
      "extract": "Input Context Example 133: Indexing language-tagged strings Given the following expanded document: [{ \"@id\": \"http://example.com/queen\", \"http://example.com/vocab/label\": [ {\"@value\": \"The Queen\", \"@language\": \"en\"}, {\"@value\": \"Die Königin\", \"@language\": \"de\"}, {\"@value\": \"Ihre Majestät\", \"@language\": \"de\"} ] }] And the following context: { \"@context\": { \"vocab\": \"http://example.com/vocab/\", \"label\": { \"@id\":",
      "extractCut": true
    },
    {
      "id": "sec-091-526-normalizing-values-as-objects",
      "number": "5.2.6",
      "title": "Normalizing Values as Objects",
      "level": 4,
      "pageStart": 65,
      "pageEnd": 66,
      "labelStart": null,
      "labelEnd": null,
      "words": 296,
      "summary": null,
      "keywords": [
        {
          "term": "term definition",
          "heading": false
        },
        {
          "term": "values",
          "heading": true
        },
        {
          "term": "compaction algorithm",
          "heading": false
        },
        {
          "term": "properties having",
          "heading": false
        },
        {
          "term": "false",
          "heading": false
        },
        {
          "term": "represented",
          "heading": false
        },
        {
          "term": "plain",
          "heading": false
        },
        {
          "term": "compacting",
          "heading": false
        }
      ],
      "extract": "Input Context Example 134: Forcing Object Values Given the following expanded document: [{ \"http://example.com/notype\": [ {\"@value\": \"string\"}, {\"@value\": true}, {\"@value\": false}, {\"@value\": 1}, {\"@value\": 10.0}, {\"@value\": \"plain\"}, {\"@value\": \"false\", \"@type\": \"http://www.w3.org/2001/XMLSchema#boolean\"}, {\"@value\": \"english\", \"@language\": \"en\"}, {\"@value\": \"2018-02-17\", \"@type\":",
      "extractCut": true
    },
    {
      "id": "sec-092-527-representing-singular-values-as-arrays",
      "number": "5.2.7",
      "title": "Representing Singular Values as Arrays",
      "level": 4,
      "pageStart": 66,
      "pageEnd": 66,
      "labelStart": null,
      "labelEnd": null,
      "words": 110,
      "summary": null,
      "keywords": [
        {
          "term": "ihre majestät",
          "heading": false
        },
        {
          "term": "die königin",
          "heading": false
        },
        {
          "term": "queen",
          "heading": false
        }
      ],
      "extract": "Input Context Result Example 135: Indexing language-tagged strings and @set Given the following expanded document: [{ \"@id\": \"http://example.com/queen\", \"http://example.com/vocab/label\": [ {\"@value\": \"The Queen\", \"@language\": \"en\"}, {\"@value\": \"Die Königin\", \"@language\": \"de\"}, {\"@value\": \"Ihre Majestät\", \"@language\": \"de\"} ] }] And the following context: { \"@context\": { \"@version\": 1.1, \"@vocab\":",
      "extractCut": true
    },
    {
      "id": "sec-093-528-term-selection",
      "number": "5.2.8",
      "title": "Term Selection",
      "level": 4,
      "pageStart": 66,
      "pageEnd": 67,
      "labelStart": null,
      "labelEnd": null,
      "words": 260,
      "summary": null,
      "keywords": [
        {
          "term": "vocab",
          "heading": false
        },
        {
          "term": "json-ld input",
          "heading": false
        },
        {
          "term": "flattening",
          "heading": false
        },
        {
          "term": "integer",
          "heading": false
        },
        {
          "term": "english",
          "heading": false
        },
        {
          "term": "date",
          "heading": false
        },
        {
          "term": "input document",
          "heading": false
        },
        {
          "term": "iri",
          "heading": false
        }
      ],
      "extract": "Input Example 136: Term Selection Given the following expanded document: [{ \"http://example.com/vocab/property\": [ {\"@value\": \"string\"}, {\"@value\": true}, {\"@value\": 1}, {\"@value\": \"false\", \"@type\": \"http://www.w3.org/2001/XMLSchema#boolean\"}, {\"@value\": \"10\", \"@type\": \"http://www.w3.org/2001/XMLSchema#integer\"}, This section is non-normative. The JSON-LD 1.1 Processing Algorithms and API specification",
      "extractCut": true
    },
    {
      "id": "sec-094-53-flattened-document-form",
      "number": "5.3",
      "title": "Flattened Document Form",
      "level": 3,
      "pageStart": 67,
      "pageEnd": 68,
      "labelStart": null,
      "labelEnd": null,
      "words": 266,
      "summary": null,
      "keywords": [
        {
          "term": "flattened document",
          "heading": true
        },
        {
          "term": "document form",
          "heading": true
        },
        {
          "term": "frame document",
          "heading": false
        },
        {
          "term": "json-ld document",
          "heading": false
        },
        {
          "term": "markus lanthaler",
          "heading": false
        },
        {
          "term": "dave longley",
          "heading": false
        },
        {
          "term": "book object",
          "heading": false
        },
        {
          "term": "manu sporny",
          "heading": false
        }
      ],
      "extract": "Input Example 137: Sample JSON-LD document to be flattened { \"@context\": { \"name\": \"http://xmlns.com/foaf/0.1/name\", \"knows\": \"http://xmlns.com/foaf/0.1/knows\" }, \"@id\": \"http://me.markus-lanthaler.com/\", \"name\": \"Markus Lanthaler\", \"knows\": [ { \"@id\": \"http://manu.sporny.org/about#manu\", \"name\": \"Manu Sporny\" }, { \"name\": \"Dave Longley\" } ] } JSON-LD's media type defines a profile parameter which can be used to",
      "extractCut": true
    },
    {
      "id": "sec-095-54-framed-document-form",
      "number": "5.4",
      "title": "Framed Document Form",
      "level": 3,
      "pageStart": 68,
      "pageEnd": 69,
      "labelStart": null,
      "labelEnd": null,
      "words": 196,
      "summary": null,
      "keywords": [
        {
          "term": "framed document",
          "heading": true
        },
        {
          "term": "document form",
          "heading": true
        },
        {
          "term": "link relation",
          "heading": false
        },
        {
          "term": "http link",
          "heading": false
        },
        {
          "term": "json-ld media",
          "heading": false
        },
        {
          "term": "defines profile",
          "heading": false
        }
      ],
      "extract": "Frame Example 139: Sample library frame { \"@context\": { \"@version\": 1.1, \"@vocab\": \"http://example.org/\" }, \"@type\": \"Library\", \"contains\": { \"@type\": \"Book\", \"contains\": { \"@type\": \"Chapter\" } } } Input Example 140: Flattened library objects { \"@context\": { \"@vocab\": \"http://example.org/\", \"contains\": {\"@type\": \"@id\"} }, \"@graph\": [{ \"@id\": \"http://example.org/library\", \"@type\": \"Library\", \"contains\":",
      "extractCut": true
    },
    {
      "id": "sec-096-61-interpreting-json-as-json-ld",
      "number": "6.1",
      "title": "Interpreting JSON as JSON-LD",
      "level": 3,
      "pageStart": 69,
      "pageEnd": 69,
      "labelStart": null,
      "labelEnd": null,
      "words": 73,
      "summary": null,
      "keywords": [
        {
          "term": "json-ld",
          "heading": true
        },
        {
          "term": "http",
          "heading": false
        },
        {
          "term": "negotiation",
          "heading": false
        }
      ],
      "extract": "In other cases, a resource may be returned using a representation that cannot easily be interpreted as JSON-LD. Normally, HTTP content negotiation would 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 practical for a server to respond appropriately to such requests. For this, an HTTP Link Header can be used to provide an",
      "extractCut": true
    },
    {
      "id": "sec-097-62-alternate-document-location",
      "number": "6.2",
      "title": "Alternate Document Location",
      "level": 3,
      "pageStart": 69,
      "pageEnd": 69,
      "labelStart": null,
      "labelEnd": null,
      "words": 264,
      "summary": null,
      "keywords": [
        {
          "term": "ordinary json",
          "heading": false
        },
        {
          "term": "top-level json",
          "heading": false
        },
        {
          "term": "introductory chapter",
          "heading": false
        },
        {
          "term": "json document",
          "heading": false
        },
        {
          "term": "referencing document",
          "heading": false
        },
        {
          "term": "context subtree",
          "heading": false
        },
        {
          "term": "json object",
          "heading": false
        },
        {
          "term": "republic",
          "heading": false
        }
      ],
      "extract": "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 referencing a JSON-LD context document in an HTTP Link Header. Doing so allows JSON to be unambiguously machine-readable without requiring developers to drastically change their documents and provides an upgrade path for existing infrastructure without breaking existing clients",
      "extractCut": true
    },
    {
      "id": "sec-098-6-modifying-behavior-with-link-relationships",
      "number": "6",
      "title": "Modifying Behavior with Link Relationships",
      "level": 2,
      "pageStart": 69,
      "pageEnd": 70,
      "labelStart": null,
      "labelEnd": null,
      "words": 272,
      "summary": null,
      "keywords": [
        {
          "term": "link",
          "heading": true
        },
        {
          "term": "link header",
          "heading": false
        },
        {
          "term": "http link",
          "heading": false
        },
        {
          "term": "alternate location",
          "heading": false
        },
        {
          "term": "link relation",
          "heading": false
        },
        {
          "term": "json-ld context",
          "heading": false
        },
        {
          "term": "uri schemes",
          "heading": false
        },
        {
          "term": "external context",
          "heading": false
        }
      ],
      "extract": "6.1 Interpreting JSON as JSON-LD § the active context is initialized with the referenced external context. A response MUST NOT contain more than one HTTP Link Header using the http://www.w3.org/ns/json-ld#context link relation. Other mechanisms for providing a JSON-LD Context MAY be described for other URI schemes. The JSON-LD 1.1 Processing Algorithms and API specification [JSON-LD11-API] provides for an",
      "extractCut": true
    },
    {
      "id": "sec-099-note",
      "number": null,
      "title": "Note",
      "level": 3,
      "pageStart": 70,
      "pageEnd": 71,
      "labelStart": null,
      "labelEnd": null,
      "words": 92,
      "summary": null,
      "keywords": [
        {
          "term": "primary entrypoint",
          "heading": false
        },
        {
          "term": "application json",
          "heading": false
        },
        {
          "term": "ordinary-json-document",
          "heading": false
        }
      ],
      "extract": "Example 142: Referencing a JSON-LD context from a JSON document via an HTTP Link Header GET /ordinary-json-document.json HTTP/1.1 Host: example.com Accept: application/ld+json,application/json,*/*;q=0.1 ==================================== HTTP/1.1 200 OK ... Content-Type: application/json Link: <https://json-ld.org/contexts/person.jsonld>; rel=\"http://www.w3.org/ns/json-ld#context\"; type=\"application/ld+json\" {",
      "extractCut": true
    },
    {
      "id": "sec-100-note",
      "number": null,
      "title": "Note",
      "level": 4,
      "pageStart": 71,
      "pageEnd": 71,
      "labelStart": null,
      "labelEnd": null,
      "words": 282,
      "summary": null,
      "keywords": [
        {
          "term": "json-ld script",
          "heading": false
        },
        {
          "term": "script elements",
          "heading": false
        },
        {
          "term": "embedding json-ld",
          "heading": false
        },
        {
          "term": "json-ld content",
          "heading": false
        },
        {
          "term": "html",
          "heading": false
        },
        {
          "term": "single dataset",
          "heading": false
        },
        {
          "term": "data describing",
          "heading": false
        },
        {
          "term": "rdf",
          "heading": false
        }
      ],
      "extract": "This section describes features available with a documentLoader supporting HTML script extraction. See Remote Document and Context Retrieval for more information. JSON-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. Doing so creates a data block. Defining how such data may be used is beyond the scope of this specification. The",
      "extractCut": true
    },
    {
      "id": "sec-101-71-inheriting-base-iri-from-htmls-base-element",
      "number": "7.1",
      "title": "Inheriting base IRI from HTML's base element",
      "level": 3,
      "pageStart": 71,
      "pageEnd": 72,
      "labelStart": null,
      "labelEnd": null,
      "words": 145,
      "summary": null,
      "keywords": [
        {
          "term": "base iri",
          "heading": true
        },
        {
          "term": "john lennon",
          "heading": false
        },
        {
          "term": "html",
          "heading": true
        },
        {
          "term": "base urls",
          "heading": false
        },
        {
          "term": "dynamic changes",
          "heading": false
        }
      ],
      "extract": "Input Example 146: Using the document base URL to establish the default base IRI Compacted (Input) Expanded (Result) Statements Turtle <html> <head> <base href=\"http://dbpedia.org/resource/\"/> <script type=\"application/ld+json\"> { \"@context\": \"https://json-ld.org/contexts/person.jsonld\", \"@id\": \"John_Lennon\", \"name\": \"John Lennon\", \"born\": \"1940-10-09\", \"spouse\": \"Cynthia_Lennon\" HTML allows for Dynamic changes to",
      "extractCut": true
    },
    {
      "id": "sec-102-note",
      "number": null,
      "title": "Note",
      "level": 3,
      "pageStart": 72,
      "pageEnd": 72,
      "labelStart": null,
      "labelEnd": null,
      "words": 142,
      "summary": null,
      "keywords": [
        {
          "term": "html document",
          "heading": false
        },
        {
          "term": "document located",
          "heading": false
        },
        {
          "term": "script element",
          "heading": false
        },
        {
          "term": "escaped",
          "heading": false
        }
      ],
      "extract": "Such content should be escaped as indicated below, however the content will remain escaped after processing through the JSON-LD API [JSON- LD11-API]. &amp; → & (ampersand, U+0026) &lt; → < (less-than sign, U+003C) &gt; → > (greater-than sign, U+003E) &quot; → \" (quotation mark, U+0022) &apos; → ' (apostrophe, U+0027) A specific script element within an HTML document may be located using a fragment identifier",
      "extractCut": true
    },
    {
      "id": "sec-103-72-restrictions-for-contents-of-json-ld-script-e",
      "number": "7.2",
      "title": "Restrictions for contents of JSON-LD script elements",
      "level": 3,
      "pageStart": 72,
      "pageEnd": 72,
      "labelStart": null,
      "labelEnd": null,
      "words": 35,
      "summary": null,
      "keywords": [
        {
          "term": "script",
          "heading": true
        },
        {
          "term": "html",
          "heading": false
        },
        {
          "term": "json-ld",
          "heading": true
        }
      ],
      "extract": "Input Example 147: Embedding JSON-LD containing HTML in HTML Compacted (Input) Expanded (Result) Turtle <script type=\"application/ld+json\"> { \"@context\": \"http://schema.org/\", \"@type\": \"WebPageElement\", \"name\": \"Encoding Issues\", \"description\": \"Issues list such as unescaped &lt;/script&gt; or --&gt;\" } </script>",
      "extractCut": false
    },
    {
      "id": "sec-104-73-locating-a-specific-json-ld-script-element",
      "number": "7.3",
      "title": "Locating a Specific JSON-LD Script Element",
      "level": 3,
      "pageStart": 72,
      "pageEnd": 73,
      "labelStart": null,
      "labelEnd": null,
      "words": 102,
      "summary": null,
      "keywords": [
        {
          "term": "script element",
          "heading": true
        },
        {
          "term": "json-ld",
          "heading": true
        },
        {
          "term": "targeting",
          "heading": false
        }
      ],
      "extract": "Input Example 148: Targeting a specific script element by id Compacted (Input) Statements Turtle Targeting a script element with id \"gregg\" <p>Data describing Dave</p> <script id=\"dave\" type=\"application/ld+json\"> { \"@context\": \"http://schema.org/\", \"@id\": \"https://digitalbazaar.com/author/dlongley/\", \"@type\": \"Person\", \"name\": \"Dave Longley\" } </script> <p>Data describing Gregg</p> <script id=\"gregg\"",
      "extractCut": true
    },
    {
      "id": "sec-105-8-data-model",
      "number": "8",
      "title": "Data Model",
      "level": 2,
      "pageStart": 73,
      "pageEnd": 73,
      "labelStart": null,
      "labelEnd": null,
      "words": 129,
      "summary": null,
      "keywords": [
        {
          "term": "default graph",
          "heading": false
        },
        {
          "term": "graph name",
          "heading": false
        },
        {
          "term": "whenever practical",
          "heading": false
        },
        {
          "term": "blank node",
          "heading": false
        }
      ],
      "extract": "To ease understanding for developers unfamiliar with the RDF model, the following summary is provided: A JSON-LD document serializes a RDF Dataset [RDF11-CONCEPTS], which is a collection of graphs that comprises exactly one default graph and zero or more named graphs. The default graph does not have a name and MAY be empty. Each named graph is a pair consisting of an IRI or blank node identifier (the graph name) and",
      "extractCut": true
    },
    {
      "id": "sec-106-note",
      "number": null,
      "title": "Note",
      "level": 3,
      "pageStart": 73,
      "pageEnd": 74,
      "labelStart": null,
      "labelEnd": null,
      "words": 552,
      "summary": null,
      "keywords": [
        {
          "term": "blank node",
          "heading": false
        },
        {
          "term": "node identifier",
          "heading": false
        },
        {
          "term": "node objects",
          "heading": false
        },
        {
          "term": "typed value",
          "heading": false
        },
        {
          "term": "language-tagged string",
          "heading": false
        },
        {
          "term": "json-ld value",
          "heading": false
        },
        {
          "term": "json-ld document",
          "heading": false
        },
        {
          "term": "linked data",
          "heading": false
        }
      ],
      "extract": "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 document-relative IRI, instead, such as #. Every node is an IRI, a blank node, or a literal, although syntactically lists and native JSON values may be represented directly. A node having an outgoing edge MUST be an IRI or a blank node. A graph MUST NOT contain unconnected nodes,",
      "extractCut": true
    },
    {
      "id": "sec-107-note",
      "number": null,
      "title": "Note",
      "level": 3,
      "pageStart": 74,
      "pageEnd": 75,
      "labelStart": null,
      "labelEnd": null,
      "words": 413,
      "summary": null,
      "keywords": [
        {
          "term": "people bob",
          "heading": false
        },
        {
          "term": "people alice",
          "heading": false
        },
        {
          "term": "named graphs",
          "heading": false
        },
        {
          "term": "compact iri",
          "heading": false
        },
        {
          "term": "json-ld document",
          "heading": false
        },
        {
          "term": "valid json",
          "heading": false
        },
        {
          "term": "alias",
          "heading": false
        },
        {
          "term": "json text",
          "heading": false
        }
      ],
      "extract": "Input Example 150: Linked Data Dataset Compacted (Input) Expanded (Result) Statements TriG { \"@context\": [ \"http://schema.org/\", {\"@base\": \"http://example.com/\"} ], \"@graph\": [{ \"@id\": \"people/alice\", \"gender\": [ {\"@value\": \"weiblich\", \"@language\": \"de\"}, {\"@value\": \"female\", \"@language\": \"en\"} ], \"knows\": {\"@id\": \"people/bob\"}, \"name\": \"Alice\" }, { \"@id\": \"graphs/1\", \"@graph\": { \"@id\": \"people/alice\", \"parent\": {",
      "extractCut": true
    },
    {
      "id": "sec-108-91-terms",
      "number": "9.1",
      "title": "Terms",
      "level": 3,
      "pageStart": 75,
      "pageEnd": 75,
      "labelStart": null,
      "labelEnd": null,
      "words": 347,
      "summary": null,
      "keywords": [
        {
          "term": "node object",
          "heading": false
        },
        {
          "term": "different node",
          "heading": false
        },
        {
          "term": "object contains",
          "heading": false
        },
        {
          "term": "compact iris",
          "heading": false
        },
        {
          "term": "json-ld document",
          "heading": false
        },
        {
          "term": "graph",
          "heading": false
        },
        {
          "term": "iri reference",
          "heading": false
        },
        {
          "term": "further discussion",
          "heading": false
        }
      ],
      "extract": "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 outside of a JSON-LD context and: it is not the top-most map in the JSON-LD document consisting of no other entries than @graph and @context, it does not contain the @value, @list, or @set keywords, and it is not a graph object. The properties of a node in a graph may be",
      "extractCut": true
    },
    {
      "id": "sec-109-92-node-objects",
      "number": "9.2",
      "title": "Node Objects",
      "level": 3,
      "pageStart": 75,
      "pageEnd": 75,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-110-9-json-ld-grammar",
      "number": "9",
      "title": "JSON-LD Grammar",
      "level": 2,
      "pageStart": 75,
      "pageEnd": 76,
      "labelStart": null,
      "labelEnd": null,
      "words": 425,
      "summary": null,
      "keywords": [
        {
          "term": "node object",
          "heading": false
        },
        {
          "term": "frame object",
          "heading": false
        },
        {
          "term": "value object",
          "heading": false
        },
        {
          "term": "blank node",
          "heading": false
        },
        {
          "term": "object contains",
          "heading": false
        },
        {
          "term": "empty map",
          "heading": false
        },
        {
          "term": "array containing",
          "heading": false
        },
        {
          "term": "compact iri",
          "heading": false
        }
      ],
      "extract": "9.1 Terms § 9.2 Node Objects § If 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 in 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. If the node object contains the @reverse key, its value MUST be a map containing entries",
      "extractCut": true
    },
    {
      "id": "sec-111-93-frame-objects",
      "number": "9.3",
      "title": "Frame Objects",
      "level": 3,
      "pageStart": 76,
      "pageEnd": 76,
      "labelStart": null,
      "labelEnd": null,
      "words": 260,
      "summary": null,
      "keywords": [
        {
          "term": "named graph",
          "heading": false
        },
        {
          "term": "graph object",
          "heading": false
        },
        {
          "term": "blank node",
          "heading": false
        },
        {
          "term": "graph name",
          "heading": false
        },
        {
          "term": "node identifiers",
          "heading": false
        },
        {
          "term": "object contains",
          "heading": false
        },
        {
          "term": "represents named",
          "heading": false
        }
      ],
      "extract": "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 context, 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 other than @graph, @index, @id and @context, or an alias of one of these keywords. If the graph object contains the @context",
      "extractCut": true
    },
    {
      "id": "sec-112-94-graph-objects",
      "number": "9.4",
      "title": "Graph Objects",
      "level": 3,
      "pageStart": 76,
      "pageEnd": 76,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-113-95-value-objects",
      "number": "9.5",
      "title": "Value Objects",
      "level": 3,
      "pageStart": 76,
      "pageEnd": 77,
      "labelStart": null,
      "labelEnd": null,
      "words": 569,
      "summary": null,
      "keywords": [
        {
          "term": "language map",
          "heading": false
        },
        {
          "term": "value",
          "heading": true
        },
        {
          "term": "value object",
          "heading": false
        },
        {
          "term": "value key",
          "heading": false
        },
        {
          "term": "empty map",
          "heading": false
        },
        {
          "term": "value associated",
          "heading": false
        },
        {
          "term": "index key",
          "heading": false
        },
        {
          "term": "array containing",
          "heading": false
        }
      ],
      "extract": "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 key 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 keys that expand to an IRI or keyword. The value associated with the @value key MUST be either a string, a number, true, false or null. If",
      "extractCut": true
    },
    {
      "id": "sec-114-98-language-maps",
      "number": "9.8",
      "title": "Language Maps",
      "level": 3,
      "pageStart": 77,
      "pageEnd": 77,
      "labelStart": null,
      "labelEnd": null,
      "words": 71,
      "summary": null,
      "keywords": [
        {
          "term": "index map",
          "heading": false
        },
        {
          "term": "preserved",
          "heading": false
        },
        {
          "term": "term",
          "heading": false
        }
      ],
      "extract": "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 may 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 . The values of the entries of an index map MUST be one of the following types: string,",
      "extractCut": false
    },
    {
      "id": "sec-115-96-value-patterns",
      "number": "9.6",
      "title": "Value Patterns",
      "level": 3,
      "pageStart": 77,
      "pageEnd": 77,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-116-97-lists-and-sets",
      "number": "9.7",
      "title": "Lists and Sets",
      "level": 3,
      "pageStart": 77,
      "pageEnd": 77,
      "labelStart": null,
      "labelEnd": null,
      "words": 4,
      "summary": null,
      "keywords": [],
      "extract": "9.8 Language Maps §",
      "extractCut": false
    },
    {
      "id": "sec-117-99-index-maps",
      "number": "9.9",
      "title": "Index Maps",
      "level": 3,
      "pageStart": 77,
      "pageEnd": 78,
      "labelStart": null,
      "labelEnd": null,
      "words": 639,
      "summary": null,
      "keywords": [
        {
          "term": "node objects",
          "heading": false
        },
        {
          "term": "property-based index",
          "heading": false
        },
        {
          "term": "index map",
          "heading": false
        },
        {
          "term": "blank node",
          "heading": false
        },
        {
          "term": "named graph",
          "heading": false
        },
        {
          "term": "node identifiers",
          "heading": false
        },
        {
          "term": "object value",
          "heading": false
        },
        {
          "term": "term value",
          "heading": false
        }
      ],
      "extract": "number, true, false, null, node object, value object, list object, set object, an array of zero or more of the above possibilities See § 4.6.1 Data Indexing for further information on this topic. Index 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 @graph and @index, and optionally including @set. The value consists of the node",
      "extractCut": true
    },
    {
      "id": "sec-118-913-included-blocks",
      "number": "9.13",
      "title": "Included Blocks",
      "level": 3,
      "pageStart": 78,
      "pageEnd": 78,
      "labelStart": null,
      "labelEnd": null,
      "words": 79,
      "summary": null,
      "keywords": [
        {
          "term": "node object",
          "heading": false
        },
        {
          "term": "nesting",
          "heading": false
        },
        {
          "term": "nested",
          "heading": false
        }
      ],
      "extract": "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 transparent and is removed during the process of expansion. Property nesting is recursive, and collections of nested properties may contain further nesting. Semantically, nesting is treated as if the properties and values were declared directly within the containing node",
      "extractCut": true
    },
    {
      "id": "sec-119-910-property-based-index-maps",
      "number": "9.10",
      "title": "Property-based Index Maps",
      "level": 3,
      "pageStart": 78,
      "pageEnd": 78,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-120-911-id-maps",
      "number": "9.11",
      "title": "Id Maps",
      "level": 3,
      "pageStart": 78,
      "pageEnd": 78,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-121-912-type-maps",
      "number": "9.12",
      "title": "Type Maps",
      "level": 3,
      "pageStart": 78,
      "pageEnd": 78,
      "labelStart": null,
      "labelEnd": null,
      "words": 4,
      "summary": null,
      "keywords": [],
      "extract": "9.13 Included Blocks §",
      "extractCut": false
    },
    {
      "id": "sec-122-914-property-nesting",
      "number": "9.14",
      "title": "Property Nesting",
      "level": 3,
      "pageStart": 78,
      "pageEnd": 78,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-123-915-context-definitions",
      "number": "9.15",
      "title": "Context Definitions",
      "level": 3,
      "pageStart": 78,
      "pageEnd": 79,
      "labelStart": null,
      "labelEnd": null,
      "words": 313,
      "summary": null,
      "keywords": [
        {
          "term": "term definition",
          "heading": false
        },
        {
          "term": "context definition",
          "heading": false
        },
        {
          "term": "compact iri",
          "heading": false
        },
        {
          "term": "iri reference",
          "heading": false
        },
        {
          "term": "expanded term",
          "heading": false
        },
        {
          "term": "blank node",
          "heading": false
        },
        {
          "term": "node identifier",
          "heading": false
        },
        {
          "term": "null",
          "heading": false
        }
      ],
      "extract": "A context definition MUST be a map whose keys MUST be either terms, compact IRIs, IRIs, or one of the keywords @base, @import, @language, @propagate, @protected, @type, @version, or @vocab. If the context definition has an @base key, its value MUST be an IRI reference, or null. If the context definition has an @direction key, its value MUST be one of \"ltr\" or \"rtl\", or be null. If the context definition contains the",
      "extractCut": true
    },
    {
      "id": "sec-124-9151-expanded-term-definition",
      "number": "9.15.1",
      "title": "Expanded term definition",
      "level": 4,
      "pageStart": 79,
      "pageEnd": 82,
      "labelStart": null,
      "labelEnd": null,
      "words": 2147,
      "summary": null,
      "keywords": [
        {
          "term": "term definition",
          "heading": true
        },
        {
          "term": "expanded term",
          "heading": true
        },
        {
          "term": "nest keyword",
          "heading": false
        },
        {
          "term": "container keyword",
          "heading": false
        },
        {
          "term": "index keyword",
          "heading": false
        },
        {
          "term": "protected keyword",
          "heading": false
        },
        {
          "term": "propagate keyword",
          "heading": false
        },
        {
          "term": "language keyword",
          "heading": false
        }
      ],
      "extract": "When the associated term is @type, the expanded term definition MUST NOT contain keys other than @container and @protected. The value of @container is limited to the single value @set. If 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 include the @id key. Term definitions with keys which are of the form of an IRI or a",
      "extractCut": true
    },
    {
      "id": "sec-125-note",
      "number": null,
      "title": "Note",
      "level": 3,
      "pageStart": 82,
      "pageEnd": 82,
      "labelStart": null,
      "labelEnd": null,
      "words": 402,
      "summary": null,
      "keywords": [
        {
          "term": "serializing rdf",
          "heading": false
        },
        {
          "term": "rdf datasets",
          "heading": false
        },
        {
          "term": "json-ld document",
          "heading": false
        },
        {
          "term": "blank node",
          "heading": false
        },
        {
          "term": "default graph",
          "heading": false
        },
        {
          "term": "node identifiers",
          "heading": false
        },
        {
          "term": "document base",
          "heading": false
        },
        {
          "term": "discussed further",
          "heading": false
        }
      ],
      "extract": "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 generalized RDF Datasets. Summarized, these differences mean that JSON-LD is capable of serializing any RDF graph or dataset and most, but not all, JSON-LD documents can be directly interpreted as RDF as described in RDF 1.1 Concepts [RDF11-CONCEPTS]. Authors are strongly",
      "extractCut": true
    },
    {
      "id": "sec-126-10-relationship-to-rdf",
      "number": "10",
      "title": "Relationship to RDF",
      "level": 2,
      "pageStart": 82,
      "pageEnd": 82,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-127-101-serializingdeserializing-rdf",
      "number": "10.1",
      "title": "Serializing/Deserializing RDF",
      "level": 3,
      "pageStart": 82,
      "pageEnd": 83,
      "labelStart": null,
      "labelEnd": null,
      "words": 154,
      "summary": null,
      "keywords": [
        {
          "term": "rdf",
          "heading": true
        },
        {
          "term": "triples",
          "heading": false
        },
        {
          "term": "deserializing",
          "heading": true
        },
        {
          "term": "serializing",
          "heading": true
        },
        {
          "term": "node object",
          "heading": false
        }
      ],
      "extract": "Running the JSON-LD Expansion and Flattening algorithms against the JSON-LD input document in the example above would result in the following output: Deserializing 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 follows: The process of serializing RDF as JSON-LD can be thought of as the inverse of this last step, creating an",
      "extractCut": true
    },
    {
      "id": "sec-128-102-the-rdfjson-datatype",
      "number": "10.2",
      "title": "The rdf:JSON Datatype",
      "level": 3,
      "pageStart": 83,
      "pageEnd": 84,
      "labelStart": null,
      "labelEnd": null,
      "words": 273,
      "summary": null,
      "keywords": [
        {
          "term": "markus lanthaler",
          "heading": false
        },
        {
          "term": "dave longley",
          "heading": false
        },
        {
          "term": "json grammar",
          "heading": false
        },
        {
          "term": "unicode",
          "heading": false
        },
        {
          "term": "manu sporny",
          "heading": false
        },
        {
          "term": "datatype",
          "heading": true
        },
        {
          "term": "section json",
          "heading": false
        }
      ],
      "extract": "The IRI denoting this datatype is http://www.w3.org/1999/02/22-rdf-syntax-ns#JSON. The lexical space is the set of UNICODE [UNICODE] strings which conform to the JSON Grammar as described in Section 2 JSON Grammar of [RFC8259]. The value space Example 151: Sample JSON-LD document { \"@context\": { \"name\": \"http://xmlns.com/foaf/0.1/name\", \"knows\": \"http://xmlns.com/foaf/0.1/knows\" }, \"@id\":",
      "extractCut": true
    },
    {
      "id": "sec-129-issue",
      "number": null,
      "title": "Issue",
      "level": 4,
      "pageStart": 84,
      "pageEnd": 84,
      "labelStart": null,
      "labelEnd": null,
      "words": 344,
      "summary": null,
      "keywords": [
        {
          "term": "base direction",
          "heading": false
        },
        {
          "term": "rdf literals",
          "heading": false
        },
        {
          "term": "lexical space",
          "heading": false
        },
        {
          "term": "language tag",
          "heading": false
        },
        {
          "term": "json canonicalization",
          "heading": false
        },
        {
          "term": "value space",
          "heading": false
        },
        {
          "term": "i18n",
          "heading": false
        },
        {
          "term": "mapping maps",
          "heading": false
        }
      ],
      "extract": "The JSON Canonicalization Scheme (JCS) [RFC8785] is an emerging standard for JSON canonicalization. This specification will likely be updated to require such a canonical representation. Users are cautioned from depending on the JSON literal lexical representation as an RDF literal, as the specifics of serialization may change in a future revision of this document. Despite being defined as a set of strings, this",
      "extractCut": true
    },
    {
      "id": "sec-130-note",
      "number": null,
      "title": "Note",
      "level": 3,
      "pageStart": 84,
      "pageEnd": 84,
      "labelStart": null,
      "labelEnd": null,
      "words": 182,
      "summary": null,
      "keywords": [
        {
          "term": "rdf property",
          "heading": false
        },
        {
          "term": "ar-eg rtl",
          "heading": false
        },
        {
          "term": "base direction",
          "heading": false
        },
        {
          "term": "language tag",
          "heading": false
        },
        {
          "term": "compoundliteral",
          "heading": false
        },
        {
          "term": "literal",
          "heading": false
        },
        {
          "term": "whose value",
          "heading": false
        }
      ],
      "extract": "[ ex:title \"HTML و CSS: تصميم و إنشاء مواقع الويب\"^^i18n:ar-eg_rtl; ex:publisher \"مكتبة\"^^i18n:ar-eg_rtl ] . See § 4.2.4.1 Base Direction for more details on using base direction for strings. This section is non-normative. This specification defines the rdf:CompoundLiteral class, which is in the domain of rdf:language and rdf:direction to be used for describing RDF literal values containing base direction and a",
      "extractCut": true
    },
    {
      "id": "sec-131-103-the-i18n-namespace",
      "number": "10.3",
      "title": "The i18n Namespace",
      "level": 3,
      "pageStart": 84,
      "pageEnd": 84,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-132-104-the-rdfcompoundliteral-class-and-the-rdflang",
      "number": "10.4",
      "title": "The rdf:CompoundLiteral class and the rdf:language and rdf:direction properties",
      "level": 3,
      "pageStart": 84,
      "pageEnd": 85,
      "labelStart": null,
      "labelEnd": null,
      "words": 95,
      "summary": null,
      "keywords": [
        {
          "term": "direction",
          "heading": true
        },
        {
          "term": "rdf",
          "heading": true
        },
        {
          "term": "base direction",
          "heading": false
        },
        {
          "term": "language tag",
          "heading": false
        }
      ],
      "extract": "For improved interoperability, the language tag is normalized to lower case when creating the datatype IRI. The following example shows two statements with compound literals representing strings with the language tag ar-EG and base direction rtl. @prefix ex: <http://example.org/> . # Note that this version preserves the base direction using a bnode structure. [ ex:title [ rdf:value \"HTML و CSS: تصميم و إنشاء مواقع",
      "extractCut": true
    },
    {
      "id": "sec-133-11-security-considerations",
      "number": "11",
      "title": "Security Considerations",
      "level": 2,
      "pageStart": 85,
      "pageEnd": 85,
      "labelStart": null,
      "labelEnd": null,
      "words": 420,
      "summary": null,
      "keywords": [
        {
          "term": "base direction",
          "heading": false
        },
        {
          "term": "working group",
          "heading": false
        },
        {
          "term": "rdf data",
          "heading": false
        },
        {
          "term": "linked data",
          "heading": false
        },
        {
          "term": "unicode",
          "heading": false
        },
        {
          "term": "alice",
          "heading": false
        },
        {
          "term": "retrieved",
          "heading": false
        },
        {
          "term": "strings",
          "heading": false
        }
      ],
      "extract": "Note Future versions of this specification may incorporate subresource integrity [SRI] as a means of ensuring that cached and retrieved content matches data retrieved from remote servers; see issue 86. The retrieval of external contexts can expose the operation of a JSON-LD processor, allow intermediate nodes to fingerprint the client application through introspection of retrieved resources (see",
      "extractCut": true
    },
    {
      "id": "sec-134-12-privacy-considerations",
      "number": "12",
      "title": "Privacy Considerations",
      "level": 2,
      "pageStart": 85,
      "pageEnd": 85,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-135-13-internationalization-considerations",
      "number": "13",
      "title": "Internationalization Considerations",
      "level": 2,
      "pageStart": 85,
      "pageEnd": 85,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-136-a-image-descriptions",
      "number": null,
      "title": "A. Image Descriptions",
      "level": 2,
      "pageStart": 85,
      "pageEnd": 85,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-137-a1-linked-data-dataset",
      "number": null,
      "title": "A.1 Linked Data Dataset",
      "level": 3,
      "pageStart": 85,
      "pageEnd": 86,
      "labelStart": null,
      "labelEnd": null,
      "words": 197,
      "summary": null,
      "keywords": [
        {
          "term": "linked data",
          "heading": true
        },
        {
          "term": "box consists",
          "heading": false
        },
        {
          "term": "language tag",
          "heading": false
        },
        {
          "term": "language-tagged string",
          "heading": false
        },
        {
          "term": "female",
          "heading": false
        },
        {
          "term": "weiblich",
          "heading": false
        }
      ],
      "extract": "Alice an RDF literal with no datatype or language. weiblich | de an language-tagged string with the value \"weiblich\" and language tag \"de\". female | en an language-tagged string with the value \"female\" and language tag \"en\". The second and third boxes describe two named graphs, with the graph names \"http://example.com/graphs/1\" and \"http://example.com/graphs/1\", respectively. The second box consists of two",
      "extractCut": true
    },
    {
      "id": "sec-138-b-relationship-to-other-linked-data-formats",
      "number": null,
      "title": "B. Relationship to Other Linked Data Formats",
      "level": 2,
      "pageStart": 86,
      "pageEnd": 86,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-139-b1-turtle",
      "number": null,
      "title": "B.1 Turtle",
      "level": 3,
      "pageStart": 86,
      "pageEnd": 86,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-140-b11-prefix-definitions",
      "number": null,
      "title": "B.1.1 Prefix definitions",
      "level": 4,
      "pageStart": 86,
      "pageEnd": 86,
      "labelStart": null,
      "labelEnd": null,
      "words": 51,
      "summary": null,
      "keywords": [
        {
          "term": "foaf",
          "heading": false
        },
        {
          "term": "manu sporny",
          "heading": false
        },
        {
          "term": "statements serialized",
          "heading": false
        }
      ],
      "extract": "Example 154: A set of statements serialized in Turtle @prefix foaf: <http://xmlns.com/foaf/0.1/> . <http://manu.sporny.org/about#manu> a foaf:Person; foaf:name \"Manu Sporny\"; foaf:homepage <http://manu.sporny.org/> . Example 155: The same set of statements serialized in JSON-LD { \"@context\": { \"foaf\": \"http://xmlns.com/foaf/0.1/\" }, \"@id\": \"http://manu.sporny.org/about#manu\", \"@type\": \"foaf:Person\", \"foaf:name\":",
      "extractCut": true
    },
    {
      "id": "sec-141-b12-embedding",
      "number": null,
      "title": "B.1.2 Embedding",
      "level": 4,
      "pageStart": 86,
      "pageEnd": 87,
      "labelStart": null,
      "labelEnd": null,
      "words": 117,
      "summary": null,
      "keywords": [
        {
          "term": "typed literals",
          "heading": false
        },
        {
          "term": "boolean values",
          "heading": false
        },
        {
          "term": "foaf",
          "heading": false
        },
        {
          "term": "fractions",
          "heading": false
        },
        {
          "term": "native data",
          "heading": false
        }
      ],
      "extract": "Example 156: Embedding in Turtle @prefix foaf: <http://xmlns.com/foaf/0.1/> . <http://manu.sporny.org/about#manu> a foaf:Person; foaf:name \"Manu Sporny\"; foaf:knows [ a foaf:Person; foaf:name \"Gregg Kellogg\" ] . In JSON-LD numbers and boolean values are native data types. While [Turtle] has a shorthand syntax to express such values, RDF's abstract syntax requires that numbers and boolean values are represented as",
      "extractCut": true
    },
    {
      "id": "sec-142-note",
      "number": null,
      "title": "Note",
      "level": 5,
      "pageStart": 87,
      "pageEnd": 87,
      "labelStart": null,
      "labelEnd": null,
      "words": 83,
      "summary": null,
      "keywords": [
        {
          "term": "foaf",
          "heading": false
        },
        {
          "term": "fractions",
          "heading": false
        },
        {
          "term": "translates",
          "heading": false
        }
      ],
      "extract": "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 numbers with fractions as floating point numbers, so xsd:double is the most appropriate datatype to render them back in RDF. Both JSON-LD and [Turtle] can represent sequential lists of values. Example 157: Same embedding example in JSON-LD { \"@context\": { \"foaf\":",
      "extractCut": true
    },
    {
      "id": "sec-143-b13-conversion-of-native-data-types",
      "number": null,
      "title": "B.1.3 Conversion of native data types",
      "level": 4,
      "pageStart": 87,
      "pageEnd": 87,
      "labelStart": null,
      "labelEnd": null,
      "words": 57,
      "summary": null,
      "keywords": [
        {
          "term": "booleans",
          "heading": false
        },
        {
          "term": "native",
          "heading": true
        },
        {
          "term": "prefix",
          "heading": false
        }
      ],
      "extract": "Example 158: JSON-LD using native data types for numbers and boolean values { \"@context\": { \"ex\": \"http://example.com/vocab#\" }, \"@id\": \"http://example.com/\", \"ex:numbers\": [ 14, 2.78 ], \"ex:booleans\": [ true, false ] } Example 159: Same example in Turtle using typed literals @prefix ex: <http://example.com/vocab#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . <http://example.com/> ex:numbers",
      "extractCut": true
    },
    {
      "id": "sec-144-b14-lists",
      "number": null,
      "title": "B.1.4 Lists",
      "level": 4,
      "pageStart": 87,
      "pageEnd": 88,
      "labelStart": null,
      "labelEnd": null,
      "words": 107,
      "summary": null,
      "keywords": [
        {
          "term": "joe bob",
          "heading": false
        },
        {
          "term": "foaf",
          "heading": false
        },
        {
          "term": "microdata",
          "heading": false
        },
        {
          "term": "jaybee",
          "heading": false
        }
      ],
      "extract": "Example 160: A list of values in Turtle @prefix foaf: <http://xmlns.com/foaf/0.1/> . <http://example.org/people#joebob> a foaf:Person; foaf:name \"Joe Bob\"; foaf:nick ( \"joe\" \"bob\" \"jaybee\" ) . Example 161: Same example with a list of values in JSON-LD { \"@context\": { \"foaf\": \"http://xmlns.com/foaf/0.1/\" }, \"@id\": \"http://example.org/people#joebob\", \"@type\": \"foaf:Person\", \"foaf:name\": \"Joe Bob\", \"foaf:nick\": { This",
      "extractCut": true
    },
    {
      "id": "sec-145-b2-rdfa",
      "number": null,
      "title": "B.2 RDFa",
      "level": 3,
      "pageStart": 88,
      "pageEnd": 88,
      "labelStart": null,
      "labelEnd": null,
      "words": 89,
      "summary": null,
      "keywords": [
        {
          "term": "foaf",
          "heading": false
        },
        {
          "term": "rdfa",
          "heading": true
        },
        {
          "term": "eve",
          "heading": false
        }
      ],
      "extract": "Example 162: RDFa fragment that describes three people <div prefix=\"foaf: http://xmlns.com/foaf/0.1/\"> <ul> <li typeof=\"foaf:Person\"> <a property=\"foaf:homepage\" href=\"http://example.com/bob/\"> <span property=\"foaf:name\">Bob</span> </a> </li> <li typeof=\"foaf:Person\"> <a property=\"foaf:homepage\" href=\"http://example.com/eve/\"> <span property=\"foaf:name\">Eve</span> </a> </li> <li typeof=\"foaf:Person\"> <a",
      "extractCut": true
    },
    {
      "id": "sec-146-b3-microdata",
      "number": null,
      "title": "B.3 Microdata",
      "level": 3,
      "pageStart": 88,
      "pageEnd": 89,
      "labelStart": null,
      "labelEnd": null,
      "words": 320,
      "summary": null,
      "keywords": [
        {
          "term": "microdata",
          "heading": true
        },
        {
          "term": "book",
          "heading": false
        },
        {
          "term": "avoiding",
          "heading": false
        }
      ],
      "extract": "Example 164: HTML that describes a book using microdata <dl itemscope itemtype=\"http://purl.org/vocab/frbr/core#Work\" itemid=\"http://purl.oreilly.com/works/45U8QJGZSQKDH8N\"> <dt>Title</dt> <dd><cite itemprop=\"http://purl.org/dc/elements/1.1/title\">Just a Geek</cite></dd> <dt>By</dt> <dd><span itemprop=\"http://purl.org/dc/elements/1.1/creator\">Wil Wheaton</span></dd> <dt>Format</dt> <dd",
      "extractCut": true
    },
    {
      "id": "sec-147-c-iana-considerations",
      "number": null,
      "title": "C. IANA Considerations",
      "level": 2,
      "pageStart": 89,
      "pageEnd": 89,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-148-applicationldjson",
      "number": null,
      "title": "application/ld+json",
      "level": 3,
      "pageStart": 89,
      "pageEnd": 90,
      "labelStart": null,
      "labelEnd": null,
      "words": 569,
      "summary": null,
      "keywords": [
        {
          "term": "json-ld document",
          "heading": false
        },
        {
          "term": "profile parameter",
          "heading": false
        },
        {
          "term": "remote contexts",
          "heading": false
        },
        {
          "term": "directed graphs",
          "heading": false
        },
        {
          "term": "uris",
          "heading": false
        },
        {
          "term": "type parameter",
          "heading": false
        },
        {
          "term": "media type",
          "heading": false
        },
        {
          "term": "application",
          "heading": true
        }
      ],
      "extract": "http://www.w3.org/ns/json-ld#flattened To request or specify flattened JSON-LD document form. http://www.w3.org/ns/json-ld#frame To request or specify a JSON-LD frame document. http://www.w3.org/ns/json-ld#framed To request or specify framed JSON-LD document form. All other URIs starting with http://www.w3.org/ns/json-ld are reserved for future use by JSON-LD specifications. Other specifications may publish",
      "extractCut": true
    },
    {
      "id": "sec-149-c1-examples",
      "number": null,
      "title": "C.1 Examples",
      "level": 3,
      "pageStart": 90,
      "pageEnd": 91,
      "labelStart": null,
      "labelEnd": null,
      "words": 120,
      "summary": null,
      "keywords": [
        {
          "term": "requested resource",
          "heading": false
        },
        {
          "term": "compacted document",
          "heading": false
        },
        {
          "term": "document form",
          "heading": false
        },
        {
          "term": "return",
          "heading": false
        }
      ],
      "extract": "This section is non-normative. The following examples illustrate different ways in which the profile parameter may be used to describe different acceptable responses. Requests the server to return the requested resource as JSON-LD in expanded document form. Requests the server to return the requested resource as JSON-LD in compacted document form. As no explicit context resource is specified, the server compacts",
      "extractCut": true
    },
    {
      "id": "sec-150-issue-108-consider-context-by-reference-with-met",
      "number": null,
      "title": "Issue 108: Consider context by reference with metadata defer-future-versionprivacy-trackersecurity-tracker",
      "level": 3,
      "pageStart": 91,
      "pageEnd": 91,
      "labelStart": null,
      "labelEnd": null,
      "words": 6,
      "summary": null,
      "keywords": [],
      "extract": "Consider context by reference with metadata.",
      "extractCut": false
    },
    {
      "id": "sec-151-issue-191-compact-iri-expansion-support-for-non",
      "number": null,
      "title": "Issue 191: Compact IRI expansion support for non-trivial prefix term definitions defer-future-versionspec:enhancement",
      "level": 3,
      "pageStart": 91,
      "pageEnd": 91,
      "labelStart": null,
      "labelEnd": null,
      "words": 9,
      "summary": null,
      "keywords": [],
      "extract": "Compact IRI expansion support for non-trivial prefix term definitions.",
      "extractCut": false
    },
    {
      "id": "sec-152-issue-280-language-maps-dont-allow-separate-base",
      "number": null,
      "title": "Issue 280: language-maps don't allow separate base direction defer-future-version",
      "level": 3,
      "pageStart": 91,
      "pageEnd": 91,
      "labelStart": null,
      "labelEnd": null,
      "words": 6,
      "summary": null,
      "keywords": [],
      "extract": "Language-maps don't allow separate base direction.",
      "extractCut": false
    },
    {
      "id": "sec-153-issue-328-default-in-context-in-json-ld-core-syn",
      "number": null,
      "title": "Issue 328: @default in @context in JSON-LD core syntax defer-future-version",
      "level": 3,
      "pageStart": 91,
      "pageEnd": 91,
      "labelStart": null,
      "labelEnd": null,
      "words": 15,
      "summary": null,
      "keywords": [],
      "extract": "@default in @context in JSON-LD core syntax. Issue 329: Suggestion about `@prefix` Suggestion about @prefix.",
      "extractCut": false
    },
    {
      "id": "sec-154-issue-335-type-coercion-node-conversion-coerce-k",
      "number": null,
      "title": "Issue 335: Type Coercion / Node Conversion: @coerce keyword or similar defer-future-version",
      "level": 3,
      "pageStart": 91,
      "pageEnd": 91,
      "labelStart": null,
      "labelEnd": null,
      "words": 112,
      "summary": null,
      "keywords": [
        {
          "term": "get ordinary-json-document",
          "heading": false
        },
        {
          "term": "profile requesting",
          "heading": false
        },
        {
          "term": "json http",
          "heading": false
        },
        {
          "term": "requesting compacted",
          "heading": false
        },
        {
          "term": "http request",
          "heading": false
        }
      ],
      "extract": "Type Coercion / Node Conversion: @coerce keyword or similar. This section is non-normative. A context may contain a @version entry which is used to set the processing mode. An expanded term definition can now have an @context property, which defines a context used for values of a property identified with such a term. Example 166: HTTP Request with profile requesting an expanded document GET",
      "extractCut": true
    },
    {
      "id": "sec-155-d-open-issues",
      "number": null,
      "title": "D. Open Issues",
      "level": 2,
      "pageStart": 91,
      "pageEnd": 91,
      "labelStart": null,
      "labelEnd": null,
      "words": 9,
      "summary": null,
      "keywords": [],
      "extract": "defer-future-version privacy-tracker security-tracker defer-future-version spec:enhancement defer-future-version defer-future-version defer-future-version defer-future-version",
      "extractCut": false
    },
    {
      "id": "sec-156-e-changes-since-10-recommendation-of-16-january",
      "number": null,
      "title": "E. Changes since 1.0 Recommendation of 16 January 2014",
      "level": 2,
      "pageStart": 91,
      "pageEnd": 92,
      "labelStart": null,
      "labelEnd": null,
      "words": 301,
      "summary": null,
      "keywords": [
        {
          "term": "index maps",
          "heading": false
        },
        {
          "term": "term definition",
          "heading": false
        },
        {
          "term": "gen-delim character",
          "heading": false
        },
        {
          "term": "expanded term",
          "heading": false
        },
        {
          "term": "uri gen-delim",
          "heading": false
        },
        {
          "term": "node identifier",
          "heading": false
        },
        {
          "term": "nest",
          "heading": false
        },
        {
          "term": "container",
          "heading": false
        }
      ],
      "extract": "@container values within an expanded term definition may now include @id, @graph and @type, corresponding to id maps and type maps. An expanded term definition can now have an @nest property, which identifies a term expanding to @nest which is used for containing properties using the same @nest mapping. When expanding, the values of a property expanding to @nest are treated as if they were contained within the",
      "extractCut": true
    },
    {
      "id": "sec-157-f-changes-since-json-ld-community-group-final-re",
      "number": null,
      "title": "F. Changes since JSON-LD Community Group Final Report",
      "level": 2,
      "pageStart": 92,
      "pageEnd": 92,
      "labelStart": null,
      "labelEnd": null,
      "words": 618,
      "summary": null,
      "keywords": [
        {
          "term": "node objects",
          "heading": false
        },
        {
          "term": "compact iris",
          "heading": false
        },
        {
          "term": "iri reference",
          "heading": false
        },
        {
          "term": "json-ld",
          "heading": true
        },
        {
          "term": "json datatype",
          "heading": false
        },
        {
          "term": "relative iri",
          "heading": false
        },
        {
          "term": "term definition",
          "heading": false
        },
        {
          "term": "containing node",
          "heading": false
        }
      ],
      "extract": "This section is non-normative. Lists may now have items which are themselves lists. Values 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 array. This also allows a term to be defined for @type, where the value MUST be a map with @container set to @set. The use of blank node identifiers to label properties is obsolete, and may be",
      "extractCut": true
    },
    {
      "id": "sec-158-g-changes-since-candidate-release-of-12-december",
      "number": null,
      "title": "G. Changes since Candidate Release of 12 December 2019",
      "level": 2,
      "pageStart": 92,
      "pageEnd": 92,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-159-h-changes-since-proposed-recommendation-release",
      "number": null,
      "title": "H. Changes since Proposed Recommendation Release of 7 May 2020",
      "level": 2,
      "pageStart": 92,
      "pageEnd": 93,
      "labelStart": null,
      "labelEnd": null,
      "words": 409,
      "summary": null,
      "keywords": [
        {
          "term": "canton consulting",
          "heading": false
        },
        {
          "term": "vienna university",
          "heading": false
        },
        {
          "term": "anne van",
          "heading": false
        },
        {
          "term": "van kesteren",
          "heading": false
        },
        {
          "term": "digital bazaar",
          "heading": false
        },
        {
          "term": "living standard",
          "heading": false
        },
        {
          "term": "gregg kellogg",
          "heading": false
        },
        {
          "term": "manu sporny",
          "heading": false
        }
      ],
      "extract": "This section is non-normative. Removed remaining \"at-risk\" notes. Update bibliographic reference for JCS to [RFC8785]. Fixed typo in § 9.3 Frame Objects, which was unintentionally diverging from the normative description of the @embed keyword in JSON-LD 1.1 Framing. This is in response to Issue 358. This section is non-normative. The editors would like to specially thank the following individuals for making",
      "extractCut": true
    },
    {
      "id": "sec-160-i-acknowledgements",
      "number": null,
      "title": "I. Acknowledgements",
      "level": 2,
      "pageStart": 93,
      "pageEnd": 93,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-161-j-references",
      "number": null,
      "title": "J. References",
      "level": 2,
      "pageStart": 93,
      "pageEnd": 93,
      "labelStart": null,
      "labelEnd": null,
      "words": 0,
      "summary": null,
      "keywords": [],
      "extract": null,
      "extractCut": false
    },
    {
      "id": "sec-162-j1-normative-references",
      "number": null,
      "title": "J.1 Normative references",
      "level": 3,
      "pageStart": 93,
      "pageEnd": 94,
      "labelStart": null,
      "labelEnd": null,
      "words": 450,
      "summary": null,
      "keywords": [
        {
          "term": "w3c recommendation",
          "heading": false
        },
        {
          "term": "unicode standard",
          "heading": false
        },
        {
          "term": "unicode consortium",
          "heading": false
        },
        {
          "term": "w3c note",
          "heading": false
        },
        {
          "term": "dan brickley",
          "heading": false
        },
        {
          "term": "internet standard",
          "heading": false
        },
        {
          "term": "proposed standard",
          "heading": false
        },
        {
          "term": "url",
          "heading": false
        }
      ],
      "extract": "JSON-LD 1.1 Framing. Dave Longley; Gregg Kellogg; Pierre-Antoine Champin. W3C. 7 May 2020. W3C Proposed Recommendation. URL: https://www.w3.org/TR/json-ld11-framing/ [RDF-SCHEMA] RDF Schema 1.1. Dan Brickley; Ramanathan Guha. W3C. 25 February 2014. W3C Recommendation. URL: https://www.w3.org/TR/rdf-schema/ [RDF11-CONCEPTS] RDF 1.1 Concepts and Abstract Syntax. Richard Cyganiak; David Wood; Markus Lanthaler. W3C. 25",
      "extractCut": true
    },
    {
      "id": "sec-163-j2-informative-references",
      "number": null,
      "title": "J.2 Informative references",
      "level": 3,
      "pageStart": 94,
      "pageEnd": 95,
      "labelStart": null,
      "labelEnd": null,
      "words": 196,
      "summary": null,
      "keywords": [
        {
          "term": "w3c recommendation",
          "heading": false
        },
        {
          "term": "working group",
          "heading": false
        },
        {
          "term": "url",
          "heading": false
        },
        {
          "term": "june",
          "heading": false
        },
        {
          "term": "proposed standard",
          "heading": false
        },
        {
          "term": "gavin",
          "heading": false
        },
        {
          "term": "sparql",
          "heading": false
        },
        {
          "term": "ietf",
          "heading": false
        }
      ],
      "extract": "Concise Binary Object Representation (CBOR). C. Bormann; P. Hoffman. IETF. October 2013. Proposed Standard. URL: https://tools.ietf.org/html/rfc7049 [RFC7946] The GeoJSON Format. H. Butler; M. Daly; A. Doyle; S. Gillies; S. Hagen; T. Schaub. IETF. August 2016. Proposed Standard. URL: https://tools.ietf.org/html/rfc7946 [RFC8785] JSON Canonicalization Scheme (JCS). A. Rundgren; B. Jordan; S. Erdtman. Network Working",
      "extractCut": true
    }
  ],
  "checks": {},
  "withheld": false,
  "keywords": [
    {
      "term": "json-ld context",
      "heading": true
    },
    {
      "term": "expanded json-ld",
      "heading": false
    },
    {
      "term": "json-ld value",
      "heading": false
    },
    {
      "term": "json-ld document",
      "heading": false
    },
    {
      "term": "json-ld input",
      "heading": false
    },
    {
      "term": "expanded iri",
      "heading": false
    },
    {
      "term": "expanded term",
      "heading": true
    },
    {
      "term": "json-ld data",
      "heading": false
    },
    {
      "term": "processing json-ld",
      "heading": true
    },
    {
      "term": "node type",
      "heading": true
    },
    {
      "term": "following json-ld",
      "heading": false
    },
    {
      "term": "json-ld allows",
      "heading": false
    }
  ],
  "links": {
    "repo": "litlfred/cat-harness",
    "branch": "main",
    "dir": "library/w3c-2020-json-ld-1-1"
  }
}
