{
  "metadata": {
    "title": "Learning Knowledge Graphs",
    "description": "An interactive intelligent textbook teaching learning knowledge graphs: how to model, build, and use concept-dependency graphs for education, written for tech-forward legal professionals and scientists/engineers/developers alike.",
    "creator": "Milena Higgins",
    "date": "2026-07-18",
    "version": "1.0",
    "format": "Learning Graph JSON v1.0",
    "schema": "https://raw.githubusercontent.com/dmccreary/learning-graphs/refs/heads/main/src/schema/learning-graph-schema.json",
    "license": "CC BY-NC-SA 4.0 DEED"
  },
  "groups": {
    "FOUND": {
      "classifierName": "Graph Foundations",
      "color": "SteelBlue",
      "font": {
        "color": "white"
      }
    },
    "TAXO": {
      "classifierName": "Taxonomies and Ontologies",
      "color": "DarkSlateBlue",
      "font": {
        "color": "white"
      }
    },
    "MODEL": {
      "classifierName": "Graph Data Models and Schema",
      "color": "DarkGreen",
      "font": {
        "color": "white"
      }
    },
    "STD": {
      "classifierName": "Semantic Web Standards",
      "color": "LimeGreen",
      "font": {
        "color": "black"
      }
    },
    "BUILD": {
      "classifierName": "Building Knowledge Graphs",
      "color": "Gold",
      "font": {
        "color": "black"
      }
    },
    "QUERY": {
      "classifierName": "Querying Knowledge Graphs",
      "color": "DarkGoldenrod",
      "font": {
        "color": "white"
      }
    },
    "ALGO": {
      "classifierName": "Graph Algorithms and Analytics",
      "color": "Khaki",
      "font": {
        "color": "black"
      }
    },
    "GML": {
      "classifierName": "Knowledge Graphs and Machine Learning",
      "color": "Teal",
      "font": {
        "color": "white"
      }
    },
    "LLM": {
      "classifierName": "Knowledge Graphs and LLMs",
      "color": "DodgerBlue",
      "font": {
        "color": "white"
      }
    },
    "CASE": {
      "classifierName": "Cross-Industry Case Studies",
      "color": "LightSkyBlue",
      "font": {
        "color": "black"
      }
    },
    "LEGAL": {
      "classifierName": "Legal and Enterprise Knowledge Graphs",
      "color": "Crimson",
      "font": {
        "color": "white"
      }
    },
    "GOV": {
      "classifierName": "Governance and Maintenance",
      "color": "DarkRed",
      "font": {
        "color": "white"
      }
    }
  },
  "nodes": [
    {
      "id": 1,
      "label": "Node",
      "group": "FOUND",
      "shape": "box"
    },
    {
      "id": 2,
      "label": "Edge",
      "group": "FOUND"
    },
    {
      "id": 3,
      "label": "Directed Edge",
      "group": "FOUND"
    },
    {
      "id": 4,
      "label": "Undirected Edge",
      "group": "FOUND"
    },
    {
      "id": 5,
      "label": "Graph",
      "group": "FOUND"
    },
    {
      "id": 6,
      "label": "Vertex",
      "group": "FOUND"
    },
    {
      "id": 7,
      "label": "Triple",
      "group": "FOUND"
    },
    {
      "id": 8,
      "label": "Subject",
      "group": "FOUND"
    },
    {
      "id": 9,
      "label": "Predicate",
      "group": "FOUND"
    },
    {
      "id": 10,
      "label": "Object",
      "group": "FOUND"
    },
    {
      "id": 11,
      "label": "Entity",
      "group": "FOUND"
    },
    {
      "id": 12,
      "label": "Attribute",
      "group": "FOUND"
    },
    {
      "id": 13,
      "label": "Relationship",
      "group": "FOUND"
    },
    {
      "id": 14,
      "label": "Adjacency",
      "group": "FOUND"
    },
    {
      "id": 15,
      "label": "Graph Traversal",
      "group": "FOUND"
    },
    {
      "id": 16,
      "label": "Relational Table",
      "group": "FOUND",
      "shape": "box"
    },
    {
      "id": 17,
      "label": "Foreign Key",
      "group": "FOUND"
    },
    {
      "id": 18,
      "label": "Document Store",
      "group": "FOUND",
      "shape": "box"
    },
    {
      "id": 19,
      "label": "Graph Database",
      "group": "FOUND"
    },
    {
      "id": 20,
      "label": "Schema-On-Read",
      "group": "FOUND"
    },
    {
      "id": 21,
      "label": "Schema-On-Write",
      "group": "FOUND"
    },
    {
      "id": 22,
      "label": "Multigraph",
      "group": "FOUND"
    },
    {
      "id": 23,
      "label": "Hypergraph",
      "group": "FOUND"
    },
    {
      "id": 24,
      "label": "Weighted Graph",
      "group": "FOUND"
    },
    {
      "id": 25,
      "label": "Cyclic Graph",
      "group": "FOUND"
    },
    {
      "id": 26,
      "label": "Acyclic Graph",
      "group": "FOUND"
    },
    {
      "id": 27,
      "label": "Taxonomy",
      "group": "TAXO"
    },
    {
      "id": 28,
      "label": "Controlled Vocabulary",
      "group": "TAXO"
    },
    {
      "id": 29,
      "label": "Thesaurus",
      "group": "TAXO"
    },
    {
      "id": 30,
      "label": "Synonym Ring",
      "group": "TAXO"
    },
    {
      "id": 31,
      "label": "Broader Term",
      "group": "TAXO"
    },
    {
      "id": 32,
      "label": "Narrower Term",
      "group": "TAXO"
    },
    {
      "id": 33,
      "label": "Related Term",
      "group": "TAXO"
    },
    {
      "id": 34,
      "label": "Facet",
      "group": "TAXO"
    },
    {
      "id": 35,
      "label": "Polyhierarchy",
      "group": "TAXO"
    },
    {
      "id": 36,
      "label": "Ontology",
      "group": "TAXO"
    },
    {
      "id": 37,
      "label": "Class Hierarchy",
      "group": "TAXO"
    },
    {
      "id": 38,
      "label": "Is-A Relationship",
      "group": "TAXO"
    },
    {
      "id": 39,
      "label": "Part-Of Relationship",
      "group": "TAXO"
    },
    {
      "id": 40,
      "label": "Upper Ontology",
      "group": "TAXO"
    },
    {
      "id": 41,
      "label": "Domain Ontology",
      "group": "TAXO"
    },
    {
      "id": 42,
      "label": "Concept Scheme",
      "group": "TAXO"
    },
    {
      "id": 43,
      "label": "RDF Triple",
      "group": "MODEL"
    },
    {
      "id": 44,
      "label": "Property Graph",
      "group": "MODEL"
    },
    {
      "id": 45,
      "label": "Labeled Property Graph",
      "group": "MODEL"
    },
    {
      "id": 46,
      "label": "Blank Node",
      "group": "MODEL"
    },
    {
      "id": 47,
      "label": "Named Graph",
      "group": "MODEL"
    },
    {
      "id": 48,
      "label": "Reification",
      "group": "MODEL"
    },
    {
      "id": 49,
      "label": "Quad Store",
      "group": "MODEL"
    },
    {
      "id": 50,
      "label": "Triple Store",
      "group": "MODEL"
    },
    {
      "id": 51,
      "label": "Graph Model Tradeoffs",
      "group": "MODEL"
    },
    {
      "id": 52,
      "label": "Directed Acyclic Graph",
      "group": "MODEL"
    },
    {
      "id": 53,
      "label": "Knowledge Graph",
      "group": "MODEL"
    },
    {
      "id": 54,
      "label": "Class",
      "group": "MODEL"
    },
    {
      "id": 55,
      "label": "Property",
      "group": "MODEL"
    },
    {
      "id": 56,
      "label": "Datatype Property",
      "group": "MODEL"
    },
    {
      "id": 57,
      "label": "Object Property",
      "group": "MODEL"
    },
    {
      "id": 58,
      "label": "Cardinality",
      "group": "MODEL"
    },
    {
      "id": 59,
      "label": "One-To-One Relation",
      "group": "MODEL"
    },
    {
      "id": 60,
      "label": "One-To-Many Relation",
      "group": "MODEL"
    },
    {
      "id": 61,
      "label": "Many-To-Many Relation",
      "group": "MODEL"
    },
    {
      "id": 62,
      "label": "Domain And Range",
      "group": "MODEL"
    },
    {
      "id": 63,
      "label": "Schema Design",
      "group": "MODEL"
    },
    {
      "id": 64,
      "label": "Data Model",
      "group": "MODEL"
    },
    {
      "id": 65,
      "label": "Inheritance",
      "group": "MODEL"
    },
    {
      "id": 66,
      "label": "Constraint",
      "group": "MODEL"
    },
    {
      "id": 67,
      "label": "Class Restriction",
      "group": "MODEL"
    },
    {
      "id": 68,
      "label": "Entity Type",
      "group": "MODEL"
    },
    {
      "id": 69,
      "label": "RDF",
      "group": "STD"
    },
    {
      "id": 70,
      "label": "RDFS",
      "group": "STD"
    },
    {
      "id": 71,
      "label": "OWL",
      "group": "STD"
    },
    {
      "id": 72,
      "label": "SKOS",
      "group": "STD"
    },
    {
      "id": 73,
      "label": "SPARQL",
      "group": "STD"
    },
    {
      "id": 74,
      "label": "URI",
      "group": "STD"
    },
    {
      "id": 75,
      "label": "IRI",
      "group": "STD"
    },
    {
      "id": 76,
      "label": "Namespace",
      "group": "STD"
    },
    {
      "id": 77,
      "label": "Turtle Syntax",
      "group": "STD"
    },
    {
      "id": 78,
      "label": "JSON-LD",
      "group": "STD"
    },
    {
      "id": 79,
      "label": "N-Triples",
      "group": "STD"
    },
    {
      "id": 80,
      "label": "XML Schema Datatype",
      "group": "STD"
    },
    {
      "id": 81,
      "label": "OWL Class",
      "group": "STD"
    },
    {
      "id": 82,
      "label": "OWL Property",
      "group": "STD"
    },
    {
      "id": 83,
      "label": "Equivalent Class",
      "group": "STD"
    },
    {
      "id": 84,
      "label": "Disjoint Classes",
      "group": "STD"
    },
    {
      "id": 85,
      "label": "Transitive Property",
      "group": "STD"
    },
    {
      "id": 86,
      "label": "Symmetric Property",
      "group": "STD"
    },
    {
      "id": 87,
      "label": "Inverse Property",
      "group": "STD"
    },
    {
      "id": 88,
      "label": "Cardinality Restriction",
      "group": "STD"
    },
    {
      "id": 89,
      "label": "Data Source",
      "group": "BUILD"
    },
    {
      "id": 90,
      "label": "ETL Pipeline",
      "group": "BUILD"
    },
    {
      "id": 91,
      "label": "Data Ingestion",
      "group": "BUILD"
    },
    {
      "id": 92,
      "label": "Entity Extraction",
      "group": "BUILD"
    },
    {
      "id": 93,
      "label": "Named Entity Recognition",
      "group": "BUILD"
    },
    {
      "id": 94,
      "label": "Relation Extraction",
      "group": "BUILD"
    },
    {
      "id": 95,
      "label": "Entity Resolution",
      "group": "BUILD"
    },
    {
      "id": 96,
      "label": "Deduplication",
      "group": "BUILD"
    },
    {
      "id": 97,
      "label": "Record Linkage",
      "group": "BUILD"
    },
    {
      "id": 98,
      "label": "Data Cleaning",
      "group": "BUILD"
    },
    {
      "id": 99,
      "label": "Schema Mapping",
      "group": "BUILD"
    },
    {
      "id": 100,
      "label": "Data Transformation",
      "group": "BUILD"
    },
    {
      "id": 101,
      "label": "Knowledge Extraction",
      "group": "BUILD"
    },
    {
      "id": 102,
      "label": "Text Mining",
      "group": "BUILD"
    },
    {
      "id": 103,
      "label": "Information Extraction",
      "group": "BUILD"
    },
    {
      "id": 104,
      "label": "Data Enrichment",
      "group": "BUILD"
    },
    {
      "id": 105,
      "label": "SPARQL Query",
      "group": "QUERY"
    },
    {
      "id": 106,
      "label": "SELECT Query",
      "group": "QUERY"
    },
    {
      "id": 107,
      "label": "CONSTRUCT Query",
      "group": "QUERY"
    },
    {
      "id": 108,
      "label": "ASK Query",
      "group": "QUERY"
    },
    {
      "id": 109,
      "label": "Triple Pattern",
      "group": "QUERY"
    },
    {
      "id": 110,
      "label": "SPARQL Endpoint",
      "group": "QUERY"
    },
    {
      "id": 111,
      "label": "Cypher Query",
      "group": "QUERY"
    },
    {
      "id": 112,
      "label": "MATCH Clause",
      "group": "QUERY"
    },
    {
      "id": 113,
      "label": "Pattern Matching",
      "group": "QUERY"
    },
    {
      "id": 114,
      "label": "Path Query",
      "group": "QUERY"
    },
    {
      "id": 115,
      "label": "Python Graph Client",
      "group": "QUERY"
    },
    {
      "id": 116,
      "label": "RDFLib",
      "group": "QUERY"
    },
    {
      "id": 117,
      "label": "Neo4j Driver",
      "group": "QUERY"
    },
    {
      "id": 118,
      "label": "Query Optimization",
      "group": "QUERY"
    },
    {
      "id": 119,
      "label": "Federated Query",
      "group": "QUERY"
    },
    {
      "id": 120,
      "label": "Graph Query Language",
      "group": "QUERY"
    },
    {
      "id": 121,
      "label": "Centrality",
      "group": "ALGO"
    },
    {
      "id": 122,
      "label": "Degree Centrality",
      "group": "ALGO"
    },
    {
      "id": 123,
      "label": "Betweenness Centrality",
      "group": "ALGO"
    },
    {
      "id": 124,
      "label": "Closeness Centrality",
      "group": "ALGO"
    },
    {
      "id": 125,
      "label": "Eigenvector Centrality",
      "group": "ALGO"
    },
    {
      "id": 126,
      "label": "PageRank",
      "group": "ALGO"
    },
    {
      "id": 127,
      "label": "Community Detection",
      "group": "ALGO"
    },
    {
      "id": 128,
      "label": "Clustering Coefficient",
      "group": "ALGO"
    },
    {
      "id": 129,
      "label": "Shortest Path",
      "group": "ALGO"
    },
    {
      "id": 130,
      "label": "Breadth-First Search",
      "group": "ALGO"
    },
    {
      "id": 131,
      "label": "Depth-First Search",
      "group": "ALGO"
    },
    {
      "id": 132,
      "label": "Connected Component",
      "group": "ALGO"
    },
    {
      "id": 133,
      "label": "Graph Density",
      "group": "ALGO"
    },
    {
      "id": 134,
      "label": "Subgraph",
      "group": "ALGO"
    },
    {
      "id": 135,
      "label": "Graph Partitioning",
      "group": "ALGO"
    },
    {
      "id": 136,
      "label": "Link Analysis",
      "group": "ALGO"
    },
    {
      "id": 137,
      "label": "Knowledge Graph Embedding",
      "group": "GML"
    },
    {
      "id": 138,
      "label": "Node Embedding",
      "group": "GML"
    },
    {
      "id": 139,
      "label": "TransE Model",
      "group": "GML"
    },
    {
      "id": 140,
      "label": "Graph Neural Network",
      "group": "GML"
    },
    {
      "id": 141,
      "label": "Message Passing",
      "group": "GML"
    },
    {
      "id": 142,
      "label": "Link Prediction",
      "group": "GML"
    },
    {
      "id": 143,
      "label": "Node Classification",
      "group": "GML"
    },
    {
      "id": 144,
      "label": "Graph Convolution",
      "group": "GML"
    },
    {
      "id": 145,
      "label": "Random Walk",
      "group": "GML"
    },
    {
      "id": 146,
      "label": "Node2Vec",
      "group": "GML"
    },
    {
      "id": 147,
      "label": "Knowledge Graph Completion",
      "group": "GML"
    },
    {
      "id": 148,
      "label": "Negative Sampling",
      "group": "GML"
    },
    {
      "id": 149,
      "label": "Embedding Space",
      "group": "GML"
    },
    {
      "id": 150,
      "label": "Similarity Score",
      "group": "GML"
    },
    {
      "id": 151,
      "label": "Triple Classification",
      "group": "GML"
    },
    {
      "id": 152,
      "label": "Graph Attention Network",
      "group": "GML"
    },
    {
      "id": 153,
      "label": "Large Language Model",
      "group": "LLM",
      "shape": "box"
    },
    {
      "id": 154,
      "label": "Retrieval-Augmented Generation",
      "group": "LLM"
    },
    {
      "id": 155,
      "label": "GraphRAG",
      "group": "LLM"
    },
    {
      "id": 156,
      "label": "LLM Grounding",
      "group": "LLM"
    },
    {
      "id": 157,
      "label": "Hallucination",
      "group": "LLM"
    },
    {
      "id": 158,
      "label": "Prompt Engineering",
      "group": "LLM"
    },
    {
      "id": 159,
      "label": "LLM-Assisted Extraction",
      "group": "LLM"
    },
    {
      "id": 160,
      "label": "Vector Database",
      "group": "LLM"
    },
    {
      "id": 161,
      "label": "Semantic Search",
      "group": "LLM"
    },
    {
      "id": 162,
      "label": "Hybrid Retrieval",
      "group": "LLM"
    },
    {
      "id": 163,
      "label": "Knowledge Injection",
      "group": "LLM"
    },
    {
      "id": 164,
      "label": "Context Window",
      "group": "LLM"
    },
    {
      "id": 165,
      "label": "Fact Verification",
      "group": "LLM"
    },
    {
      "id": 166,
      "label": "Chunking Strategy",
      "group": "LLM"
    },
    {
      "id": 167,
      "label": "Search Knowledge Graph",
      "group": "CASE"
    },
    {
      "id": 168,
      "label": "Biomedical Knowledge Graph",
      "group": "CASE"
    },
    {
      "id": 169,
      "label": "Enterprise Knowledge Graph",
      "group": "CASE"
    },
    {
      "id": 170,
      "label": "Recommendation System",
      "group": "CASE"
    },
    {
      "id": 171,
      "label": "Product Graph",
      "group": "CASE"
    },
    {
      "id": 172,
      "label": "Social Graph",
      "group": "CASE"
    },
    {
      "id": 173,
      "label": "Citation Network",
      "group": "CASE"
    },
    {
      "id": 174,
      "label": "Fraud Detection Graph",
      "group": "CASE"
    },
    {
      "id": 175,
      "label": "Supply Chain Graph",
      "group": "CASE"
    },
    {
      "id": 176,
      "label": "Google Knowledge Graph",
      "group": "CASE"
    },
    {
      "id": 177,
      "label": "Graph Visualization",
      "group": "CASE"
    },
    {
      "id": 178,
      "label": "Financial Knowledge Graph",
      "group": "CASE"
    },
    {
      "id": 179,
      "label": "Matter Graph",
      "group": "LEGAL"
    },
    {
      "id": 180,
      "label": "Legal Document Graph",
      "group": "LEGAL"
    },
    {
      "id": 181,
      "label": "Expertise Location",
      "group": "LEGAL"
    },
    {
      "id": 182,
      "label": "Conflicts Checking",
      "group": "LEGAL"
    },
    {
      "id": 183,
      "label": "Legal Entity Resolution",
      "group": "LEGAL"
    },
    {
      "id": 184,
      "label": "Case Law Graph",
      "group": "LEGAL"
    },
    {
      "id": 185,
      "label": "Contract Graph",
      "group": "LEGAL"
    },
    {
      "id": 186,
      "label": "Client Relationship Graph",
      "group": "LEGAL"
    },
    {
      "id": 187,
      "label": "Legal Taxonomy",
      "group": "LEGAL"
    },
    {
      "id": 188,
      "label": "Precedent Relationship",
      "group": "LEGAL"
    },
    {
      "id": 189,
      "label": "Regulatory Graph",
      "group": "LEGAL"
    },
    {
      "id": 190,
      "label": "Outside Counsel Graph",
      "group": "LEGAL"
    },
    {
      "id": 191,
      "label": "Data Governance",
      "group": "GOV"
    },
    {
      "id": 192,
      "label": "Data Provenance",
      "group": "GOV"
    },
    {
      "id": 193,
      "label": "Data Quality",
      "group": "GOV"
    },
    {
      "id": 194,
      "label": "Graph Versioning",
      "group": "GOV"
    },
    {
      "id": 195,
      "label": "Schema Evolution",
      "group": "GOV"
    },
    {
      "id": 196,
      "label": "Data Lineage",
      "group": "GOV"
    },
    {
      "id": 197,
      "label": "Access Control",
      "group": "GOV"
    },
    {
      "id": 198,
      "label": "Change Management",
      "group": "GOV"
    },
    {
      "id": 199,
      "label": "Audit Trail",
      "group": "GOV"
    },
    {
      "id": 200,
      "label": "Update Cadence",
      "group": "GOV"
    }
  ],
  "edges": [
    {
      "from": 2,
      "to": 1
    },
    {
      "from": 3,
      "to": 2
    },
    {
      "from": 4,
      "to": 2
    },
    {
      "from": 5,
      "to": 1
    },
    {
      "from": 5,
      "to": 2
    },
    {
      "from": 6,
      "to": 1
    },
    {
      "from": 7,
      "to": 2
    },
    {
      "from": 8,
      "to": 7
    },
    {
      "from": 9,
      "to": 7
    },
    {
      "from": 10,
      "to": 7
    },
    {
      "from": 11,
      "to": 1
    },
    {
      "from": 12,
      "to": 11
    },
    {
      "from": 13,
      "to": 2
    },
    {
      "from": 13,
      "to": 11
    },
    {
      "from": 14,
      "to": 5
    },
    {
      "from": 15,
      "to": 5
    },
    {
      "from": 15,
      "to": 6
    },
    {
      "from": 15,
      "to": 14
    },
    {
      "from": 17,
      "to": 16
    },
    {
      "from": 19,
      "to": 5
    },
    {
      "from": 19,
      "to": 16
    },
    {
      "from": 19,
      "to": 18
    },
    {
      "from": 20,
      "to": 18
    },
    {
      "from": 21,
      "to": 16
    },
    {
      "from": 22,
      "to": 5
    },
    {
      "from": 23,
      "to": 5
    },
    {
      "from": 24,
      "to": 5
    },
    {
      "from": 25,
      "to": 5
    },
    {
      "from": 26,
      "to": 25
    },
    {
      "from": 27,
      "to": 11
    },
    {
      "from": 28,
      "to": 27
    },
    {
      "from": 29,
      "to": 28
    },
    {
      "from": 30,
      "to": 29
    },
    {
      "from": 31,
      "to": 29
    },
    {
      "from": 32,
      "to": 31
    },
    {
      "from": 33,
      "to": 29
    },
    {
      "from": 34,
      "to": 27
    },
    {
      "from": 35,
      "to": 27
    },
    {
      "from": 35,
      "to": 34
    },
    {
      "from": 36,
      "to": 27
    },
    {
      "from": 36,
      "to": 29
    },
    {
      "from": 37,
      "to": 35
    },
    {
      "from": 37,
      "to": 36
    },
    {
      "from": 38,
      "to": 37
    },
    {
      "from": 39,
      "to": 37
    },
    {
      "from": 40,
      "to": 36
    },
    {
      "from": 41,
      "to": 36
    },
    {
      "from": 41,
      "to": 40
    },
    {
      "from": 42,
      "to": 27
    },
    {
      "from": 42,
      "to": 36
    },
    {
      "from": 43,
      "to": 7
    },
    {
      "from": 43,
      "to": 8
    },
    {
      "from": 43,
      "to": 9
    },
    {
      "from": 43,
      "to": 10
    },
    {
      "from": 44,
      "to": 4
    },
    {
      "from": 44,
      "to": 5
    },
    {
      "from": 44,
      "to": 11
    },
    {
      "from": 45,
      "to": 44
    },
    {
      "from": 46,
      "to": 43
    },
    {
      "from": 47,
      "to": 43
    },
    {
      "from": 48,
      "to": 43
    },
    {
      "from": 48,
      "to": 46
    },
    {
      "from": 49,
      "to": 47
    },
    {
      "from": 50,
      "to": 43
    },
    {
      "from": 51,
      "to": 22
    },
    {
      "from": 51,
      "to": 23
    },
    {
      "from": 51,
      "to": 24
    },
    {
      "from": 51,
      "to": 43
    },
    {
      "from": 51,
      "to": 45
    },
    {
      "from": 52,
      "to": 3
    },
    {
      "from": 52,
      "to": 26
    },
    {
      "from": 53,
      "to": 36
    },
    {
      "from": 53,
      "to": 41
    },
    {
      "from": 53,
      "to": 43
    },
    {
      "from": 53,
      "to": 44
    },
    {
      "from": 53,
      "to": 49
    },
    {
      "from": 53,
      "to": 50
    },
    {
      "from": 53,
      "to": 52
    },
    {
      "from": 54,
      "to": 37
    },
    {
      "from": 55,
      "to": 12
    },
    {
      "from": 55,
      "to": 54
    },
    {
      "from": 56,
      "to": 55
    },
    {
      "from": 57,
      "to": 55
    },
    {
      "from": 58,
      "to": 13
    },
    {
      "from": 59,
      "to": 58
    },
    {
      "from": 60,
      "to": 58
    },
    {
      "from": 61,
      "to": 58
    },
    {
      "from": 62,
      "to": 55
    },
    {
      "from": 63,
      "to": 39
    },
    {
      "from": 63,
      "to": 51
    },
    {
      "from": 63,
      "to": 54
    },
    {
      "from": 63,
      "to": 55
    },
    {
      "from": 63,
      "to": 59
    },
    {
      "from": 63,
      "to": 60
    },
    {
      "from": 63,
      "to": 61
    },
    {
      "from": 63,
      "to": 62
    },
    {
      "from": 64,
      "to": 20
    },
    {
      "from": 64,
      "to": 21
    },
    {
      "from": 64,
      "to": 63
    },
    {
      "from": 65,
      "to": 38
    },
    {
      "from": 65,
      "to": 54
    },
    {
      "from": 66,
      "to": 58
    },
    {
      "from": 67,
      "to": 54
    },
    {
      "from": 67,
      "to": 66
    },
    {
      "from": 68,
      "to": 11
    },
    {
      "from": 68,
      "to": 54
    },
    {
      "from": 69,
      "to": 43
    },
    {
      "from": 70,
      "to": 37
    },
    {
      "from": 70,
      "to": 69
    },
    {
      "from": 71,
      "to": 36
    },
    {
      "from": 71,
      "to": 70
    },
    {
      "from": 72,
      "to": 27
    },
    {
      "from": 72,
      "to": 30
    },
    {
      "from": 72,
      "to": 31
    },
    {
      "from": 72,
      "to": 32
    },
    {
      "from": 72,
      "to": 33
    },
    {
      "from": 72,
      "to": 42
    },
    {
      "from": 72,
      "to": 69
    },
    {
      "from": 73,
      "to": 69
    },
    {
      "from": 74,
      "to": 69
    },
    {
      "from": 75,
      "to": 74
    },
    {
      "from": 76,
      "to": 74
    },
    {
      "from": 77,
      "to": 69
    },
    {
      "from": 77,
      "to": 76
    },
    {
      "from": 78,
      "to": 69
    },
    {
      "from": 78,
      "to": 75
    },
    {
      "from": 78,
      "to": 76
    },
    {
      "from": 79,
      "to": 69
    },
    {
      "from": 80,
      "to": 56
    },
    {
      "from": 81,
      "to": 54
    },
    {
      "from": 81,
      "to": 65
    },
    {
      "from": 81,
      "to": 71
    },
    {
      "from": 82,
      "to": 55
    },
    {
      "from": 82,
      "to": 57
    },
    {
      "from": 82,
      "to": 71
    },
    {
      "from": 83,
      "to": 81
    },
    {
      "from": 84,
      "to": 81
    },
    {
      "from": 85,
      "to": 82
    },
    {
      "from": 86,
      "to": 82
    },
    {
      "from": 87,
      "to": 82
    },
    {
      "from": 88,
      "to": 58
    },
    {
      "from": 88,
      "to": 67
    },
    {
      "from": 88,
      "to": 82
    },
    {
      "from": 89,
      "to": 53
    },
    {
      "from": 90,
      "to": 89
    },
    {
      "from": 91,
      "to": 90
    },
    {
      "from": 92,
      "to": 11
    },
    {
      "from": 92,
      "to": 68
    },
    {
      "from": 92,
      "to": 91
    },
    {
      "from": 93,
      "to": 92
    },
    {
      "from": 94,
      "to": 13
    },
    {
      "from": 94,
      "to": 93
    },
    {
      "from": 95,
      "to": 92
    },
    {
      "from": 96,
      "to": 95
    },
    {
      "from": 97,
      "to": 17
    },
    {
      "from": 97,
      "to": 95
    },
    {
      "from": 98,
      "to": 91
    },
    {
      "from": 99,
      "to": 63
    },
    {
      "from": 99,
      "to": 90
    },
    {
      "from": 100,
      "to": 90
    },
    {
      "from": 101,
      "to": 92
    },
    {
      "from": 101,
      "to": 94
    },
    {
      "from": 102,
      "to": 93
    },
    {
      "from": 103,
      "to": 101
    },
    {
      "from": 104,
      "to": 95
    },
    {
      "from": 104,
      "to": 100
    },
    {
      "from": 105,
      "to": 73
    },
    {
      "from": 106,
      "to": 105
    },
    {
      "from": 107,
      "to": 105
    },
    {
      "from": 108,
      "to": 105
    },
    {
      "from": 109,
      "to": 43
    },
    {
      "from": 109,
      "to": 105
    },
    {
      "from": 110,
      "to": 105
    },
    {
      "from": 111,
      "to": 19
    },
    {
      "from": 111,
      "to": 45
    },
    {
      "from": 112,
      "to": 111
    },
    {
      "from": 113,
      "to": 109
    },
    {
      "from": 113,
      "to": 112
    },
    {
      "from": 114,
      "to": 15
    },
    {
      "from": 114,
      "to": 113
    },
    {
      "from": 115,
      "to": 105
    },
    {
      "from": 115,
      "to": 111
    },
    {
      "from": 116,
      "to": 69
    },
    {
      "from": 116,
      "to": 115
    },
    {
      "from": 117,
      "to": 111
    },
    {
      "from": 117,
      "to": 115
    },
    {
      "from": 118,
      "to": 113
    },
    {
      "from": 119,
      "to": 110
    },
    {
      "from": 120,
      "to": 105
    },
    {
      "from": 120,
      "to": 111
    },
    {
      "from": 121,
      "to": 5
    },
    {
      "from": 121,
      "to": 15
    },
    {
      "from": 122,
      "to": 121
    },
    {
      "from": 123,
      "to": 15
    },
    {
      "from": 123,
      "to": 121
    },
    {
      "from": 124,
      "to": 121
    },
    {
      "from": 125,
      "to": 121
    },
    {
      "from": 126,
      "to": 125
    },
    {
      "from": 127,
      "to": 121
    },
    {
      "from": 128,
      "to": 127
    },
    {
      "from": 129,
      "to": 15
    },
    {
      "from": 130,
      "to": 129
    },
    {
      "from": 131,
      "to": 15
    },
    {
      "from": 132,
      "to": 131
    },
    {
      "from": 133,
      "to": 5
    },
    {
      "from": 134,
      "to": 5
    },
    {
      "from": 135,
      "to": 127
    },
    {
      "from": 135,
      "to": 134
    },
    {
      "from": 136,
      "to": 121
    },
    {
      "from": 136,
      "to": 126
    },
    {
      "from": 137,
      "to": 53
    },
    {
      "from": 138,
      "to": 137
    },
    {
      "from": 139,
      "to": 43
    },
    {
      "from": 139,
      "to": 137
    },
    {
      "from": 140,
      "to": 138
    },
    {
      "from": 141,
      "to": 140
    },
    {
      "from": 142,
      "to": 137
    },
    {
      "from": 143,
      "to": 140
    },
    {
      "from": 144,
      "to": 141
    },
    {
      "from": 145,
      "to": 15
    },
    {
      "from": 146,
      "to": 138
    },
    {
      "from": 146,
      "to": 145
    },
    {
      "from": 147,
      "to": 142
    },
    {
      "from": 148,
      "to": 137
    },
    {
      "from": 149,
      "to": 138
    },
    {
      "from": 150,
      "to": 149
    },
    {
      "from": 151,
      "to": 139
    },
    {
      "from": 152,
      "to": 144
    },
    {
      "from": 154,
      "to": 153
    },
    {
      "from": 155,
      "to": 53
    },
    {
      "from": 155,
      "to": 154
    },
    {
      "from": 156,
      "to": 155
    },
    {
      "from": 157,
      "to": 153
    },
    {
      "from": 158,
      "to": 153
    },
    {
      "from": 159,
      "to": 92
    },
    {
      "from": 159,
      "to": 158
    },
    {
      "from": 160,
      "to": 149
    },
    {
      "from": 161,
      "to": 160
    },
    {
      "from": 162,
      "to": 105
    },
    {
      "from": 162,
      "to": 161
    },
    {
      "from": 163,
      "to": 156
    },
    {
      "from": 164,
      "to": 153
    },
    {
      "from": 165,
      "to": 156
    },
    {
      "from": 165,
      "to": 157
    },
    {
      "from": 166,
      "to": 154
    },
    {
      "from": 167,
      "to": 53
    },
    {
      "from": 168,
      "to": 53
    },
    {
      "from": 169,
      "to": 53
    },
    {
      "from": 170,
      "to": 53
    },
    {
      "from": 170,
      "to": 142
    },
    {
      "from": 171,
      "to": 169
    },
    {
      "from": 171,
      "to": 170
    },
    {
      "from": 172,
      "to": 53
    },
    {
      "from": 173,
      "to": 53
    },
    {
      "from": 173,
      "to": 121
    },
    {
      "from": 174,
      "to": 127
    },
    {
      "from": 174,
      "to": 169
    },
    {
      "from": 175,
      "to": 169
    },
    {
      "from": 176,
      "to": 167
    },
    {
      "from": 177,
      "to": 5
    },
    {
      "from": 177,
      "to": 15
    },
    {
      "from": 178,
      "to": 169
    },
    {
      "from": 178,
      "to": 174
    },
    {
      "from": 179,
      "to": 169
    },
    {
      "from": 180,
      "to": 92
    },
    {
      "from": 180,
      "to": 179
    },
    {
      "from": 181,
      "to": 179
    },
    {
      "from": 182,
      "to": 95
    },
    {
      "from": 182,
      "to": 179
    },
    {
      "from": 183,
      "to": 95
    },
    {
      "from": 183,
      "to": 182
    },
    {
      "from": 184,
      "to": 173
    },
    {
      "from": 184,
      "to": 179
    },
    {
      "from": 185,
      "to": 55
    },
    {
      "from": 185,
      "to": 179
    },
    {
      "from": 186,
      "to": 13
    },
    {
      "from": 186,
      "to": 179
    },
    {
      "from": 187,
      "to": 27
    },
    {
      "from": 187,
      "to": 179
    },
    {
      "from": 188,
      "to": 184
    },
    {
      "from": 189,
      "to": 169
    },
    {
      "from": 189,
      "to": 187
    },
    {
      "from": 190,
      "to": 181
    },
    {
      "from": 190,
      "to": 186
    },
    {
      "from": 191,
      "to": 53
    },
    {
      "from": 192,
      "to": 48
    },
    {
      "from": 192,
      "to": 191
    },
    {
      "from": 193,
      "to": 98
    },
    {
      "from": 193,
      "to": 191
    },
    {
      "from": 194,
      "to": 191
    },
    {
      "from": 195,
      "to": 63
    },
    {
      "from": 195,
      "to": 194
    },
    {
      "from": 196,
      "to": 192
    },
    {
      "from": 197,
      "to": 191
    },
    {
      "from": 198,
      "to": 194
    },
    {
      "from": 199,
      "to": 192
    },
    {
      "from": 199,
      "to": 197
    },
    {
      "from": 200,
      "to": 193
    },
    {
      "from": 200,
      "to": 198
    }
  ]
}