{
  "schema_version": 1,
  "snapshot_id": "parallax-afdaa86c49e8",
  "content_hash": "afdaa86c49e8bbb4ac74f2da6609e6117490bc73ef14b143736b977a135649d0",
  "source": "Parallax portable story exports projected by core.ontology.parallax_projector",
  "selector_contract": "core.ontology.model.OntologyGraph.select",
  "nodes": [
    {
      "id": "chapter:alexander:crossing",
      "kind": "chapter",
      "label": "The Hellespont",
      "summary": "spring 334 BCE",
      "tags": [
        "chapter",
        "alexander",
        "greek"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "order": 2,
        "year": -334,
        "perspective": "greek"
      }
    },
    {
      "id": "chapter:alexander:death",
      "kind": "chapter",
      "label": "Babylon",
      "summary": "June 323 BCE",
      "tags": [
        "chapter",
        "alexander",
        "greek"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "order": 9,
        "year": -323,
        "perspective": "greek"
      }
    },
    {
      "id": "chapter:alexander:egypt",
      "kind": "chapter",
      "label": "The Edge of the Known World",
      "summary": "Egypt, winter 332–331 BCE",
      "tags": [
        "chapter",
        "alexander",
        "greek"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "order": 5,
        "year": -332,
        "perspective": "greek"
      }
    },
    {
      "id": "chapter:alexander:gaugamela",
      "kind": "chapter",
      "label": "The Decisive Hour",
      "summary": "Battle of Gaugamela, October 331 BCE",
      "tags": [
        "chapter",
        "alexander",
        "greek"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "order": 6,
        "year": -331,
        "perspective": "greek"
      }
    },
    {
      "id": "chapter:alexander:granicus",
      "kind": "chapter",
      "label": "The First Battle",
      "summary": "Battle of the Granicus, May 334 BCE",
      "tags": [
        "chapter",
        "alexander",
        "greek"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "order": 3,
        "year": -334,
        "perspective": "greek"
      }
    },
    {
      "id": "chapter:alexander:india",
      "kind": "chapter",
      "label": "The Army Refuses",
      "summary": "The Hydaspes, July 326 BCE",
      "tags": [
        "chapter",
        "alexander",
        "greek"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "order": 8,
        "year": -326,
        "perspective": "greek"
      }
    },
    {
      "id": "chapter:alexander:inheritance",
      "kind": "chapter",
      "label": "What Philip Left",
      "summary": "Macedon, summer 336 BCE",
      "tags": [
        "chapter",
        "alexander",
        "greek"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "order": 1,
        "year": -336,
        "perspective": "greek"
      }
    },
    {
      "id": "chapter:alexander:issus",
      "kind": "chapter",
      "label": "Darius in the Field",
      "summary": "Battle of Issus, November 333 BCE",
      "tags": [
        "chapter",
        "alexander",
        "greek"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "order": 4,
        "year": -333,
        "perspective": "greek"
      }
    },
    {
      "id": "chapter:alexander:persepolis",
      "kind": "chapter",
      "label": "The Seat of Empire",
      "summary": "Persepolis, winter 330 BCE",
      "tags": [
        "chapter",
        "alexander",
        "greek"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "order": 7,
        "year": -330,
        "perspective": "greek"
      }
    },
    {
      "id": "chapter:alexander:wider-world",
      "kind": "chapter",
      "label": "The Wider World",
      "summary": "323 BCE — the concurrent civilizations",
      "tags": [
        "chapter",
        "alexander",
        "greek"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "order": 10,
        "year": -323,
        "perspective": "greek"
      }
    },
    {
      "id": "chapter:andalus:berber-revolt",
      "kind": "chapter",
      "label": "The Revolt of the Berbers",
      "summary": "al-Andalus, 740–742 CE",
      "tags": [
        "chapter",
        "andalus",
        "umayyad"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "order": 7,
        "year": 740,
        "perspective": "umayyad"
      }
    },
    {
      "id": "chapter:andalus:covadonga",
      "kind": "chapter",
      "label": "Covadonga",
      "summary": "the Cantabrian mountains, 718 or 722 CE",
      "tags": [
        "chapter",
        "andalus",
        "umayyad"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "order": 4,
        "year": 718,
        "perspective": "umayyad"
      }
    },
    {
      "id": "chapter:andalus:crossing",
      "kind": "chapter",
      "label": "The Crossing",
      "summary": "the Strait of Gibraltar, April–May 711 CE",
      "tags": [
        "chapter",
        "andalus",
        "umayyad"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "order": 1,
        "year": 711,
        "perspective": "umayyad"
      }
    },
    {
      "id": "chapter:andalus:guadalete",
      "kind": "chapter",
      "label": "The Battle of Guadalete",
      "summary": "southern Iberia, July 711 CE",
      "tags": [
        "chapter",
        "andalus",
        "umayyad"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "order": 2,
        "year": 711,
        "perspective": "umayyad"
      }
    },
    {
      "id": "chapter:andalus:march-into-gaul",
      "kind": "chapter",
      "label": "The March into Gaul",
      "summary": "Septimania and Aquitaine, 719–725 CE",
      "tags": [
        "chapter",
        "andalus",
        "umayyad"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "order": 5,
        "year": 719,
        "perspective": "umayyad"
      }
    },
    {
      "id": "chapter:andalus:the-refugee",
      "kind": "chapter",
      "label": "The Refugee",
      "summary": "North Africa and Iberia, 750–756 CE",
      "tags": [
        "chapter",
        "andalus",
        "umayyad"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "order": 8,
        "year": 750,
        "perspective": "umayyad"
      }
    },
    {
      "id": "chapter:andalus:tours",
      "kind": "chapter",
      "label": "The Road to Tours",
      "summary": "Aquitaine, October 732 CE",
      "tags": [
        "chapter",
        "andalus",
        "umayyad"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "order": 6,
        "year": 732,
        "perspective": "umayyad"
      }
    },
    {
      "id": "chapter:andalus:two-spains",
      "kind": "chapter",
      "label": "Two Spains",
      "summary": "the peninsula, 756 CE and after",
      "tags": [
        "chapter",
        "andalus",
        "umayyad"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "order": 9,
        "year": 756,
        "perspective": "umayyad"
      }
    },
    {
      "id": "chapter:andalus:year-of-conquest",
      "kind": "chapter",
      "label": "The Year of Conquest",
      "summary": "Iberia, 712–716 CE",
      "tags": [
        "chapter",
        "andalus",
        "umayyad"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "order": 3,
        "year": 712,
        "perspective": "umayyad"
      }
    },
    {
      "id": "chapter:caesar:alesia",
      "kind": "chapter",
      "label": "The Hill of Alesia",
      "summary": "Alesia, autumn 52 BCE",
      "tags": [
        "chapter",
        "caesar"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "order": 3,
        "year": -52,
        "perspective": ""
      }
    },
    {
      "id": "chapter:caesar:alexandria",
      "kind": "chapter",
      "label": "The Ptolemaic Court",
      "summary": "Alexandria, winter 48 BCE",
      "tags": [
        "chapter",
        "caesar"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "order": 9,
        "year": -48,
        "perspective": ""
      }
    },
    {
      "id": "chapter:caesar:egyptian-shore",
      "kind": "chapter",
      "label": "An Egyptian Shore",
      "summary": "the coast of Egypt, September 48 BCE",
      "tags": [
        "chapter",
        "caesar"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "order": 8,
        "year": -48,
        "perspective": ""
      }
    },
    {
      "id": "chapter:caesar:flight",
      "kind": "chapter",
      "label": "The Road South",
      "summary": "Rome to Brundisium, January 49 BCE",
      "tags": [
        "chapter",
        "caesar"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "order": 5,
        "year": -49,
        "perspective": ""
      }
    },
    {
      "id": "chapter:caesar:four-triumphs",
      "kind": "chapter",
      "label": "Four Times Through the City",
      "summary": "Rome, autumn 46 BCE",
      "tags": [
        "chapter",
        "caesar"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "order": 10,
        "year": -46,
        "perspective": ""
      }
    },
    {
      "id": "chapter:caesar:helvetii",
      "kind": "chapter",
      "label": "The Helvetii Move",
      "summary": "the Alps, spring 58 BCE",
      "tags": [
        "chapter",
        "caesar"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "order": 1,
        "year": -58,
        "perspective": ""
      }
    },
    {
      "id": "chapter:caesar:ides",
      "kind": "chapter",
      "label": "March Fifteenth",
      "summary": "Rome, 44 BCE",
      "tags": [
        "chapter",
        "caesar"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "order": 13,
        "year": -44,
        "perspective": ""
      }
    },
    {
      "id": "chapter:caesar:lupercalia",
      "kind": "chapter",
      "label": "The Festival of Lupercus",
      "summary": "Rome, February 15, 44 BCE",
      "tags": [
        "chapter",
        "caesar"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "order": 12,
        "year": -44,
        "perspective": ""
      }
    },
    {
      "id": "chapter:caesar:open-city",
      "kind": "chapter",
      "label": "The Open City",
      "summary": "Rome, spring 49 BCE",
      "tags": [
        "chapter",
        "caesar"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "order": 6,
        "year": -49,
        "perspective": ""
      }
    },
    {
      "id": "chapter:caesar:pharsalus",
      "kind": "chapter",
      "label": "The Plain of Thessaly",
      "summary": "Pharsalus, August 48 BCE",
      "tags": [
        "chapter",
        "caesar"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "order": 7,
        "year": -48,
        "perspective": ""
      }
    },
    {
      "id": "chapter:caesar:rubicon",
      "kind": "chapter",
      "label": "One River",
      "summary": "the Rubicon, January 49 BCE",
      "tags": [
        "chapter",
        "caesar"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "order": 4,
        "year": -49,
        "perspective": ""
      }
    },
    {
      "id": "chapter:caesar:width-of-gaul",
      "kind": "chapter",
      "label": "The Width of Gaul",
      "summary": "Gaul, 57–54 BCE",
      "tags": [
        "chapter",
        "caesar"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "order": 2,
        "year": -55,
        "perspective": ""
      }
    },
    {
      "id": "chapter:caesar:without-end",
      "kind": "chapter",
      "label": "Without Term",
      "summary": "Rome, February 44 BCE",
      "tags": [
        "chapter",
        "caesar"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "order": 11,
        "year": -44,
        "perspective": ""
      }
    },
    {
      "id": "chapter:charlemagne:aachen",
      "kind": "chapter",
      "label": "The New Rome",
      "summary": "Aachen, 790s CE",
      "tags": [
        "chapter",
        "charlemagne",
        "frankish"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "order": 5,
        "year": 794,
        "perspective": "frankish"
      }
    },
    {
      "id": "chapter:charlemagne:coronation",
      "kind": "chapter",
      "label": "Christmas 800",
      "summary": "Rome, 25 December 800 CE",
      "tags": [
        "chapter",
        "charlemagne",
        "frankish"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "order": 6,
        "year": 800,
        "perspective": "frankish"
      }
    },
    {
      "id": "chapter:charlemagne:death-legacy",
      "kind": "chapter",
      "label": "The Unfinished Empire",
      "summary": "Aachen, 814 CE and after",
      "tags": [
        "chapter",
        "charlemagne",
        "frankish"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "order": 9,
        "year": 814,
        "perspective": "frankish"
      }
    },
    {
      "id": "chapter:charlemagne:elephant",
      "kind": "chapter",
      "label": "The Elephant",
      "summary": "Aachen, 802 CE",
      "tags": [
        "chapter",
        "charlemagne",
        "frankish"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "order": 8,
        "year": 802,
        "perspective": "frankish"
      }
    },
    {
      "id": "chapter:charlemagne:inheritance",
      "kind": "chapter",
      "label": "The Inheritance",
      "summary": "the Frankish realm, 768–771 CE",
      "tags": [
        "chapter",
        "charlemagne",
        "frankish"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "order": 1,
        "year": 768,
        "perspective": "frankish"
      }
    },
    {
      "id": "chapter:charlemagne:march-system",
      "kind": "chapter",
      "label": "The Marches",
      "summary": "the frontiers, 790s–810s CE",
      "tags": [
        "chapter",
        "charlemagne",
        "frankish"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "order": 7,
        "year": 800,
        "perspective": "frankish"
      }
    },
    {
      "id": "chapter:charlemagne:roncevaux",
      "kind": "chapter",
      "label": "Roncèsvaux",
      "summary": "the Pyrenees, August 778 CE",
      "tags": [
        "chapter",
        "charlemagne",
        "frankish"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "order": 2,
        "year": 778,
        "perspective": "frankish"
      }
    },
    {
      "id": "chapter:charlemagne:saxon-wars",
      "kind": "chapter",
      "label": "The Long War",
      "summary": "Saxony, 772–804 CE",
      "tags": [
        "chapter",
        "charlemagne",
        "frankish"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "order": 3,
        "year": 772,
        "perspective": "frankish"
      }
    },
    {
      "id": "chapter:charlemagne:verden",
      "kind": "chapter",
      "label": "Verden",
      "summary": "the Aller River, 782 CE",
      "tags": [
        "chapter",
        "charlemagne",
        "frankish"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "order": 4,
        "year": 782,
        "perspective": "frankish"
      }
    },
    {
      "id": "chapter:crusades:antioch-siege",
      "kind": "chapter",
      "label": "Eight Months",
      "summary": "Antioch, October 1097 – June 1098 CE",
      "tags": [
        "chapter",
        "crusades",
        "crusader"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "order": 5,
        "year": 1097,
        "perspective": "crusader"
      }
    },
    {
      "id": "chapter:crusades:clermont",
      "kind": "chapter",
      "label": "Deus Vult",
      "summary": "Clermont-Ferrand, November 1095 CE",
      "tags": [
        "chapter",
        "crusades",
        "crusader"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "order": 1,
        "year": 1095,
        "perspective": "crusader"
      }
    },
    {
      "id": "chapter:crusades:constantinople",
      "kind": "chapter",
      "label": "The Oaths",
      "summary": "Constantinople, winter 1096–1097 CE",
      "tags": [
        "chapter",
        "crusades",
        "crusader"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "order": 3,
        "year": 1097,
        "perspective": "crusader"
      }
    },
    {
      "id": "chapter:crusades:dorylaeum",
      "kind": "chapter",
      "label": "The Line Holds",
      "summary": "Dorylaeum, July 1097 CE",
      "tags": [
        "chapter",
        "crusades",
        "crusader"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "order": 4,
        "year": 1097,
        "perspective": "crusader"
      }
    },
    {
      "id": "chapter:crusades:holy-lance",
      "kind": "chapter",
      "label": "The Vision",
      "summary": "Antioch, June 1098 CE",
      "tags": [
        "chapter",
        "crusades",
        "crusader"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "order": 6,
        "year": 1098,
        "perspective": "crusader"
      }
    },
    {
      "id": "chapter:crusades:jerusalem-walls",
      "kind": "chapter",
      "label": "The Assault",
      "summary": "Jerusalem, June–July 1099 CE",
      "tags": [
        "chapter",
        "crusades",
        "crusader"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "order": 8,
        "year": 1099,
        "perspective": "crusader"
      }
    },
    {
      "id": "chapter:crusades:maarra",
      "kind": "chapter",
      "label": "The Road South",
      "summary": "Maarra al-Numan, November 1098 – January 1099 CE",
      "tags": [
        "chapter",
        "crusades",
        "crusader"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "order": 7,
        "year": 1098,
        "perspective": "crusader"
      }
    },
    {
      "id": "chapter:crusades:peoples-crusade",
      "kind": "chapter",
      "label": "The Forerunners",
      "summary": "The Rhineland and Anatolia, 1096 CE",
      "tags": [
        "chapter",
        "crusades",
        "crusader"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "order": 2,
        "year": 1096,
        "perspective": "crusader"
      }
    },
    {
      "id": "chapter:crusades:sack",
      "kind": "chapter",
      "label": "What Was Done",
      "summary": "Jerusalem, 15–16 July 1099 CE",
      "tags": [
        "chapter",
        "crusades",
        "crusader"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "order": 9,
        "year": 1099,
        "perspective": "crusader"
      }
    },
    {
      "id": "chapter:hannibal:cannae",
      "kind": "chapter",
      "label": "Cannae",
      "summary": "Apulia, August 2, 216 BCE",
      "tags": [
        "chapter",
        "hannibal",
        "carthaginian"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "order": 6,
        "year": -216,
        "perspective": "carthaginian"
      }
    },
    {
      "id": "chapter:hannibal:scipios-gambit",
      "kind": "chapter",
      "label": "Scipio Crosses",
      "summary": "North Africa, 204–203 BCE",
      "tags": [
        "chapter",
        "hannibal",
        "carthaginian"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "order": 8,
        "year": -204,
        "perspective": "carthaginian"
      }
    },
    {
      "id": "chapter:hannibal:the-fog",
      "kind": "chapter",
      "label": "The Fog",
      "summary": "Lake Trasimene, June 217 BCE",
      "tags": [
        "chapter",
        "hannibal",
        "carthaginian"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "order": 5,
        "year": -217,
        "perspective": "carthaginian"
      }
    },
    {
      "id": "chapter:hannibal:the-long-stay",
      "kind": "chapter",
      "label": "The Long Stay",
      "summary": "Southern Italy, 215–204 BCE",
      "tags": [
        "chapter",
        "hannibal",
        "carthaginian"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "order": 7,
        "year": -215,
        "perspective": "carthaginian"
      }
    },
    {
      "id": "chapter:hannibal:the-oath",
      "kind": "chapter",
      "label": "The Oath",
      "summary": "Spain, 237 BCE",
      "tags": [
        "chapter",
        "hannibal",
        "carthaginian"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "order": 1,
        "year": -218,
        "perspective": "carthaginian"
      }
    },
    {
      "id": "chapter:hannibal:the-pass",
      "kind": "chapter",
      "label": "The Pass",
      "summary": "The Alps, October 218 BCE",
      "tags": [
        "chapter",
        "hannibal",
        "carthaginian"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "order": 3,
        "year": -218,
        "perspective": "carthaginian"
      }
    },
    {
      "id": "chapter:hannibal:the-river",
      "kind": "chapter",
      "label": "The River",
      "summary": "The Rhône, August 218 BCE",
      "tags": [
        "chapter",
        "hannibal",
        "carthaginian"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "order": 2,
        "year": -218,
        "perspective": "carthaginian"
      }
    },
    {
      "id": "chapter:hannibal:trebia",
      "kind": "chapter",
      "label": "Trebia",
      "summary": "Northern Italy, December 218 BCE",
      "tags": [
        "chapter",
        "hannibal",
        "carthaginian"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "order": 4,
        "year": -218,
        "perspective": "carthaginian"
      }
    },
    {
      "id": "chapter:hannibal:zama",
      "kind": "chapter",
      "label": "Zama",
      "summary": "Tunisia, October 202 BCE",
      "tags": [
        "chapter",
        "hannibal",
        "carthaginian"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "order": 9,
        "year": -202,
        "perspective": "carthaginian"
      }
    },
    {
      "id": "chapter:mongols:four-kingdoms",
      "kind": "chapter",
      "label": "Four Kingdoms, One Memory",
      "summary": "the Eurasian steppe, 1260 CE",
      "tags": [
        "chapter",
        "mongols",
        "mongol"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "order": 9,
        "year": 1260,
        "perspective": "mongol"
      }
    },
    {
      "id": "chapter:mongols:night-caliphate-ended",
      "kind": "chapter",
      "label": "The Night the Caliphate Ended",
      "summary": "Baghdad, February 1258 CE",
      "tags": [
        "chapter",
        "mongols",
        "mongol"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "order": 7,
        "year": 1258,
        "perspective": "mongol"
      }
    },
    {
      "id": "chapter:mongols:river-of-bones",
      "kind": "chapter",
      "label": "The River of Bones",
      "summary": "the Pontic steppe, 1223 CE",
      "tags": [
        "chapter",
        "mongols",
        "mongol"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "order": 4,
        "year": 1223,
        "perspective": "mongol"
      }
    },
    {
      "id": "chapter:mongols:road-to-baghdad",
      "kind": "chapter",
      "label": "The Road to Baghdad",
      "summary": "Persia, 1253–1257 CE",
      "tags": [
        "chapter",
        "mongols",
        "mongol"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "order": 6,
        "year": 1256,
        "perspective": "mongol"
      }
    },
    {
      "id": "chapter:mongols:spring-of-goliath",
      "kind": "chapter",
      "label": "The Spring of Goliath",
      "summary": "Jezreel Valley, 3 September 1260 CE",
      "tags": [
        "chapter",
        "mongols",
        "mongol"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "order": 8,
        "year": 1260,
        "perspective": "mongol"
      }
    },
    {
      "id": "chapter:mongols:two-battles-two-days",
      "kind": "chapter",
      "label": "Two Battles, Two Days",
      "summary": "Poland and Hungary, April 1241 CE",
      "tags": [
        "chapter",
        "mongols",
        "mongol"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "order": 5,
        "year": 1241,
        "perspective": "mongol"
      }
    },
    {
      "id": "chapter:mongols:wall-does-not-hold",
      "kind": "chapter",
      "label": "The Wall Does Not Hold",
      "summary": "northern China, 1211–1215 CE",
      "tags": [
        "chapter",
        "mongols",
        "mongol"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "order": 2,
        "year": 1215,
        "perspective": "mongol"
      }
    },
    {
      "id": "chapter:mongols:white-banner",
      "kind": "chapter",
      "label": "The White Banner",
      "summary": "the Onon River, 1206 CE",
      "tags": [
        "chapter",
        "mongols",
        "mongol"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "order": 1,
        "year": 1206,
        "perspective": "mongol"
      }
    },
    {
      "id": "chapter:mongols:world-conqueror-turns-west",
      "kind": "chapter",
      "label": "The World Conqueror Turns West",
      "summary": "Central Asia, 1219–1220 CE",
      "tags": [
        "chapter",
        "mongols",
        "mongol"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "order": 3,
        "year": 1220,
        "perspective": "mongol"
      }
    },
    {
      "id": "chapter:rome:adrianople",
      "kind": "chapter",
      "label": "The Battle of Adrianople",
      "summary": "Adrianople, 9 August 378 CE",
      "tags": [
        "chapter",
        "rome",
        "western_roman"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "order": 2,
        "year": 378,
        "perspective": "western_roman"
      }
    },
    {
      "id": "chapter:rome:attila-gaul",
      "kind": "chapter",
      "label": "The Scourge of God",
      "summary": "the plains of Gaul, 451 CE",
      "tags": [
        "chapter",
        "rome",
        "western_roman"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "order": 5,
        "year": 451,
        "perspective": "western_roman"
      }
    },
    {
      "id": "chapter:rome:gothic-shore",
      "kind": "chapter",
      "label": "The Gothic Shore",
      "summary": "the Danube, 376 CE",
      "tags": [
        "chapter",
        "rome",
        "western_roman"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "order": 1,
        "year": 376,
        "perspective": "western_roman"
      }
    },
    {
      "id": "chapter:rome:romulus-augustulus",
      "kind": "chapter",
      "label": "September 476",
      "summary": "Ravenna, 4 September 476 CE",
      "tags": [
        "chapter",
        "rome",
        "western_roman"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "order": 8,
        "year": 476,
        "perspective": "western_roman"
      }
    },
    {
      "id": "chapter:rome:sack-of-rome-410",
      "kind": "chapter",
      "label": "The Eternal City Burns",
      "summary": "Rome, 24 August 410 CE",
      "tags": [
        "chapter",
        "rome",
        "western_roman"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "order": 4,
        "year": 410,
        "perspective": "western_roman"
      }
    },
    {
      "id": "chapter:rome:stilicho",
      "kind": "chapter",
      "label": "The General Who Held It Together",
      "summary": "Mediolanum / Milan, 395–408 CE",
      "tags": [
        "chapter",
        "rome",
        "western_roman"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "order": 3,
        "year": 400,
        "perspective": "western_roman"
      }
    },
    {
      "id": "chapter:rome:the-long-unwinding",
      "kind": "chapter",
      "label": "The Puppet Emperors",
      "summary": "Ravenna, 455–475 CE",
      "tags": [
        "chapter",
        "rome",
        "western_roman"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "order": 7,
        "year": 465,
        "perspective": "western_roman"
      }
    },
    {
      "id": "chapter:rome:vandals",
      "kind": "chapter",
      "label": "The Second Sack",
      "summary": "Rome, June 455 CE",
      "tags": [
        "chapter",
        "rome",
        "western_roman"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "order": 6,
        "year": 455,
        "perspective": "western_roman"
      }
    },
    {
      "id": "chapter:rome:what-fell",
      "kind": "chapter",
      "label": "What Fell in 476",
      "summary": "the world, 476 CE and after",
      "tags": [
        "chapter",
        "rome",
        "western_roman"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "order": 9,
        "year": 476,
        "perspective": "western_roman"
      }
    },
    {
      "id": "chapter:timurids:ankara",
      "kind": "chapter",
      "label": "Ankara",
      "summary": "central Anatolia, 20 July 1402 CE",
      "tags": [
        "chapter",
        "timurids",
        "timurid"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "order": 5,
        "year": 1402,
        "perspective": "timurid"
      }
    },
    {
      "id": "chapter:timurids:baghdad",
      "kind": "chapter",
      "label": "The Second Sack",
      "summary": "Baghdad, 1401 CE",
      "tags": [
        "chapter",
        "timurids",
        "timurid"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "order": 7,
        "year": 1401,
        "perspective": "timurid"
      }
    },
    {
      "id": "chapter:timurids:clavijo",
      "kind": "chapter",
      "label": "The Ambassador",
      "summary": "Samarkand, 1403–1404 CE",
      "tags": [
        "chapter",
        "timurids",
        "timurid"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "order": 6,
        "year": 1403,
        "perspective": "timurid"
      }
    },
    {
      "id": "chapter:timurids:india",
      "kind": "chapter",
      "label": "The Elephants",
      "summary": "Delhi, 1398 CE",
      "tags": [
        "chapter",
        "timurids",
        "timurid"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "order": 4,
        "year": 1398,
        "perspective": "timurid"
      }
    },
    {
      "id": "chapter:timurids:samarkand",
      "kind": "chapter",
      "label": "The City",
      "summary": "Samarkand, 1370 CE",
      "tags": [
        "chapter",
        "timurids",
        "timurid"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "order": 1,
        "year": 1370,
        "perspective": "timurid"
      }
    },
    {
      "id": "chapter:timurids:the-method",
      "kind": "chapter",
      "label": "The Method",
      "summary": "Central Asia, 1370s",
      "tags": [
        "chapter",
        "timurids",
        "timurid"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "order": 2,
        "year": 1375,
        "perspective": "timurid"
      }
    },
    {
      "id": "chapter:timurids:the-turn-east",
      "kind": "chapter",
      "label": "The China Road",
      "summary": "Samarkand to Otrar, 1404 CE",
      "tags": [
        "chapter",
        "timurids",
        "timurid"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "order": 8,
        "year": 1404,
        "perspective": "timurid"
      }
    },
    {
      "id": "chapter:timurids:toktamish",
      "kind": "chapter",
      "label": "Twice on the Steppe",
      "summary": "Terek River, 1391–1395",
      "tags": [
        "chapter",
        "timurids",
        "timurid"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "order": 3,
        "year": 1395,
        "perspective": "timurid"
      }
    },
    {
      "id": "chapter:timurids:what-he-left",
      "kind": "chapter",
      "label": "The Ruin and the Gold",
      "summary": "Otrar and after, 1405 CE",
      "tags": [
        "chapter",
        "timurids",
        "timurid"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "order": 9,
        "year": 1405,
        "perspective": "timurid"
      }
    },
    {
      "id": "event:alexander:event-artaxerxes-reconquers-egypt",
      "kind": "event",
      "label": "Artaxerxes III Reconquers Egypt",
      "summary": "After two failed attempts, Artaxerxes III expelled the last native pharaoh Nectanebo II and reintegrated Egypt into the Achaemenid Empire, ending 60 years of Egyptian independence. Egypt remained Persian until Alexander arrived eight years later.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "343 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -343,
        "year_latest": -343,
        "year_display": "343 BCE",
        "location": [
          31.25,
          29.85
        ]
      }
    },
    {
      "id": "event:alexander:event-ashoka-kalinga-war",
      "kind": "event",
      "label": "Ashoka's Kalinga War — and Conversion",
      "summary": "Ashoka's conquest of Kalinga killed or displaced hundreds of thousands; his own Major Rock Edict XIII records: 'One hundred and fifty thousand persons were thence carried away captive, one hundred thousand were there slain.' This public inscription of imperial guilt — unique in ancient history — marks his conversion to Buddhist dhamma.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "c. 261 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -261,
        "year_latest": -261,
        "year_display": "c. 261 BCE",
        "location": [
          85.82,
          20.17
        ]
      }
    },
    {
      "id": "event:alexander:event-battle-of-cannae",
      "kind": "event",
      "label": "Battle of Cannae — Rome's Worst Defeat",
      "summary": "Hannibal encircled and annihilated a Roman army of 70,000–80,000 at Cannae using a double-envelopment maneuver that military academies still study. Polybius estimates 70,000 Roman dead; Rome refused to negotiate, beginning the war's long reversal.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "216 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -216,
        "year_latest": -216,
        "year_display": "216 BCE",
        "location": [
          16.13,
          41.3
        ]
      }
    },
    {
      "id": "event:alexander:event-battle-of-caudine-forks",
      "kind": "event",
      "label": "Battle of the Caudine Forks — Rome Humiliated",
      "summary": "An entire Roman army was surrounded by Samnite forces in a narrow mountain pass and forced to pass under the yoke — the most humiliating ritual defeat a Roman army could suffer. Rome ultimately repudiated the peace treaty and continued the Samnite Wars for another thirty years.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "321 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -321,
        "year_latest": -321,
        "year_display": "321 BCE",
        "location": [
          14.72,
          41.08
        ]
      }
    },
    {
      "id": "event:alexander:event-battle-of-chaeronea",
      "kind": "event",
      "label": "Battle of Chaeronea — Philip II Unifies Greece",
      "summary": "Philip II and the young Alexander defeated the combined Athenian and Theban forces, ending the era of independent Greek city-state power. Demosthenes fled the field; the Sacred Band of Thebes was annihilated to the last man.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "338 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -338,
        "year_latest": -338,
        "year_display": "338 BCE",
        "location": [
          22.84,
          38.49
        ]
      }
    },
    {
      "id": "event:alexander:event-battle-of-changping",
      "kind": "event",
      "label": "Battle of Changping — Qin Destroys Zhao",
      "summary": "Qin forces under Bai Qi defeated the Zhao army in a campaign of encirclement and executed approximately 400,000 prisoners of war — a figure in Sima Qian partially confirmed by modern archaeological excavation of mass graves. It was the largest engagement in Warring States history and effectively eliminated Zhao as a counterweight to Qin.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "260 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -260,
        "year_latest": -260,
        "year_display": "260 BCE",
        "location": [
          112.92,
          35.8
        ]
      }
    },
    {
      "id": "event:alexander:event-battle-of-crimissus",
      "kind": "event",
      "label": "Battle of the Crimissus — Timoleon Defeats Carthage",
      "summary": "Timoleon, the Corinthian liberator of Syracuse, caught a Carthaginian army crossing the Crimissus River in flood and destroyed the Carthaginian Sacred Band of 2,500 elite citizen soldiers. Plutarch calls it 'the most brilliant victory won by Greeks over barbarians.'",
      "tags": [
        "event",
        "alexander",
        "battle",
        "341 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -341,
        "year_latest": -341,
        "year_display": "341 BCE",
        "location": [
          12.82,
          37.91
        ]
      }
    },
    {
      "id": "event:alexander:event-battle-of-cunaxa",
      "kind": "event",
      "label": "Battle of Cunaxa — Cyrus the Younger's Revolt",
      "summary": "Cyrus the Younger led 10,000 Greek mercenaries against his brother Artaxerxes II; Cyrus was killed at the moment of apparent victory, stranding the Greeks deep in Persian territory. Xenophon's subsequent march home produced the Anabasis and demonstrated that Persian infantry could not stop a determined Greek force.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "401 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -401,
        "year_latest": -401,
        "year_display": "401 BCE",
        "location": [
          44.35,
          33.35
        ]
      }
    },
    {
      "id": "event:alexander:event-battle-of-heraclea",
      "kind": "event",
      "label": "Battle of Heraclea — Pyrrhus Defeats Rome",
      "summary": "Pyrrhus of Epirus, summoned by Tarentum to fight Rome, defeated a Roman army but at enormous cost — his war elephants (the first Romans had ever seen) were decisive, but his officer losses were irreplaceable. Plutarch records his reply when congratulated: 'Another such victory over the Romans and we are undone.'",
      "tags": [
        "event",
        "alexander",
        "battle",
        "280 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -280,
        "year_latest": -280,
        "year_display": "280 BCE",
        "location": [
          16.67,
          40.21
        ]
      }
    },
    {
      "id": "event:alexander:event-battle-of-ipsus",
      "kind": "event",
      "label": "Battle of Ipsus — The Last Diadochos Falls",
      "summary": "The coalition of Cassander, Lysimachus, Seleucus, and Ptolemy defeated and killed Antigonus I, the last general who had sought to reunite Alexander's empire under a single ruler. Seleucus's war elephants (received from Chandragupta) blocked Demetrius's cavalry from rejoining the battle; the Hellenistic world was now permanently divided.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "301 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -301,
        "year_latest": -301,
        "year_display": "301 BCE",
        "location": [
          31.03,
          38.6
        ]
      }
    },
    {
      "id": "event:alexander:event-battle-of-leuctra",
      "kind": "event",
      "label": "Battle of Leuctra — Spartan Hegemony Broken",
      "summary": "Epaminondas led Thebes to a decisive victory over Sparta, killing approximately 400 Spartiates and shattering the myth of Spartan invincibility. The Sacred Band's oblique attack became a tactical template studied for centuries.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "371 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -371,
        "year_latest": -371,
        "year_display": "371 BCE",
        "location": [
          23.17,
          38.3
        ]
      }
    },
    {
      "id": "event:alexander:event-battle-of-magnesia",
      "kind": "event",
      "label": "Battle of Magnesia — Rome Breaks Seleucid Power",
      "summary": "A Roman and Pergamene army defeated Antiochus III's vastly larger Seleucid force — including scythed chariots, Indian war elephants, and cataphract cavalry. The subsequent Treaty of Apamea stripped the Seleucids of Asia Minor and imposed a crippling indemnity, permanently ending Seleucid westward ambitions.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "190 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -190,
        "year_latest": -190,
        "year_display": "190 BCE",
        "location": [
          27.44,
          38.62
        ]
      }
    },
    {
      "id": "event:alexander:event-battle-of-maling",
      "kind": "event",
      "label": "Battle of Maling — Sun Bin Destroys Wei",
      "summary": "The Qi general Sun Bin lured Wei's premier general Pang Juan into an ambush by simulating a retreating army that reduced its campfires each night; Pang Juan pursued into a narrow defile, was struck by massed crossbow fire, and died by suicide. Wei never recovered its dominant position among the Warring States.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "342 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -342,
        "year_latest": -342,
        "year_display": "342 BCE",
        "location": [
          116.08,
          35.39
        ]
      }
    },
    {
      "id": "event:alexander:event-battle-of-zama",
      "kind": "event",
      "label": "Battle of Zama — Scipio Defeats Hannibal",
      "summary": "Scipio Africanus defeated Hannibal at Zama by opening lanes for the war elephants, then swinging his cavalry back to encircle the Carthaginian infantry. Polybius frames this as the battle that 'decided the supremacy of Rome and Carthage' over the Mediterranean.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "202 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -202,
        "year_latest": -202,
        "year_display": "202 BCE",
        "location": [
          8.84,
          36.17
        ]
      }
    },
    {
      "id": "event:alexander:event-chandragupta-founds-maurya",
      "kind": "event",
      "label": "Chandragupta Founds the Maurya Empire",
      "summary": "Chandragupta Maurya, guided by Kautilya, overthrew the Nanda dynasty and established the first empire to unify most of the Indian subcontinent. Megasthenes, the Seleucid ambassador, describes Pataliputra as a city rivaling Babylon in scale — 9 miles by 1.5 miles, with 570 towers and 64 gates.",
      "tags": [
        "event",
        "alexander",
        "political",
        "c. 321 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -321,
        "year_latest": -320,
        "year_display": "c. 321 BCE",
        "location": [
          85.14,
          25.61
        ]
      }
    },
    {
      "id": "event:alexander:event-chandragupta-seleucus-treaty",
      "kind": "event",
      "label": "Treaty of the Indus — Chandragupta and Seleucus Divide the World",
      "summary": "Seleucus I, failing to reconquer Alexander's eastern satrapies, ceded Arachosia, Gedrosia, and Paropamisadae (modern Afghanistan and Pakistan) in exchange for 500 war elephants. Strabo calls this the first formal territorial settlement between a Hellenistic and Indian power; the elephants later proved decisive at Ipsus.",
      "tags": [
        "event",
        "alexander",
        "political",
        "c. 305–303 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -305,
        "year_latest": -303,
        "year_display": "c. 305–303 BCE",
        "location": [
          72.83,
          33.74
        ]
      }
    },
    {
      "id": "event:alexander:event-first-punic-war-begins",
      "kind": "event",
      "label": "First Punic War Begins — Rome Enters Sicily",
      "summary": "Rome intervened at Messana in Sicily, beginning a 23-year war that would transform Rome from an Italian land power into a Mediterranean naval empire. Polybius opens his Histories here as the moment Rome 'began to reach out for dominion beyond the sea.'",
      "tags": [
        "event",
        "alexander",
        "political",
        "264 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -264,
        "year_latest": -264,
        "year_display": "264 BCE",
        "location": [
          15.55,
          38.19
        ]
      }
    },
    {
      "id": "event:alexander:event-first-punic-war-ends",
      "kind": "event",
      "label": "Battle of the Aegates Islands — First Punic War Ends",
      "summary": "Rome's rebuilt fleet defeated the Carthaginian relief fleet west of Sicily, forcing Carthage to sue for peace, cede Sicily, and pay a massive indemnity — making Rome the dominant power in the western Mediterranean. Hamilcar Barca, undefeated on land in Sicily, bitterly disputed the peace; his son Hannibal would later avenge it.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "241 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -241,
        "year_latest": -241,
        "year_display": "241 BCE",
        "location": [
          12.15,
          37.95
        ]
      }
    },
    {
      "id": "event:alexander:event-galatian-invasion-delphi",
      "kind": "event",
      "label": "Galatian Invasion — Attack on Delphi",
      "summary": "Celtic (Galatian) tribes under Brennus invaded Greece and attempted to plunder the Oracle at Delphi — Greek sources report they were repulsed by earthquake and divine intervention as much as by defenders. The Galatians subsequently settled in central Anatolia (Galatia), reshaping western Asia Minor's political landscape for two centuries.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "279 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -279,
        "year_latest": -279,
        "year_display": "279 BCE",
        "location": [
          22.5,
          38.48
        ]
      }
    },
    {
      "id": "event:alexander:event-gracchi-tiberius",
      "kind": "event",
      "label": "Tiberius Gracchus Assassinated — Roman Republic Fractures",
      "summary": "Tiberius Gracchus's assassination during his land reform tribunate was the first political murder in Rome in over 300 years. Plutarch records senators beating him to death with chair legs on the Capitoline Hill; it opened the era of political violence that would culminate in Caesar and the fall of the Republic.",
      "tags": [
        "event",
        "alexander",
        "political",
        "133 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -133,
        "year_latest": -133,
        "year_display": "133 BCE",
        "location": [
          12.49,
          41.89
        ]
      }
    },
    {
      "id": "event:alexander:event-hannibal-crosses-alps",
      "kind": "event",
      "label": "Hannibal Crosses the Alps",
      "summary": "Hannibal led approximately 38,000 infantry, 8,000 cavalry, and 37 war elephants over the Alps in autumn, losing perhaps half his force to cold, rockfall, and Gallic raids. The passage was considered impossible for an army; its completion placed Carthaginian forces in northern Italy, where Hannibal would remain undefeated for fifteen years.",
      "tags": [
        "event",
        "alexander",
        "battle",
        "218 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -218,
        "year_latest": -218,
        "year_display": "218 BCE",
        "location": [
          7.27,
          44.97
        ]
      }
    },
    {
      "id": "event:alexander:event-kings-peace-antalcidas",
      "kind": "event",
      "label": "King's Peace — Persia Dictates Terms to Greece",
      "summary": "Artaxerxes II imposed the King's Peace, recognizing Persian sovereignty over all Asian Greeks and guaranteeing autonomy to all Greek city-states — effectively reasserting Achaemenid authority over mainland Greek affairs without a Persian army setting foot in Greece.",
      "tags": [
        "event",
        "alexander",
        "political",
        "387 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -387,
        "year_latest": -387,
        "year_display": "387 BCE",
        "location": [
          28.04,
          38.49
        ]
      }
    },
    {
      "id": "event:alexander:event-lamian-war",
      "kind": "event",
      "label": "Lamian War — Greek Revolt Against Macedon",
      "summary": "On news of Alexander's death, Athens and other Greek states rose against Macedonian rule, besieging Antipater at Lamia in Thessaly. Macedonian reinforcements crushed the revolt; Demosthenes took poison rather than submit, and Athenian democracy was suppressed under Macedonian-imposed oligarchy.",
      "tags": [
        "event",
        "alexander",
        "political",
        "323–322 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -323,
        "year_latest": -322,
        "year_display": "323–322 BCE",
        "location": [
          22.44,
          38.9
        ]
      }
    },
    {
      "id": "event:alexander:event-maccabean-revolt-begins",
      "kind": "event",
      "label": "Maccabean Revolt — Judea Rises Against the Seleucids",
      "summary": "Antiochus IV Epiphanes desecrated the Jerusalem Temple and outlawed Jewish observance, triggering an armed revolt under Mattathias the Hasmonean and his son Judas Maccabaeus. The revolt succeeded in rededication of the Temple (165 BCE) — still commemorated in Hanukkah — and eventually produced an independent Hasmonean state.",
      "tags": [
        "event",
        "alexander",
        "political",
        "167 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -167,
        "year_latest": -167,
        "year_display": "167 BCE",
        "location": [
          35.01,
          31.78
        ]
      }
    },
    {
      "id": "event:alexander:event-philip-ii-becomes-king",
      "kind": "event",
      "label": "Philip II Becomes King of Macedon",
      "summary": "Following the death of his brother Perdiccas III, Philip II assumed the Macedonian throne and began the military and diplomatic transformation that would make Macedon the dominant power in the Greek world within twenty years — the structural precondition for Alexander's campaigns.",
      "tags": [
        "event",
        "alexander",
        "political",
        "359 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -359,
        "year_latest": -359,
        "year_display": "359 BCE",
        "location": [
          22.52,
          40.76
        ]
      }
    },
    {
      "id": "event:alexander:event-ptolemy-declares-pharaoh",
      "kind": "event",
      "label": "Ptolemy I Declares Himself Pharaoh",
      "summary": "Following Antigonus's assumption of the royal title, Ptolemy adopted the title of Pharaoh and Basileus, founding the dynasty that would rule Egypt for three centuries — ending only with Cleopatra VII in 30 BCE.",
      "tags": [
        "event",
        "alexander",
        "political",
        "305 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -305,
        "year_latest": -305,
        "year_display": "305 BCE",
        "location": [
          29.92,
          31.2
        ]
      }
    },
    {
      "id": "event:alexander:event-qin-unification",
      "kind": "event",
      "label": "Qin Unification — First Emperor Proclaims the Empire",
      "summary": "Ying Zheng, King of Qin, completed the conquest of all six rival states and proclaimed himself Qin Shi Huangdi — 'First August Emperor' — inaugurating the imperial title and system that would govern China for two millennia. Sima Qian records the deliberate standardization of weights, measures, script, and axle-widths across a unified territory roughly equal to modern eastern China.",
      "tags": [
        "event",
        "alexander",
        "political",
        "221 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -221,
        "year_latest": -221,
        "year_display": "221 BCE",
        "location": [
          108.87,
          34.33
        ]
      }
    },
    {
      "id": "event:alexander:event-roman-destruction-of-carthage",
      "kind": "event",
      "label": "Roman Destruction of Carthage",
      "summary": "After a three-year siege, Scipio Aemilianus destroyed Carthage — burning the city for seventeen days and selling approximately 50,000 survivors into slavery. Appian records Scipio weeping at the ruins and quoting Homer on the fall of Troy; in the same year Rome also razed Corinth.",
      "tags": [
        "event",
        "alexander",
        "political",
        "146 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -146,
        "year_latest": -146,
        "year_display": "146 BCE",
        "location": [
          10.32,
          36.85
        ]
      }
    },
    {
      "id": "event:alexander:event-sack-of-corinth",
      "kind": "event",
      "label": "Roman Sack of Corinth — Greece Becomes a Province",
      "summary": "The Roman general Mummius destroyed Corinth, sold its population into slavery, and shipped its art treasures to Rome — in the same year Carthage was razed. The simultaneous elimination of the two wealthiest cities in the Mediterranean announced Rome's unchallenged dominance; Greece became in practice a Roman dependency.",
      "tags": [
        "event",
        "alexander",
        "political",
        "146 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -146,
        "year_latest": -146,
        "year_display": "146 BCE",
        "location": [
          22.88,
          37.91
        ]
      }
    },
    {
      "id": "event:alexander:event-seleucid-era-begins",
      "kind": "event",
      "label": "Seleucus Reconquers Babylon — Seleucid Era Begins",
      "summary": "Seleucus I retook Babylon from Antigonus's forces, establishing the Seleucid Era — a calendar system used throughout the Near East for centuries — and beginning the reconquest of Alexander's eastern territories. Diodorus notes that Seleucus arrived with just 1,000 men and built an empire within two decades.",
      "tags": [
        "event",
        "alexander",
        "political",
        "312 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -312,
        "year_latest": -312,
        "year_display": "312 BCE",
        "location": [
          44.42,
          32.54
        ]
      }
    },
    {
      "id": "event:alexander:event-shang-yang-reforms-qin",
      "kind": "event",
      "label": "Shang Yang's Reforms — Qin's Transformation Begins",
      "summary": "Lord Shang implemented sweeping legal codification, agricultural reorganization, and military meritocracy in Qin — abolishing aristocratic privilege and subordinating the family to the state. Sima Qian records that 'the people of Qin obeyed the new laws and Qin daily grew stronger'; these reforms are the direct foundation of Qin's unification a century later.",
      "tags": [
        "event",
        "alexander",
        "political",
        "356–350 BCE"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -356,
        "year_latest": -350,
        "year_display": "356–350 BCE",
        "location": [
          108.87,
          34.33
        ]
      }
    },
    {
      "id": "event:andalus:event-abd-ar-rahman-emirate-756",
      "kind": "event",
      "label": "Abd ar-Rahman I Establishes the Emirate of Córdoba",
      "summary": "Abd ar-Rahman ibn Mu'awiya, last survivor of the Umayyad dynasty after the Abbasid massacre of 750, crossed from North Africa to Iberia and defeated the Abbasid governor at the Battle of the Musara. He established al-Andalus as an independent emirate under Umayyad authority — refusing to acknowledge the Abbasid Caliph in Baghdad. The Córdoba emirate would survive until 1031, when it fragmented into the taifa kingdoms.",
      "tags": [
        "event",
        "andalus",
        "political",
        "756 CE"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": 756,
        "year_latest": 756,
        "year_display": "756 CE",
        "location": [
          -4.78,
          37.88
        ]
      }
    },
    {
      "id": "event:andalus:event-battle-guadalete-711",
      "kind": "event",
      "label": "Battle of Guadalete — Fall of Roderic",
      "summary": "King Roderic's Visigothic army met Tariq's force at the Transductine Promontories — a location near the Río Barbate, approximately [−5.82, 36.19] ± 30 km. Roderic was killed; the Chronicle of 754 confirms his death. The Visigothic kingdom, already fractured by dynastic rivalry between the Witizian and Rudericans, did not reorganize. No successor took the field. The battle was decisive not because of what happened on the day but because of what did not happen afterward.",
      "tags": [
        "event",
        "andalus",
        "battle",
        "July 711 CE"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 711,
        "year_latest": 711,
        "year_display": "July 711 CE",
        "location": [
          -5.82,
          36.19
        ]
      }
    },
    {
      "id": "event:andalus:event-battle-tours-732",
      "kind": "event",
      "label": "Battle of Tours / Poitiers",
      "summary": "Abd ar-Rahman al-Ghafiqi led a Muslim force from al-Andalus into Aquitaine, defeating Duke Odo of Aquitaine before being stopped by Charles Martel near Poitiers. The Arabic governor was killed in the battle. The Continuations of Fredegar and Isidore of Beja's continuation both confirm the engagement; casualty figures in later sources are wildly inflated. The battle marked the furthest Muslim advance into Francia. Whether it was 'decisive' for European history is a modern framing, not a contemporary one.",
      "tags": [
        "event",
        "andalus",
        "battle",
        "October 732 CE"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 732,
        "year_latest": 732,
        "year_display": "October 732 CE",
        "location": [
          0.34,
          46.58
        ]
      }
    },
    {
      "id": "event:andalus:event-berber-revolt-740",
      "kind": "event",
      "label": "Berber Revolt in the Maghreb and al-Andalus",
      "summary": "Berber soldiers in the Maghreb and al-Andalus revolted against Arab administrative dominance — specifically against discriminatory land distribution and taxation that favored Arab settlers over the Berber majority of the conquering army. The revolt disrupted Umayyad control of the northern marches of al-Andalus, withdrawing troops from frontier zones. The Asturian kingdom used this instability to consolidate its position in the northwest.",
      "tags": [
        "event",
        "andalus",
        "political",
        "740–742 CE"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": 740,
        "year_latest": 742,
        "year_display": "740–742 CE",
        "location": [
          -3.7,
          40.4
        ]
      }
    },
    {
      "id": "event:andalus:event-covadonga-718",
      "kind": "event",
      "label": "Battle of Covadonga",
      "summary": "Pelayo, a Visigothic nobleman, defeated a Muslim force in the Cantabrian mountains at Covadonga. The date is disputed — 718 in the Chronicle of Alfonso III, 722 in the Chronicle of Albelda; both were written 150+ years after the event. The scale of the engagement is also contested: Arabic sources (al-Maqqari) dismiss it as a minor border skirmish; Asturian chronicles treat it as providential deliverance. Pelayo was subsequently recognized as king of Asturias. The site is confirmed; the details are hagiography.",
      "tags": [
        "event",
        "andalus",
        "battle",
        "718 or 722 CE"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 718,
        "year_latest": 722,
        "year_display": "718 or 722 CE",
        "location": [
          -5.07,
          43.3
        ]
      }
    },
    {
      "id": "event:andalus:event-fall-toledo-712",
      "kind": "event",
      "label": "Fall of Toledo",
      "summary": "Musa ibn Nusayr followed Tariq with a larger Arab force in 712, completing the systematic conquest. Toledo — the Visigothic royal capital since Leovigild's reign — fell without major resistance. The Visigothic court had already fled north. The Chronicle of 754 records the conquest of the peninsula city by city; the Arabic sources (Ibn Abd al-Hakam) add legendary detail about hidden treasure that cannot be independently confirmed.",
      "tags": [
        "event",
        "andalus",
        "political",
        "712 CE"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": 712,
        "year_latest": 712,
        "year_display": "712 CE",
        "location": [
          -3.99,
          39.86
        ]
      }
    },
    {
      "id": "event:andalus:event-tariq-crossing-711",
      "kind": "event",
      "label": "Tariq ibn Ziyad Crosses to Iberia",
      "summary": "Tariq ibn Ziyad led approximately 7,000 Berber soldiers across the Strait of Gibraltar, landing near the rock that would take his name — Jabal Tariq. The Chronicle of 754, written in Hispania within living memory, confirms the landing. Whether Count Julian's invitation is historical or legendary remains disputed: it appears in Arabic sources but not in the near-contemporary Latin chronicle.",
      "tags": [
        "event",
        "andalus",
        "battle",
        "April–May 711 CE"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 711,
        "year_latest": 711,
        "year_display": "April–May 711 CE",
        "location": [
          -5.35,
          36.14
        ]
      }
    },
    {
      "id": "event:caesar:event-battle-pharsalus",
      "kind": "event",
      "label": "Battle of Pharsalus",
      "summary": "Caesar defeats Pompey's numerically superior forces on the plains of Thessaly. Pompey flees to Egypt. The decisive engagement of the civil war is over in a single afternoon.",
      "tags": [
        "event",
        "caesar",
        "battle",
        "August 9, 48 BCE"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -48,
        "year_latest": -48,
        "year_display": "August 9, 48 BCE",
        "location": [
          22.43,
          39.29
        ]
      }
    },
    {
      "id": "event:caesar:event-battle-philippi",
      "kind": "event",
      "label": "Battle of Philippi — End of the Liberatores",
      "summary": "Octavian and Antony defeat Brutus and Cassius in two engagements near Philippi, Macedonia. Both conspirators die. The Republic's last military defenders are gone; the Augustan settlement follows within twelve years.",
      "tags": [
        "event",
        "caesar",
        "battle",
        "October 3 and 23, 42 BCE"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -42,
        "year_latest": -42,
        "year_display": "October 3 and 23, 42 BCE",
        "location": [
          24.28,
          41.01
        ]
      }
    },
    {
      "id": "event:caesar:event-battle-thapsus",
      "kind": "event",
      "label": "Battle of Thapsus — Cato's Suicide at Utica",
      "summary": "Caesar destroys the last Pompeian army in Africa. Cato the Younger, refusing Caesar's pardon, kills himself at Utica — creating a martyr the optimates could invoke for generations. His death outlasted any military outcome.",
      "tags": [
        "event",
        "caesar",
        "battle",
        "February 6, 46 BCE"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -46,
        "year_latest": -46,
        "year_display": "February 6, 46 BCE",
        "location": [
          11.05,
          35.6
        ]
      }
    },
    {
      "id": "event:caesar:event-caesar-enters-rome",
      "kind": "event",
      "label": "Caesar Enters Rome — Treasury Seized",
      "summary": "Caesar enters Rome without resistance and seizes the treasury after breaking down the door of the Aerarium Sanctius despite the Tribune Metellus's obstruction. The act signals that constitutional norms no longer apply.",
      "tags": [
        "event",
        "caesar",
        "political",
        "April 1, 49 BCE"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -49,
        "year_latest": -49,
        "year_display": "April 1, 49 BCE",
        "location": [
          12.49,
          41.89
        ]
      }
    },
    {
      "id": "event:caesar:event-caesar-meets-cleopatra",
      "kind": "event",
      "label": "Caesar and Cleopatra — Alexandria",
      "summary": "Cleopatra VII reaches Caesar at the palace in Alexandria. Plutarch records she was carried past her brother's guards in a linen bundle — the mechanism is his account only, unconfirmed elsewhere. Their alliance would reshape the eastern Mediterranean.",
      "tags": [
        "event",
        "caesar",
        "political",
        "October–November 48 BCE"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -48,
        "year_latest": -48,
        "year_display": "October–November 48 BCE",
        "location": [
          29.92,
          31.2
        ]
      }
    },
    {
      "id": "event:caesar:event-caesars-four-triumphs",
      "kind": "event",
      "label": "Caesar's Four Triumphs",
      "summary": "Caesar celebrates four triumphs over Gaul, Egypt, Pontus, and Africa in rapid succession, the most triumphs any Roman had held in a single year. Vercingetorix, held six years in the Mamertine Prison, was executed at the climax of the Gallic triumph.",
      "tags": [
        "event",
        "caesar",
        "cultural",
        "September–October 46 BCE"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "event_type": "cultural",
        "year_earliest": -46,
        "year_latest": -46,
        "year_display": "September–October 46 BCE",
        "location": [
          12.49,
          41.89
        ]
      }
    },
    {
      "id": "event:caesar:event-dictator-perpetuo",
      "kind": "event",
      "label": "Caesar Declared Dictator Perpetuo",
      "summary": "The Senate grants Caesar the title Dictator Perpetuo — dictator in perpetuity — breaking the republican norm that dictatorship was a temporary emergency office. The appointment is the immediate catalyst for the conspiracy.",
      "tags": [
        "event",
        "caesar",
        "political",
        "February 44 BCE"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -44,
        "year_latest": -44,
        "year_display": "February 44 BCE",
        "location": [
          12.49,
          41.89
        ]
      }
    },
    {
      "id": "event:caesar:event-ides-of-march",
      "kind": "event",
      "label": "Assassination of Julius Caesar — Ides of March",
      "summary": "Caesar is stabbed twenty-three times in the Theatre of Pompey by a group of senators calling themselves the Liberatores. The conspirators expected to restore the Republic; instead they triggered seventeen more years of civil war.",
      "tags": [
        "event",
        "caesar",
        "death",
        "March 15, 44 BCE"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "event_type": "death",
        "year_earliest": -44,
        "year_latest": -44,
        "year_display": "March 15, 44 BCE",
        "location": [
          12.472,
          41.9
        ]
      }
    },
    {
      "id": "event:caesar:event-lupercalia-crown",
      "kind": "event",
      "label": "Antony Offers Caesar the Crown — Lupercalia",
      "summary": "At the Lupercalia festival, Mark Antony publicly offers Caesar a royal crown three times. Caesar refuses each time to crowd cheers, but the episode confirms senators' fears that he intends to make himself king.",
      "tags": [
        "event",
        "caesar",
        "political",
        "February 15, 44 BCE"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -44,
        "year_latest": -44,
        "year_display": "February 15, 44 BCE",
        "location": [
          12.485,
          41.892
        ]
      }
    },
    {
      "id": "event:caesar:event-pompey-evacuates-rome",
      "kind": "event",
      "label": "Pompey and the Senate Abandon Rome",
      "summary": "Pompey and the consuls flee Rome south to Brundisium, then to Greece, leaving the city and the treasury undefended. The Senate in exile would govern from Macedonia.",
      "tags": [
        "event",
        "caesar",
        "political",
        "January 17–18, 49 BCE"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -49,
        "year_latest": -49,
        "year_display": "January 17–18, 49 BCE",
        "location": [
          12.49,
          41.89
        ]
      }
    },
    {
      "id": "event:caesar:event-pompey-murdered-egypt",
      "kind": "event",
      "label": "Pompey Murdered on the Egyptian Shore",
      "summary": "Pompey is assassinated on orders of the boy-king Ptolemy XIII's advisors as he steps ashore at Pelusium, Egypt. His head is presented to Caesar, who reportedly wept.",
      "tags": [
        "event",
        "caesar",
        "death",
        "September 28, 48 BCE"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "event_type": "death",
        "year_earliest": -48,
        "year_latest": -48,
        "year_display": "September 28, 48 BCE",
        "location": [
          32.68,
          31.12
        ]
      }
    },
    {
      "id": "event:caesar:event-rubicon-crossing",
      "kind": "event",
      "label": "Caesar Crosses the Rubicon",
      "summary": "Caesar leads the Thirteenth Legion across the Rubicon river, the legal boundary of the Roman Republic, triggering civil war. No Roman general was permitted to lead armed troops into Italy proper.",
      "tags": [
        "event",
        "caesar",
        "political",
        "January 49 BCE"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -49,
        "year_latest": -49,
        "year_display": "January 49 BCE",
        "location": [
          12.4,
          44.28
        ]
      }
    },
    {
      "id": "event:caesar:event-siege-of-alesia",
      "kind": "event",
      "label": "Siege of Alesia",
      "summary": "Caesar besieges Vercingetorix's Gallic coalition on a hill in Burgundy, building 40 km of fortifications to trap the defenders and repel a relief army. The fall of Alesia ends unified Gallic resistance. Caesar records the coalition at 250,000 — his figure only, likely inflated.",
      "tags": [
        "event",
        "caesar",
        "battle",
        "52 BCE"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -52,
        "year_latest": -52,
        "year_display": "52 BCE",
        "location": [
          4.5525,
          47.5366
        ]
      }
    },
    {
      "id": "event:charlemagne:event-aachen-capital-794",
      "kind": "event",
      "label": "Aachen Established as Permanent Capital",
      "summary": "Charlemagne made Aachen his permanent residence and administrative center in the 790s, constructing the Palatine Chapel — consecrated around 805 — modeled on the Byzantine church of San Vitale in Ravenna. Einhard describes the palace complex in detail and Charlemagne's daily routine there. Aachen sits near thermal springs that Charlemagne used regularly; its selection as capital owed as much to geography and personal preference as to strategic calculation. The Synod of Frankfurt in 794 was held in the region, at which the Filioque controversy and the heresy of Adoptionism were condemned.",
      "tags": [
        "event",
        "charlemagne",
        "founding",
        "794 CE"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "event_type": "founding",
        "year_earliest": 794,
        "year_latest": 794,
        "year_display": "794 CE",
        "location": [
          6.08,
          50.77
        ]
      }
    },
    {
      "id": "event:charlemagne:event-charlemagne-accession-768",
      "kind": "event",
      "label": "Charlemagne Becomes Sole King of the Franks",
      "summary": "On the death of Pippin III in September 768, the Frankish kingdom was divided between his two sons — Charlemagne in the north and east, Carloman in the south and west. The Royal Frankish Annals record the partition without editorial comment. When Carloman died in December 771, Charlemagne seized his brother's portion and ruled the entire Frankish realm as sole king. Carloman's widow and sons fled to the Lombard court. Whether Charlemagne had any role in Carloman's death is unattested; the Annals record it as natural.",
      "tags": [
        "event",
        "charlemagne",
        "political",
        "768–771 CE"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": 768,
        "year_latest": 771,
        "year_display": "768–771 CE",
        "location": [
          6.96,
          49.68
        ]
      }
    },
    {
      "id": "event:charlemagne:event-christmas-coronation-800",
      "kind": "event",
      "label": "Imperial Coronation of Charlemagne",
      "summary": "On Christmas Day 800, Pope Leo III crowned Charlemagne as emperor in St Peter's Basilica in Rome. Einhard, in the Vita Karoli, claims Charlemagne would not have entered the church had he known what the Pope intended — a statement read by historians variously as genuine surprise, political theater, or retrospective distancing from a papally-driven act. The Royal Frankish Annals describe the coronation as the Roman people's petition. Byzantine court protocol did not recognize the title: Constantinople maintained that there could be only one Roman emperor. The coronation formalized a new political geography of the Latin West.",
      "tags": [
        "event",
        "charlemagne",
        "political",
        "25 December 800 CE"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": 800,
        "year_latest": 800,
        "year_display": "25 December 800 CE",
        "location": [
          12.45,
          41.9
        ]
      }
    },
    {
      "id": "event:charlemagne:event-council-frankfurt-794",
      "kind": "event",
      "label": "Council of Frankfurt",
      "summary": "The Council of Frankfurt in 794 was the largest church council of the Carolingian period, attended by bishops from across the Frankish realm and including papal legates. It condemned the Adoptionist heresy of Elipandus of Toledo and Felix of Urgel, who held that Christ was God's son by adoption in his human nature. It also issued a response to the Second Council of Nicaea (787) on the veneration of images — the Frankish position was more restrictive than Byzantine practice and became a persistent theological fault line. The council's proceedings survive in the Capitulary of Frankfurt.",
      "tags": [
        "event",
        "charlemagne",
        "political",
        "794 CE"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": 794,
        "year_latest": 794,
        "year_display": "794 CE",
        "location": [
          8.68,
          50.11
        ]
      }
    },
    {
      "id": "event:charlemagne:event-death-charlemagne-814",
      "kind": "event",
      "label": "Death of Charlemagne at Aachen",
      "summary": "Charlemagne died at Aachen on 28 January 814 of pleurisy, aged approximately 65–70. Einhard describes his last days — the failed attempt at fasting, the fever, the final illness — with the detail of an eyewitness who was present at court. Louis the Pious, already crowned co-emperor in 813, inherited the entire realm. Within a generation the empire was partitioned by the Treaty of Verdun (843) into the three kingdoms that would become France, Germany, and a middle territory whose ownership remained contested for centuries.",
      "tags": [
        "event",
        "charlemagne",
        "death",
        "28 January 814 CE"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "event_type": "death",
        "year_earliest": 814,
        "year_latest": 814,
        "year_display": "28 January 814 CE",
        "location": [
          6.08,
          50.77
        ]
      }
    },
    {
      "id": "event:charlemagne:event-roncevaux-778",
      "kind": "event",
      "label": "Battle of Roncevaux Pass",
      "summary": "Returning from a failed campaign in Iberia where Charlemagne had besieged Zaragoza without result, his rear-guard was ambushed in the Pyrenees at Roncevaux Pass. The Royal Frankish Annals mention the attack only briefly and give no details of casualties. The Vita Karoli by Einhard identifies the attackers as Basques (Vascones). Among the dead was Roland, prefect of the Breton March — the historical kernel of the later Chanson de Roland, which transformed the Basque ambush into a heroic Arab battle and a Christian martyrdom. The actual engagement was a strategic setback for Charlemagne, not a clash of civilizations.",
      "tags": [
        "event",
        "charlemagne",
        "battle",
        "August 778 CE"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 778,
        "year_latest": 778,
        "year_display": "August 778 CE",
        "location": [
          -1.32,
          43.01
        ]
      }
    },
    {
      "id": "event:charlemagne:event-verden-massacre-782",
      "kind": "event",
      "label": "Verden Massacre",
      "summary": "After a Saxon uprising killed a Frankish force at the Süntel Hills in 782, Charlemagne ordered 4,500 Saxon prisoners beheaded at Verden an der Aller in a single day. The Royal Frankish Annals record this without condemnation. Alcuin of York, Charlemagne's court scholar, subsequently wrote that forced baptism without instruction was not true conversion — an indirect critique. The Capitulary on Saxony issued the same year mandated the death penalty for refusing baptism, abandoning Christian practice, and eating meat during Lent. Verden is the event most cited in later Saxon and German memory as the price of Carolingian incorporation.",
      "tags": [
        "event",
        "charlemagne",
        "political",
        "782 CE"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": 782,
        "year_latest": 782,
        "year_display": "782 CE",
        "location": [
          9.23,
          52.92
        ]
      }
    },
    {
      "id": "event:crusades:event-battle-antioch-1098",
      "kind": "event",
      "label": "Battle of Antioch — Defeat of Kerbogha",
      "summary": "On 28 June 1098 the Crusaders sortied from Antioch against Kerbogha’s besieging army, reportedly carrying the Holy Lance discovered days earlier. Kerbogha’s coalition collapsed — his internal political tensions made coordinated resistance impossible. The Gesta Francorum describes his retreat as a rout. The victory secured Antioch and Bohemond’s subsequent claim to hold the city, in violation of his oath to Alexios.",
      "tags": [
        "event",
        "crusades",
        "battle",
        "June 1098 CE"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 1098,
        "year_latest": 1098,
        "year_display": "June 1098 CE",
        "location": [
          36.16,
          36.2
        ]
      }
    },
    {
      "id": "event:crusades:event-battle-dorylaeum-1097",
      "kind": "event",
      "label": "Battle of Dorylaeum",
      "summary": "The Crusader army, led by Bohemond’s vanguard and the main force under Godfrey, defeated a Seljuk army under Kilij Arslan near Dorylaeum on 1 July 1097. The battle turned when the main Crusader column arrived to relieve Bohemond’s encircled force. Kilij Arslan abandoned his treasury and camp. The Gesta Francorum describes the battle in detail; the victory opened the road across Anatolia.",
      "tags": [
        "event",
        "crusades",
        "battle",
        "July 1097 CE"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 1097,
        "year_latest": 1097,
        "year_display": "July 1097 CE",
        "location": [
          30.52,
          39.77
        ]
      }
    },
    {
      "id": "event:crusades:event-council-clermont-1095",
      "kind": "event",
      "label": "Council of Clermont",
      "summary": "Pope Urban II convened a church council at Clermont-Ferrand in November 1095. On the final day he preached a sermon calling for armed pilgrimage to recover Jerusalem from Muslim rule. Five versions of the sermon survive, all written after Jerusalem fell in 1099; no two agree on what Urban actually said. The response was immediate and overwhelming: crowds reportedly shouted “Deus vult” (God wills it). The sermon launched the First Crusade.",
      "tags": [
        "event",
        "crusades",
        "political",
        "November 1095 CE"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": 1095,
        "year_latest": 1095,
        "year_display": "November 1095 CE",
        "location": [
          3.08,
          45.78
        ]
      }
    },
    {
      "id": "event:crusades:event-crusaders-constantinople-1097",
      "kind": "event",
      "label": "Crusader Princes Arrive at Constantinople",
      "summary": "The major Crusader contingents — led by Godfrey of Bouillon, Raymond of Toulouse, Bohemond of Taranto, and others — arrived at Constantinople across the winter of 1096–1097. Emperor Alexios I demanded each prince swear an oath of homage and promise to return any recovered Byzantine territory. The oaths were taken under duress; the question of whether they were binding would haunt Byzantine-Crusader relations for decades. Anna Komnena’s account of these negotiations is detailed and hostile.",
      "tags": [
        "event",
        "crusades",
        "political",
        "1096–1097 CE"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": 1096,
        "year_latest": 1097,
        "year_display": "1096–1097 CE",
        "location": [
          28.97,
          41.01
        ]
      }
    },
    {
      "id": "event:crusades:event-sack-jerusalem-1099",
      "kind": "event",
      "label": "Massacre at Jerusalem",
      "summary": "Following the fall of Jerusalem, Crusader forces killed a large portion of the city’s Muslim and Jewish inhabitants. The Gesta Francorum says streets ran with blood; Raymond of Aguilers describes wading through it to reach the Holy Sepulchre. Ibn al-Qalanisi records the massacre from Damascus. Modern historians dispute the scale — the city’s population before the siege was probably between 20,000 and 30,000. What is not disputed is that a massacre occurred and that it ended any prospect of accommodation between Crusader and Fatimid.",
      "tags": [
        "event",
        "crusades",
        "political",
        "15–16 July 1099 CE"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": 1099,
        "year_latest": 1099,
        "year_display": "15–16 July 1099 CE",
        "location": [
          35.23,
          31.78
        ]
      }
    },
    {
      "id": "event:crusades:event-siege-antioch-1097",
      "kind": "event",
      "label": "Siege of Antioch",
      "summary": "The Crusaders besieged Antioch from October 1097. The city’s walls were formidable; the Crusader army itself suffered severe attrition from disease, desertion, and starvation over eight months. A relief army under Kerbogha of Mosul was approaching when a traitor inside the city — identified in the sources as Firouz, an Armenian armorer — allowed the Crusaders through the walls on 3 June 1098. Within days Kerbogha’s army arrived and the besiegers became the besieged.",
      "tags": [
        "event",
        "crusades",
        "battle",
        "October 1097 – June 1098 CE"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 1097,
        "year_latest": 1098,
        "year_display": "October 1097 – June 1098 CE",
        "location": [
          36.16,
          36.2
        ]
      }
    },
    {
      "id": "event:crusades:event-siege-jerusalem-1099",
      "kind": "event",
      "label": "Siege and Fall of Jerusalem",
      "summary": "Crusader forces besieged Jerusalem from June 7, 1099. The Fatimid garrison had expelled the Christian and Jewish populations before the siege. The walls were breached on 15 July after a final assault using siege towers. The Gesta Francorum and Ibn al-Qalanisi agree on the date; casualty accounts diverge dramatically. The city’s fall was the Crusade’s declared objective and its conventional endpoint.",
      "tags": [
        "event",
        "crusades",
        "battle",
        "June–July 1099 CE"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 1099,
        "year_latest": 1099,
        "year_display": "June–July 1099 CE",
        "location": [
          35.23,
          31.78
        ]
      }
    },
    {
      "id": "event:hannibal:event-antiochus-iii-great-anabasis",
      "kind": "event",
      "label": "Antiochus III's Great Anabasis — The East Reclaimed",
      "summary": "While Rome and Carthage ground each other down in Italy, Antiochus III marched east across Persia, Bactria, and into India — the first Seleucid ruler since the founders to reassert control over the empire's eastern satrapies. The campaign lasted seven years and earned him the epithet 'the Great.' Polybius called it the most remarkable feat of generalship of his age.",
      "tags": [
        "event",
        "hannibal",
        "political",
        "212–205 BCE"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -212,
        "year_latest": -205,
        "year_display": "212–205 BCE",
        "location": [
          52.89,
          29.94
        ]
      }
    },
    {
      "id": "event:hannibal:event-battle-of-ilipa",
      "kind": "event",
      "label": "Battle of Ilipa — Scipio Drives Carthage from Spain",
      "summary": "Scipio maneuvered Hasdrubal son of Gisco's army into battle with a deployment that echoed Cannae in reverse — Roman legions on the wings, Spanish allies in the center — then attacked the Carthaginian wings before the center was engaged. The Carthaginian army was destroyed; Hasdrubal escaped to Africa. Spain, which the Barcids had built over twenty years, was gone.",
      "tags": [
        "event",
        "hannibal",
        "battle",
        "206 BCE"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -206,
        "year_latest": -206,
        "year_display": "206 BCE",
        "location": [
          -5.78,
          37.54
        ]
      }
    },
    {
      "id": "event:hannibal:event-battle-of-raphia",
      "kind": "event",
      "label": "Battle of Raphia — Ptolemy IV Defeats Antiochus III",
      "summary": "In the same summer Hannibal annihilated Flaminius at Lake Trasimene, Ptolemy IV defeated Antiochus III's invasion of Egypt at Raphia with 70,000 infantry, 5,000 cavalry, and 73 war elephants — the largest battle of the Hellenistic era. Polybius records Ptolemy himself in the front line. The victory preserved the Ptolemaic kingdom for another century.",
      "tags": [
        "event",
        "hannibal",
        "battle",
        "217 BCE"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -217,
        "year_latest": -217,
        "year_display": "217 BCE",
        "location": [
          34.25,
          31.26
        ]
      }
    },
    {
      "id": "event:hannibal:event-ebro-treaty",
      "kind": "event",
      "label": "Ebro Treaty — Rome and Carthage Divide Iberian Influence",
      "summary": "Hasdrubal, Hamilcar's son-in-law and successor in Spain, agreed with Rome that Carthaginian forces would not cross the Ebro River in arms. The treaty left undefined what Rome could guarantee south of the Ebro — an ambiguity Hannibal would exploit at Saguntum thirteen years later.",
      "tags": [
        "event",
        "hannibal",
        "political",
        "226 BCE"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -226,
        "year_latest": -226,
        "year_display": "226 BCE",
        "location": [
          0.53,
          40.74
        ]
      }
    },
    {
      "id": "event:hannibal:event-fall-of-syracuse",
      "kind": "event",
      "label": "Fall of Syracuse — Archimedes Killed",
      "summary": "After a two-year siege in which Archimedes' war machines — including the claw and parabolic mirrors — repeatedly defeated Roman assault attempts, Marcus Marcellus finally took Syracuse through a gate bribed open by a traitor. Archimedes was killed by a Roman soldier while drawing a mathematical diagram. Livy records Marcellus wept when he saw the city burning.",
      "tags": [
        "event",
        "hannibal",
        "battle",
        "212 BCE"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -212,
        "year_latest": -212,
        "year_display": "212 BCE",
        "location": [
          15.29,
          37.07
        ]
      }
    },
    {
      "id": "event:hannibal:event-hamilcar-barca-spain",
      "kind": "event",
      "label": "Hamilcar Barca Begins the Iberian Project",
      "summary": "After the humiliation of the First Punic War, Hamilcar Barca crossed to Iberia with his army and nine-year-old son Hannibal — beginning a nineteen-year Barcid project to build a second Carthaginian empire in Spain. The mines at Carthago Nova would fund the army that invaded Italy two decades later.",
      "tags": [
        "event",
        "hannibal",
        "political",
        "237 BCE"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -237,
        "year_latest": -237,
        "year_display": "237 BCE",
        "location": [
          -5.6,
          36.53
        ]
      }
    },
    {
      "id": "event:hannibal:event-han-dynasty-founded",
      "kind": "event",
      "label": "Liu Bang Proclaims the Han Dynasty",
      "summary": "In the same year Scipio defeated Hannibal at Zama, Liu Bang defeated his rival Xiang Yu at the Battle of Gaixia and proclaimed the Han dynasty — which would last 400 years and give China the name it still uses for its majority ethnic group. Two civilizations whose shapes would define large parts of the world were set in their trajectories in the same twelve months.",
      "tags": [
        "event",
        "hannibal",
        "political",
        "202 BCE"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -202,
        "year_latest": -202,
        "year_display": "202 BCE",
        "location": [
          116.39,
          39.91
        ]
      }
    },
    {
      "id": "event:hannibal:event-hasdrubal-barca-metaurus",
      "kind": "event",
      "label": "Battle of the Metaurus — Hasdrubal Barca Destroyed",
      "summary": "Hasdrubal Barca crossed the Alps with a relief army meant to join his brother in Italy. Roman consuls caught him at the Metaurus river and destroyed his force. Hannibal learned of the defeat when Roman soldiers threw his brother's severed head into his camp. After nine years in Italy, this was confirmation that no reinforcement was coming: the war would not be decided in Italy.",
      "tags": [
        "event",
        "hannibal",
        "battle",
        "207 BCE"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -207,
        "year_latest": -207,
        "year_display": "207 BCE",
        "location": [
          12.68,
          43.68
        ]
      }
    },
    {
      "id": "event:hannibal:event-philip-v-hannibal-alliance",
      "kind": "event",
      "label": "Philip V Allies with Hannibal — The First Macedonian War Begins",
      "summary": "After Cannae, Philip V of Macedon saw an opportunity and signed a treaty with Hannibal: each would assist the other against Rome. Rome responded by allying with the Aetolian League and opening a second war in Greece — forcing Macedon to fight on two fronts and preventing Philip from ever crossing to Italy with a meaningful force.",
      "tags": [
        "event",
        "hannibal",
        "political",
        "215 BCE"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -215,
        "year_latest": -215,
        "year_display": "215 BCE",
        "location": [
          22.52,
          40.76
        ]
      }
    },
    {
      "id": "event:hannibal:event-qin-dynasty-falls",
      "kind": "event",
      "label": "The Qin Dynasty Collapses — Peasant Armies March on the Capital",
      "summary": "Fourteen years after Qin Shi Huangdi proclaimed the First Empire, his son Ziying surrendered to Liu Bang as peasant armies burned the capital and tore down the Great Wall sections Qin had erected. Sima Qian records that a fire burned the Epang Palace for three months. The empire that had standardized script, weights, and axle-widths across a continent lasted fifteen years.",
      "tags": [
        "event",
        "hannibal",
        "political",
        "207–206 BCE"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": -207,
        "year_latest": -206,
        "year_display": "207–206 BCE",
        "location": [
          108.87,
          34.33
        ]
      }
    },
    {
      "id": "event:hannibal:event-scipio-takes-carthago-nova",
      "kind": "event",
      "label": "Scipio Takes Carthago Nova in a Single Day",
      "summary": "Publius Cornelius Scipio, at twenty-six the youngest proconsul in Roman history, crossed lagoons at low tide that Carthaginian defenders had left unguarded — local fishermen had warned him of the tidal pattern — and took the main Carthaginian base in Spain before the garrison could respond. He captured the city's treasury, its grain stores, and 300 noble hostages held there as security by Carthage's Spanish allies.",
      "tags": [
        "event",
        "hannibal",
        "battle",
        "209 BCE"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -209,
        "year_latest": -209,
        "year_display": "209 BCE",
        "location": [
          -0.98,
          37.6
        ]
      }
    },
    {
      "id": "event:hannibal:event-siege-of-saguntum",
      "kind": "event",
      "label": "Siege of Saguntum — Hannibal's Casus Belli",
      "summary": "Hannibal besieged and took Saguntum — a Roman ally south of the Ebro — in an eight-month campaign. Rome protested and sent no army. When the city fell, Carthage refused Roman demands for Hannibal's surrender, and both sides declared what they had already started: a war.",
      "tags": [
        "event",
        "hannibal",
        "battle",
        "219 BCE"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": -219,
        "year_latest": -219,
        "year_display": "219 BCE",
        "location": [
          -0.27,
          39.88
        ]
      }
    },
    {
      "id": "event:mongols:event-battle-ain-jalut-1260",
      "kind": "event",
      "label": "Battle of Ain Jalut — Mamluks Halt the Mongols",
      "summary": "civilization",
      "tags": [
        "event",
        "mongols",
        "battle",
        "3 September 1260 CE"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 1260,
        "year_latest": 1260,
        "year_display": "3 September 1260 CE",
        "location": [
          35.57,
          32.63
        ]
      }
    },
    {
      "id": "event:mongols:event-battle-kalka-river-1223",
      "kind": "event",
      "label": "Battle of the Kalka River",
      "summary": "regional",
      "tags": [
        "event",
        "mongols",
        "battle",
        "May 1223 CE"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 1223,
        "year_latest": 1223,
        "year_display": "May 1223 CE",
        "location": [
          37.52,
          47.55
        ]
      }
    },
    {
      "id": "event:mongols:event-battle-legnica-1241",
      "kind": "event",
      "label": "Battle of Legnica",
      "summary": "civilization",
      "tags": [
        "event",
        "mongols",
        "battle",
        "9 April 1241 CE"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 1241,
        "year_latest": 1241,
        "year_display": "9 April 1241 CE",
        "location": [
          16.16,
          51.21
        ]
      }
    },
    {
      "id": "event:mongols:event-destruction-samarkand-1220",
      "kind": "event",
      "label": "Destruction of Samarkand",
      "summary": "civilization",
      "tags": [
        "event",
        "mongols",
        "battle",
        "Spring 1220 CE"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 1220,
        "year_latest": 1220,
        "year_display": "Spring 1220 CE",
        "location": [
          66.96,
          39.65
        ]
      }
    },
    {
      "id": "event:mongols:event-kurultai-1206",
      "kind": "event",
      "label": "Kurultai of 1206 — Chinggis Khan Proclaimed",
      "summary": "civilization",
      "tags": [
        "event",
        "mongols",
        "political",
        "Spring 1206 CE"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": 1206,
        "year_latest": 1206,
        "year_display": "Spring 1206 CE",
        "location": [
          101.9,
          47.0
        ]
      }
    },
    {
      "id": "event:mongols:event-sack-baghdad-1258",
      "kind": "event",
      "label": "Sack of Baghdad — End of the Abbasid Caliphate",
      "summary": "civilization",
      "tags": [
        "event",
        "mongols",
        "battle",
        "13 February 1258 CE"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 1258,
        "year_latest": 1258,
        "year_display": "13 February 1258 CE",
        "location": [
          44.39,
          33.34
        ]
      }
    },
    {
      "id": "event:mongols:event-sack-zhongdu-1215",
      "kind": "event",
      "label": "Fall of Zhongdu — Mongols Take the Jin Capital",
      "summary": "civilization",
      "tags": [
        "event",
        "mongols",
        "battle",
        "1215 CE"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 1215,
        "year_latest": 1215,
        "year_display": "1215 CE",
        "location": [
          116.39,
          39.92
        ]
      }
    },
    {
      "id": "event:rome:event-battle-adrianople",
      "kind": "event",
      "label": "Battle of Adrianople",
      "summary": "Emperor Valens led the Eastern Roman field army against a Gothic force encamped behind a wagon-lager north of Adrianople. A premature cavalry charge on the right wing triggered a Gothic counter-encirclement that destroyed approximately two-thirds of the Roman army. Valens was killed — Ammianus Marcellinus gives two incompatible accounts of his death in the same passage. The battle ended Rome's ability to expel the Goths from Thrace and forced the accommodation that would define the next century.",
      "tags": [
        "event",
        "rome",
        "battle",
        "9 August 378 CE"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 378,
        "year_latest": 378,
        "year_display": "9 August 378 CE",
        "location": [
          26.57,
          41.68
        ]
      }
    },
    {
      "id": "event:rome:event-battle-catalaunian-plains",
      "kind": "event",
      "label": "Battle of the Catalaunian Plains",
      "summary": "Attila's Hunnic coalition invaded Gaul and met a Roman-Visigothic force under Aetius at the Catalaunian Plains — location uncertain within a 50 km radius near Châlons-en-Champagne. The Visigothic king Theodoric I was killed; Attila withdrew. According to Jordanes (Getica 36–41, writing a century later), Aetius deliberately allowed the withdrawal, fearing a Visigothic victory more than a Hunnic one. Attila invaded Italy the following year.",
      "tags": [
        "event",
        "rome",
        "battle",
        "June 451 CE"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 451,
        "year_latest": 451,
        "year_display": "June 451 CE",
        "location": [
          4.35,
          48.83
        ]
      }
    },
    {
      "id": "event:rome:event-death-stilicho",
      "kind": "event",
      "label": "Execution of Stilicho",
      "summary": "The half-Vandal general Stilicho, who had held the Western military together through two decades of crisis, was arrested at Ravenna on charges of treason orchestrated by the court official Olympius. Honorius signed the execution order. Within days, Stilicho's Gothic foederati — approximately 30,000 soldiers — defected to Alaric after Roman troops massacred their families. The causal chain from Stilicho's execution to the sack of Rome two years later is direct.",
      "tags": [
        "event",
        "rome",
        "death",
        "22 August 408 CE"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "event_type": "death",
        "year_earliest": 408,
        "year_latest": 408,
        "year_display": "22 August 408 CE",
        "location": [
          9.19,
          45.46
        ]
      }
    },
    {
      "id": "event:rome:event-deposition-romulus-augustulus",
      "kind": "event",
      "label": "Deposition of Romulus Augustulus by Odoacer",
      "summary": "Odoacer, commanding a coalition of foederati, deposed the boy-emperor Romulus Augustulus at Ravenna and sent the Western imperial regalia to Constantinople. No contemporary Latin source treated this as a civilizational break. Julius Nepos — the legitimate Western emperor deposed by Romulus's father the year before — was still alive in Dalmatia and recognized by the East until his assassination in 480. The 476 date as 'the fall of Rome' is Gibbon's framing, not a contemporary one.",
      "tags": [
        "event",
        "rome",
        "political",
        "4 September 476 CE"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": 476,
        "year_latest": 476,
        "year_display": "4 September 476 CE",
        "location": [
          12.2,
          44.41
        ]
      }
    },
    {
      "id": "event:rome:event-edict-thessalonica",
      "kind": "event",
      "label": "Edict of Thessalonica — Nicene Christianity Becomes State Religion",
      "summary": "Theodosius I, recovering from illness in Thessalonica, issued an edict (preserved in the Codex Theodosianus XVI.1.2) commanding all Roman subjects to follow the Nicene Trinitarian Christianity of the Bishops of Rome and Alexandria. The Goths settled within the empire were Arian Christians — a creed now declared heretical. The religious divide between Roman administrators and Gothic foederati would persist through the entire arc to 476.",
      "tags": [
        "event",
        "rome",
        "political",
        "27 February 380 CE"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "event_type": "political",
        "year_earliest": 380,
        "year_latest": 380,
        "year_display": "27 February 380 CE",
        "location": [
          22.95,
          40.63
        ]
      }
    },
    {
      "id": "event:rome:event-sack-rome-410",
      "kind": "event",
      "label": "Sack of Rome by Alaric's Visigoths",
      "summary": "After a decade of failed negotiations for a Roman military command and land for his people, Alaric's Visigoths entered Rome through the Salarian Gate — opened from within — on 24 August 410 CE. The city was sacked for three days (Orosius 7.39). The psychological shock was enormous: Rome had not been taken by a foreign enemy in 800 years. Augustine began writing De Civitate Dei in direct response. Alaric died weeks later; his army settled in Gaul.",
      "tags": [
        "event",
        "rome",
        "battle",
        "24 August 410 CE"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 410,
        "year_latest": 410,
        "year_display": "24 August 410 CE",
        "location": [
          12.49,
          41.89
        ]
      }
    },
    {
      "id": "event:rome:event-sack-rome-455",
      "kind": "event",
      "label": "Sack of Rome by Gaiseric's Vandals",
      "summary": "Gaiseric's Vandal fleet sailed from Carthage and arrived at Rome after the emperor Petronius Maximus was killed by a Roman mob. Pope Leo I negotiated terms: no burning, no killing. The Vandals plundered for fourteen days (confirmed independently by Prosper of Aquitaine and Hydatius) and departed with the empress Eudoxia, her daughters Eudocia and Placidia, and the contents of the imperial treasury. Eudocia subsequently married Gaiseric's son Huneric.",
      "tags": [
        "event",
        "rome",
        "battle",
        "June 455 CE"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 455,
        "year_latest": 455,
        "year_display": "June 455 CE",
        "location": [
          12.49,
          41.89
        ]
      }
    },
    {
      "id": "event:timurids:event-battle-ankara-1402",
      "kind": "event",
      "label": "Battle of Ankara",
      "summary": "Timur defeated and captured Ottoman Sultan Bayezid I near Ankara. Anatolian beylik forces within the Ottoman army defected during the battle. The Ottoman Empire entered a decade of civil war among Bayezid's sons (the Interregnum, 1402–1413), giving Constantinople fifty more years. Whether Bayezid was kept in a cage or treated with honor in captivity is the central conflict in the sources: Ibn Arabshah says cage; Yazdi’s Zafarnama says honored tent. Neither was present.",
      "tags": [
        "event",
        "timurids",
        "battle",
        "20 July 1402 CE"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 1402,
        "year_latest": 1402,
        "year_display": "20 July 1402 CE",
        "location": [
          32.85,
          39.93
        ]
      }
    },
    {
      "id": "event:timurids:event-battle-terek-1395",
      "kind": "event",
      "label": "Battle of the Terek River",
      "summary": "Timur decisively defeated Toktamish Khan of the Golden Horde at the Terek River in the North Caucasus. Toktamish, once Timur's own client whom Timur had helped to power, never recovered his throne. The destruction of the Golden Horde broke the tribute structure that had subordinated the Russian principalities for over a century, inadvertently clearing the path for Moscow's eventual rise.",
      "tags": [
        "event",
        "timurids",
        "battle",
        "1395 CE"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 1395,
        "year_latest": 1395,
        "year_display": "1395 CE",
        "location": [
          44.52,
          43.47
        ]
      }
    },
    {
      "id": "event:timurids:event-clavijo-samarkand-1404",
      "kind": "event",
      "label": "Clavijo's Embassy to Samarkand",
      "summary": "Ruy González de Clavijo, ambassador of King Henry III of Castile, arrived at Timur's court in Samarkand in 1404 — the only Western eyewitness account of the court at its height. He described the tent-city outside Samarkand, audiences with the aged Timur (nearly seventy, unable to walk unassisted), the wine served despite Islamic prohibition, and the simultaneous presence of a Chinese embassy regarding the Ming campaign Timur was preparing.",
      "tags": [
        "event",
        "timurids",
        "cultural",
        "1403–1404 CE"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "event_type": "cultural",
        "year_earliest": 1403,
        "year_latest": 1404,
        "year_display": "1403–1404 CE",
        "location": [
          66.97,
          39.65
        ]
      }
    },
    {
      "id": "event:timurids:event-death-timur-1405",
      "kind": "event",
      "label": "Death of Timur at Otrar",
      "summary": "Timur died at Otrar on the Syr Darya in February 1405, ill during the early stages of the China campaign. He was approximately sixty-eight years old. The eastern campaign he had been preparing — against the Ming dynasty — was never launched. His successors fragmented the Timurid state through decades of succession conflict, while the wealth extracted from Delhi, Baghdad, and Damascus funded the Timurid Renaissance in art, architecture, and scholarship.",
      "tags": [
        "event",
        "timurids",
        "death",
        "February 1405 CE"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "event_type": "death",
        "year_earliest": 1405,
        "year_latest": 1405,
        "year_display": "February 1405 CE",
        "location": [
          68.77,
          41.12
        ]
      }
    },
    {
      "id": "event:timurids:event-sack-baghdad-1401",
      "kind": "event",
      "label": "Second Sack of Baghdad",
      "summary": "After a revolt against the Timurid garrison he had left after an earlier occupation, Timur returned and destroyed Baghdad. The Zafarnama records 90 towers of skulls, each of 1,500 heads, built outside the city. Ibn Arabshah confirms the towers independently. Baghdad had been destroyed by Hulagu Khan's Mongols in 1258; 143 years later a Mongol successor destroyed it again. The city's role as a major Islamic cultural center ended for a generation.",
      "tags": [
        "event",
        "timurids",
        "battle",
        "1401 CE"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 1401,
        "year_latest": 1401,
        "year_display": "1401 CE",
        "location": [
          44.44,
          33.34
        ]
      }
    },
    {
      "id": "event:timurids:event-sack-delhi-1398",
      "kind": "event",
      "label": "Sack of Delhi",
      "summary": "Timur crossed the Indus, defeated the Delhi Sultanate's war elephants by driving burning camels into the elephant line, and sacked Delhi. The city did not recover for decades. Timur removed the master craftsmen of Delhi to Samarkand and withdrew within months, following his established pattern: extraction, not occupation. The Sultanate survived in formal terms but was hollowed out.",
      "tags": [
        "event",
        "timurids",
        "battle",
        "December 1398 CE"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "event_type": "battle",
        "year_earliest": 1398,
        "year_latest": 1398,
        "year_display": "December 1398 CE",
        "location": [
          77.21,
          28.63
        ]
      }
    },
    {
      "id": "event:timurids:event-timur-samarkand-1370",
      "kind": "event",
      "label": "Timur Takes Samarkand",
      "summary": "Timur seized Samarkand and declared himself ruler of Transoxiana, marking the founding of what would become the Timurid Empire. Unable to claim the title Khan due to his non-Genghisid blood, he styled himself Amir and later Guregan — son-in-law of the house of Genghis, having married a Genghisid princess. The Zafarnama, commissioned by his grandson, frames the founding as the restoration of rightful Mongol order.",
      "tags": [
        "event",
        "timurids",
        "founding",
        "1370 CE"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "event_type": "founding",
        "year_earliest": 1370,
        "year_latest": 1370,
        "year_display": "1370 CE",
        "location": [
          66.97,
          39.65
        ]
      }
    },
    {
      "id": "perspective:alexander:greek",
      "kind": "perspective",
      "label": "greek",
      "summary": "The greek civilization's frame on The World at 334 BCE.",
      "tags": [
        "perspective",
        "alexander",
        "greek"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:alexander:persian",
      "kind": "perspective",
      "label": "persian",
      "summary": "The persian civilization's frame on The World at 334 BCE.",
      "tags": [
        "perspective",
        "alexander",
        "persian"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:andalus:asturian",
      "kind": "perspective",
      "label": "asturian",
      "summary": "The asturian civilization's frame on The Opening.",
      "tags": [
        "perspective",
        "andalus",
        "asturian"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:andalus:umayyad",
      "kind": "perspective",
      "label": "umayyad",
      "summary": "The umayyad civilization's frame on The Opening.",
      "tags": [
        "perspective",
        "andalus",
        "umayyad"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:andalus:visigothic",
      "kind": "perspective",
      "label": "visigothic",
      "summary": "The visigothic civilization's frame on The Opening.",
      "tags": [
        "perspective",
        "andalus",
        "visigothic"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:caesar:gallic",
      "kind": "perspective",
      "label": "gallic",
      "summary": "The gallic civilization's frame on The Last Generation.",
      "tags": [
        "perspective",
        "caesar",
        "gallic"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:caesar:optimates",
      "kind": "perspective",
      "label": "optimates",
      "summary": "The optimates civilization's frame on The Last Generation.",
      "tags": [
        "perspective",
        "caesar",
        "optimates"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:caesar:populares",
      "kind": "perspective",
      "label": "populares",
      "summary": "The populares civilization's frame on The Last Generation.",
      "tags": [
        "perspective",
        "caesar",
        "populares"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:charlemagne:frankish",
      "kind": "perspective",
      "label": "frankish",
      "summary": "The frankish civilization's frame on The Frankish Crown.",
      "tags": [
        "perspective",
        "charlemagne",
        "frankish"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:charlemagne:saxon",
      "kind": "perspective",
      "label": "saxon",
      "summary": "The saxon civilization's frame on The Frankish Crown.",
      "tags": [
        "perspective",
        "charlemagne",
        "saxon"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:charlemagne:umayyad",
      "kind": "perspective",
      "label": "umayyad",
      "summary": "The umayyad civilization's frame on The Frankish Crown.",
      "tags": [
        "perspective",
        "charlemagne",
        "umayyad"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:crusades:byzantine",
      "kind": "perspective",
      "label": "byzantine",
      "summary": "The byzantine civilization's frame on The Road to Jerusalem.",
      "tags": [
        "perspective",
        "crusades",
        "byzantine"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:crusades:crusader",
      "kind": "perspective",
      "label": "crusader",
      "summary": "The crusader civilization's frame on The Road to Jerusalem.",
      "tags": [
        "perspective",
        "crusades",
        "crusader"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:crusades:fatimid",
      "kind": "perspective",
      "label": "fatimid",
      "summary": "The fatimid civilization's frame on The Road to Jerusalem.",
      "tags": [
        "perspective",
        "crusades",
        "fatimid"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:hannibal:carthaginian",
      "kind": "perspective",
      "label": "carthaginian",
      "summary": "The carthaginian civilization's frame on The Long Way to Rome.",
      "tags": [
        "perspective",
        "hannibal",
        "carthaginian"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:hannibal:numidian",
      "kind": "perspective",
      "label": "numidian",
      "summary": "The numidian civilization's frame on The Long Way to Rome.",
      "tags": [
        "perspective",
        "hannibal",
        "numidian"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:hannibal:roman",
      "kind": "perspective",
      "label": "roman",
      "summary": "The roman civilization's frame on The Long Way to Rome.",
      "tags": [
        "perspective",
        "hannibal",
        "roman"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:mongols:islamic",
      "kind": "perspective",
      "label": "islamic",
      "summary": "The islamic civilization's frame on The World at 1206.",
      "tags": [
        "perspective",
        "mongols",
        "islamic"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:mongols:jin",
      "kind": "perspective",
      "label": "jin",
      "summary": "The jin civilization's frame on The World at 1206.",
      "tags": [
        "perspective",
        "mongols",
        "jin"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:mongols:mongol",
      "kind": "perspective",
      "label": "mongol",
      "summary": "The mongol civilization's frame on The World at 1206.",
      "tags": [
        "perspective",
        "mongols",
        "mongol"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:rome:hunnic",
      "kind": "perspective",
      "label": "hunnic",
      "summary": "The hunnic civilization's frame on The Last Legions.",
      "tags": [
        "perspective",
        "rome",
        "hunnic"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:rome:visigoth",
      "kind": "perspective",
      "label": "visigoth",
      "summary": "The visigoth civilization's frame on The Last Legions.",
      "tags": [
        "perspective",
        "rome",
        "visigoth"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:rome:western_roman",
      "kind": "perspective",
      "label": "western_roman",
      "summary": "The western_roman civilization's frame on The Last Legions.",
      "tags": [
        "perspective",
        "rome",
        "western_roman"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:timurids:mamluk",
      "kind": "perspective",
      "label": "mamluk",
      "summary": "The mamluk civilization's frame on The Sword of Samarkand.",
      "tags": [
        "perspective",
        "timurids",
        "mamluk"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:timurids:ottoman",
      "kind": "perspective",
      "label": "ottoman",
      "summary": "The ottoman civilization's frame on The Sword of Samarkand.",
      "tags": [
        "perspective",
        "timurids",
        "ottoman"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {}
    },
    {
      "id": "perspective:timurids:timurid",
      "kind": "perspective",
      "label": "timurid",
      "summary": "The timurid civilization's frame on The Sword of Samarkand.",
      "tags": [
        "perspective",
        "timurids",
        "timurid"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {}
    },
    {
      "id": "story:alexander",
      "kind": "story",
      "label": "The World at 334 BCE",
      "summary": "Alexander and the edges of the known world",
      "tags": [
        "story",
        "alexander",
        "greek",
        "persian"
      ],
      "source_path": "web/content/alexander/story.json",
      "attributes": {
        "period": {
          "from": -336,
          "to": -321
        },
        "perspectives": [
          "greek",
          "persian"
        ]
      }
    },
    {
      "id": "story:andalus",
      "kind": "story",
      "label": "The Opening",
      "summary": "The conquest of al-Andalus and the first kingdoms of the north, 711–756 CE",
      "tags": [
        "story",
        "andalus",
        "umayyad",
        "visigothic",
        "asturian"
      ],
      "source_path": "web/content/andalus/story.json",
      "attributes": {
        "period": {
          "from": 711,
          "to": 756
        },
        "perspectives": [
          "umayyad",
          "visigothic",
          "asturian"
        ]
      }
    },
    {
      "id": "story:caesar",
      "kind": "story",
      "label": "The Last Generation",
      "summary": "Caesar and the fall of the Roman Republic, 58–44 BCE",
      "tags": [
        "story",
        "caesar",
        "populares",
        "optimates",
        "gallic"
      ],
      "source_path": "web/content/caesar/story.json",
      "attributes": {
        "period": {
          "from": -58,
          "to": -44
        },
        "perspectives": [
          "populares",
          "optimates",
          "gallic"
        ]
      }
    },
    {
      "id": "story:charlemagne",
      "kind": "story",
      "label": "The Frankish Crown",
      "summary": "Charlemagne and the making of medieval Europe, 768–814 CE",
      "tags": [
        "story",
        "charlemagne",
        "frankish",
        "saxon",
        "umayyad"
      ],
      "source_path": "web/content/charlemagne/story.json",
      "attributes": {
        "period": {
          "from": 768,
          "to": 814
        },
        "perspectives": [
          "frankish",
          "saxon",
          "umayyad"
        ]
      }
    },
    {
      "id": "story:crusades",
      "kind": "story",
      "label": "The Road to Jerusalem",
      "summary": "The First Crusade and the siege of the Holy City, 1095–1099 CE",
      "tags": [
        "story",
        "crusades",
        "crusader",
        "byzantine",
        "fatimid"
      ],
      "source_path": "web/content/crusades/story.json",
      "attributes": {
        "period": {
          "from": 1095,
          "to": 1099
        },
        "perspectives": [
          "crusader",
          "byzantine",
          "fatimid"
        ]
      }
    },
    {
      "id": "story:hannibal",
      "kind": "story",
      "label": "The Long Way to Rome",
      "summary": "Hannibal and the war that remade the Mediterranean",
      "tags": [
        "story",
        "hannibal",
        "carthaginian",
        "roman",
        "numidian"
      ],
      "source_path": "web/content/hannibal/story.json",
      "attributes": {
        "period": {
          "from": -218,
          "to": -202
        },
        "perspectives": [
          "carthaginian",
          "roman",
          "numidian"
        ]
      }
    },
    {
      "id": "story:mongols",
      "kind": "story",
      "label": "The World at 1206",
      "summary": "How the steppe unmade the medieval world",
      "tags": [
        "story",
        "mongols",
        "mongol",
        "islamic",
        "jin"
      ],
      "source_path": "web/content/mongols/story.json",
      "attributes": {
        "period": {
          "from": 1206,
          "to": 1260
        },
        "perspectives": [
          "mongol",
          "islamic",
          "jin"
        ]
      }
    },
    {
      "id": "story:rome",
      "kind": "story",
      "label": "The Last Legions",
      "summary": "The fall of the Western Roman Empire, 376–476 CE",
      "tags": [
        "story",
        "rome",
        "western_roman",
        "visigoth",
        "hunnic"
      ],
      "source_path": "web/content/rome/story.json",
      "attributes": {
        "period": {
          "from": 376,
          "to": 476
        },
        "perspectives": [
          "western_roman",
          "visigoth",
          "hunnic"
        ]
      }
    },
    {
      "id": "story:timurids",
      "kind": "story",
      "label": "The Sword of Samarkand",
      "summary": "Timur's conquests and the last Mongol world-empire, 1370–1405 CE",
      "tags": [
        "story",
        "timurids",
        "timurid",
        "ottoman",
        "mamluk"
      ],
      "source_path": "web/content/timurids/story.json",
      "attributes": {
        "period": {
          "from": 1370,
          "to": 1405
        },
        "perspectives": [
          "timurid",
          "ottoman",
          "mamluk"
        ]
      }
    }
  ],
  "edges": [
    {
      "source": "story:alexander",
      "predicate": "told_from",
      "target": "perspective:alexander:greek",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "told_from",
      "target": "perspective:alexander:persian",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-battle-of-cunaxa",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-kings-peace-antalcidas",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-battle-of-leuctra",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-philip-ii-becomes-king",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-shang-yang-reforms-qin",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-artaxerxes-reconquers-egypt",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-battle-of-maling",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-battle-of-crimissus",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-battle-of-chaeronea",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-lamian-war",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-chandragupta-founds-maurya",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-battle-of-caudine-forks",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-seleucid-era-begins",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-ptolemy-declares-pharaoh",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-chandragupta-seleucus-treaty",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-battle-of-ipsus",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-battle-of-heraclea",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-galatian-invasion-delphi",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-first-punic-war-begins",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-ashoka-kalinga-war",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-battle-of-changping",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-first-punic-war-ends",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-qin-unification",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-hannibal-crosses-alps",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-battle-of-cannae",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-battle-of-zama",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-battle-of-magnesia",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-maccabean-revolt-begins",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-roman-destruction-of-carthage",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-sack-of-corinth",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "spans",
      "target": "event:alexander:event-gracchi-tiberius",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "contains",
      "target": "chapter:alexander:inheritance",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:alexander:inheritance",
      "predicate": "framed_by",
      "target": "perspective:alexander:greek",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "contains",
      "target": "chapter:alexander:crossing",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:alexander:crossing",
      "predicate": "framed_by",
      "target": "perspective:alexander:greek",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "contains",
      "target": "chapter:alexander:granicus",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:alexander:granicus",
      "predicate": "framed_by",
      "target": "perspective:alexander:greek",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "contains",
      "target": "chapter:alexander:issus",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:alexander:issus",
      "predicate": "framed_by",
      "target": "perspective:alexander:greek",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "contains",
      "target": "chapter:alexander:egypt",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:alexander:egypt",
      "predicate": "framed_by",
      "target": "perspective:alexander:greek",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "contains",
      "target": "chapter:alexander:gaugamela",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:alexander:gaugamela",
      "predicate": "framed_by",
      "target": "perspective:alexander:greek",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "contains",
      "target": "chapter:alexander:persepolis",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:alexander:persepolis",
      "predicate": "framed_by",
      "target": "perspective:alexander:greek",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "contains",
      "target": "chapter:alexander:india",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:alexander:india",
      "predicate": "framed_by",
      "target": "perspective:alexander:greek",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "contains",
      "target": "chapter:alexander:death",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:alexander:death",
      "predicate": "framed_by",
      "target": "perspective:alexander:greek",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:alexander",
      "predicate": "contains",
      "target": "chapter:alexander:wider-world",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:alexander:wider-world",
      "predicate": "framed_by",
      "target": "perspective:alexander:greek",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "told_from",
      "target": "perspective:andalus:umayyad",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "told_from",
      "target": "perspective:andalus:visigothic",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "told_from",
      "target": "perspective:andalus:asturian",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "spans",
      "target": "event:andalus:event-tariq-crossing-711",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "spans",
      "target": "event:andalus:event-battle-guadalete-711",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "spans",
      "target": "event:andalus:event-fall-toledo-712",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "spans",
      "target": "event:andalus:event-covadonga-718",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "spans",
      "target": "event:andalus:event-battle-tours-732",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "spans",
      "target": "event:andalus:event-berber-revolt-740",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "spans",
      "target": "event:andalus:event-abd-ar-rahman-emirate-756",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "contains",
      "target": "chapter:andalus:crossing",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:crossing",
      "predicate": "framed_by",
      "target": "perspective:andalus:umayyad",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:crossing",
      "predicate": "depicts",
      "target": "event:andalus:event-tariq-crossing-711",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "contains",
      "target": "chapter:andalus:guadalete",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:guadalete",
      "predicate": "framed_by",
      "target": "perspective:andalus:umayyad",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:guadalete",
      "predicate": "depicts",
      "target": "event:andalus:event-battle-guadalete-711",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "contains",
      "target": "chapter:andalus:year-of-conquest",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:year-of-conquest",
      "predicate": "framed_by",
      "target": "perspective:andalus:umayyad",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:year-of-conquest",
      "predicate": "depicts",
      "target": "event:andalus:event-fall-toledo-712",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "contains",
      "target": "chapter:andalus:covadonga",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:covadonga",
      "predicate": "framed_by",
      "target": "perspective:andalus:umayyad",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:covadonga",
      "predicate": "depicts",
      "target": "event:andalus:event-covadonga-718",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "contains",
      "target": "chapter:andalus:march-into-gaul",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:march-into-gaul",
      "predicate": "framed_by",
      "target": "perspective:andalus:umayyad",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "contains",
      "target": "chapter:andalus:tours",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:tours",
      "predicate": "framed_by",
      "target": "perspective:andalus:umayyad",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:tours",
      "predicate": "depicts",
      "target": "event:andalus:event-battle-tours-732",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "contains",
      "target": "chapter:andalus:berber-revolt",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:berber-revolt",
      "predicate": "framed_by",
      "target": "perspective:andalus:umayyad",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:berber-revolt",
      "predicate": "depicts",
      "target": "event:andalus:event-berber-revolt-740",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "contains",
      "target": "chapter:andalus:the-refugee",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:the-refugee",
      "predicate": "framed_by",
      "target": "perspective:andalus:umayyad",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:the-refugee",
      "predicate": "depicts",
      "target": "event:andalus:event-abd-ar-rahman-emirate-756",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:andalus",
      "predicate": "contains",
      "target": "chapter:andalus:two-spains",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:andalus:two-spains",
      "predicate": "framed_by",
      "target": "perspective:andalus:umayyad",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "told_from",
      "target": "perspective:caesar:populares",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "told_from",
      "target": "perspective:caesar:optimates",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "told_from",
      "target": "perspective:caesar:gallic",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "spans",
      "target": "event:caesar:event-siege-of-alesia",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "spans",
      "target": "event:caesar:event-rubicon-crossing",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "spans",
      "target": "event:caesar:event-pompey-evacuates-rome",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "spans",
      "target": "event:caesar:event-caesar-enters-rome",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "spans",
      "target": "event:caesar:event-battle-pharsalus",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "spans",
      "target": "event:caesar:event-pompey-murdered-egypt",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "spans",
      "target": "event:caesar:event-caesar-meets-cleopatra",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "spans",
      "target": "event:caesar:event-battle-thapsus",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "spans",
      "target": "event:caesar:event-caesars-four-triumphs",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "spans",
      "target": "event:caesar:event-dictator-perpetuo",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "spans",
      "target": "event:caesar:event-lupercalia-crown",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "spans",
      "target": "event:caesar:event-ides-of-march",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "spans",
      "target": "event:caesar:event-battle-philippi",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "contains",
      "target": "chapter:caesar:helvetii",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "contains",
      "target": "chapter:caesar:width-of-gaul",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "contains",
      "target": "chapter:caesar:alesia",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:caesar:alesia",
      "predicate": "depicts",
      "target": "event:caesar:event-siege-of-alesia",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "contains",
      "target": "chapter:caesar:rubicon",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:caesar:rubicon",
      "predicate": "depicts",
      "target": "event:caesar:event-rubicon-crossing",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "contains",
      "target": "chapter:caesar:flight",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:caesar:flight",
      "predicate": "depicts",
      "target": "event:caesar:event-pompey-evacuates-rome",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "contains",
      "target": "chapter:caesar:open-city",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:caesar:open-city",
      "predicate": "depicts",
      "target": "event:caesar:event-caesar-enters-rome",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "contains",
      "target": "chapter:caesar:pharsalus",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:caesar:pharsalus",
      "predicate": "depicts",
      "target": "event:caesar:event-battle-pharsalus",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "contains",
      "target": "chapter:caesar:egyptian-shore",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:caesar:egyptian-shore",
      "predicate": "depicts",
      "target": "event:caesar:event-pompey-murdered-egypt",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "contains",
      "target": "chapter:caesar:alexandria",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:caesar:alexandria",
      "predicate": "depicts",
      "target": "event:caesar:event-caesar-meets-cleopatra",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "contains",
      "target": "chapter:caesar:four-triumphs",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:caesar:four-triumphs",
      "predicate": "depicts",
      "target": "event:caesar:event-caesars-four-triumphs",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "contains",
      "target": "chapter:caesar:without-end",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:caesar:without-end",
      "predicate": "depicts",
      "target": "event:caesar:event-dictator-perpetuo",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "contains",
      "target": "chapter:caesar:lupercalia",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:caesar:lupercalia",
      "predicate": "depicts",
      "target": "event:caesar:event-lupercalia-crown",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:caesar",
      "predicate": "contains",
      "target": "chapter:caesar:ides",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:caesar:ides",
      "predicate": "depicts",
      "target": "event:caesar:event-ides-of-march",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "told_from",
      "target": "perspective:charlemagne:frankish",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "told_from",
      "target": "perspective:charlemagne:saxon",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "told_from",
      "target": "perspective:charlemagne:umayyad",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "spans",
      "target": "event:charlemagne:event-charlemagne-accession-768",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "spans",
      "target": "event:charlemagne:event-roncevaux-778",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "spans",
      "target": "event:charlemagne:event-verden-massacre-782",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "spans",
      "target": "event:charlemagne:event-aachen-capital-794",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "spans",
      "target": "event:charlemagne:event-christmas-coronation-800",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "spans",
      "target": "event:charlemagne:event-death-charlemagne-814",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "spans",
      "target": "event:charlemagne:event-council-frankfurt-794",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "contains",
      "target": "chapter:charlemagne:inheritance",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:inheritance",
      "predicate": "framed_by",
      "target": "perspective:charlemagne:frankish",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:inheritance",
      "predicate": "depicts",
      "target": "event:charlemagne:event-charlemagne-accession-768",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "contains",
      "target": "chapter:charlemagne:roncevaux",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:roncevaux",
      "predicate": "framed_by",
      "target": "perspective:charlemagne:frankish",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:roncevaux",
      "predicate": "depicts",
      "target": "event:charlemagne:event-roncevaux-778",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "contains",
      "target": "chapter:charlemagne:saxon-wars",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:saxon-wars",
      "predicate": "framed_by",
      "target": "perspective:charlemagne:frankish",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "contains",
      "target": "chapter:charlemagne:verden",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:verden",
      "predicate": "framed_by",
      "target": "perspective:charlemagne:frankish",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:verden",
      "predicate": "depicts",
      "target": "event:charlemagne:event-verden-massacre-782",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "contains",
      "target": "chapter:charlemagne:aachen",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:aachen",
      "predicate": "framed_by",
      "target": "perspective:charlemagne:frankish",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:aachen",
      "predicate": "depicts",
      "target": "event:charlemagne:event-aachen-capital-794",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "contains",
      "target": "chapter:charlemagne:coronation",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:coronation",
      "predicate": "framed_by",
      "target": "perspective:charlemagne:frankish",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:coronation",
      "predicate": "depicts",
      "target": "event:charlemagne:event-christmas-coronation-800",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "contains",
      "target": "chapter:charlemagne:march-system",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:march-system",
      "predicate": "framed_by",
      "target": "perspective:charlemagne:frankish",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "contains",
      "target": "chapter:charlemagne:elephant",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:elephant",
      "predicate": "framed_by",
      "target": "perspective:charlemagne:frankish",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:charlemagne",
      "predicate": "contains",
      "target": "chapter:charlemagne:death-legacy",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:death-legacy",
      "predicate": "framed_by",
      "target": "perspective:charlemagne:frankish",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:charlemagne:death-legacy",
      "predicate": "depicts",
      "target": "event:charlemagne:event-death-charlemagne-814",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "told_from",
      "target": "perspective:crusades:crusader",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "told_from",
      "target": "perspective:crusades:byzantine",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "told_from",
      "target": "perspective:crusades:fatimid",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "spans",
      "target": "event:crusades:event-council-clermont-1095",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "spans",
      "target": "event:crusades:event-crusaders-constantinople-1097",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "spans",
      "target": "event:crusades:event-battle-dorylaeum-1097",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "spans",
      "target": "event:crusades:event-siege-antioch-1097",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "spans",
      "target": "event:crusades:event-battle-antioch-1098",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "spans",
      "target": "event:crusades:event-siege-jerusalem-1099",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "spans",
      "target": "event:crusades:event-sack-jerusalem-1099",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "contains",
      "target": "chapter:crusades:clermont",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:clermont",
      "predicate": "framed_by",
      "target": "perspective:crusades:crusader",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:clermont",
      "predicate": "depicts",
      "target": "event:crusades:event-council-clermont-1095",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "contains",
      "target": "chapter:crusades:peoples-crusade",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:peoples-crusade",
      "predicate": "framed_by",
      "target": "perspective:crusades:crusader",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "contains",
      "target": "chapter:crusades:constantinople",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:constantinople",
      "predicate": "framed_by",
      "target": "perspective:crusades:crusader",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:constantinople",
      "predicate": "depicts",
      "target": "event:crusades:event-crusaders-constantinople-1097",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "contains",
      "target": "chapter:crusades:dorylaeum",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:dorylaeum",
      "predicate": "framed_by",
      "target": "perspective:crusades:crusader",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:dorylaeum",
      "predicate": "depicts",
      "target": "event:crusades:event-battle-dorylaeum-1097",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "contains",
      "target": "chapter:crusades:antioch-siege",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:antioch-siege",
      "predicate": "framed_by",
      "target": "perspective:crusades:crusader",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:antioch-siege",
      "predicate": "depicts",
      "target": "event:crusades:event-siege-antioch-1097",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "contains",
      "target": "chapter:crusades:holy-lance",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:holy-lance",
      "predicate": "framed_by",
      "target": "perspective:crusades:crusader",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:holy-lance",
      "predicate": "depicts",
      "target": "event:crusades:event-battle-antioch-1098",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "contains",
      "target": "chapter:crusades:maarra",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:maarra",
      "predicate": "framed_by",
      "target": "perspective:crusades:crusader",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "contains",
      "target": "chapter:crusades:jerusalem-walls",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:jerusalem-walls",
      "predicate": "framed_by",
      "target": "perspective:crusades:crusader",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:jerusalem-walls",
      "predicate": "depicts",
      "target": "event:crusades:event-siege-jerusalem-1099",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:crusades",
      "predicate": "contains",
      "target": "chapter:crusades:sack",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:sack",
      "predicate": "framed_by",
      "target": "perspective:crusades:crusader",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:crusades:sack",
      "predicate": "depicts",
      "target": "event:crusades:event-sack-jerusalem-1099",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "told_from",
      "target": "perspective:hannibal:carthaginian",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "told_from",
      "target": "perspective:hannibal:roman",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "told_from",
      "target": "perspective:hannibal:numidian",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "spans",
      "target": "event:hannibal:event-hamilcar-barca-spain",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "spans",
      "target": "event:hannibal:event-ebro-treaty",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "spans",
      "target": "event:hannibal:event-siege-of-saguntum",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "spans",
      "target": "event:hannibal:event-battle-of-raphia",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "spans",
      "target": "event:hannibal:event-philip-v-hannibal-alliance",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "spans",
      "target": "event:hannibal:event-fall-of-syracuse",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "spans",
      "target": "event:hannibal:event-scipio-takes-carthago-nova",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "spans",
      "target": "event:hannibal:event-hasdrubal-barca-metaurus",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "spans",
      "target": "event:hannibal:event-battle-of-ilipa",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "spans",
      "target": "event:hannibal:event-antiochus-iii-great-anabasis",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "spans",
      "target": "event:hannibal:event-qin-dynasty-falls",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "spans",
      "target": "event:hannibal:event-han-dynasty-founded",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "contains",
      "target": "chapter:hannibal:the-oath",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:hannibal:the-oath",
      "predicate": "framed_by",
      "target": "perspective:hannibal:carthaginian",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "contains",
      "target": "chapter:hannibal:the-river",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:hannibal:the-river",
      "predicate": "framed_by",
      "target": "perspective:hannibal:carthaginian",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "contains",
      "target": "chapter:hannibal:the-pass",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:hannibal:the-pass",
      "predicate": "framed_by",
      "target": "perspective:hannibal:carthaginian",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "contains",
      "target": "chapter:hannibal:trebia",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:hannibal:trebia",
      "predicate": "framed_by",
      "target": "perspective:hannibal:carthaginian",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "contains",
      "target": "chapter:hannibal:the-fog",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:hannibal:the-fog",
      "predicate": "framed_by",
      "target": "perspective:hannibal:carthaginian",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "contains",
      "target": "chapter:hannibal:cannae",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:hannibal:cannae",
      "predicate": "framed_by",
      "target": "perspective:hannibal:carthaginian",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "contains",
      "target": "chapter:hannibal:the-long-stay",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:hannibal:the-long-stay",
      "predicate": "framed_by",
      "target": "perspective:hannibal:carthaginian",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "contains",
      "target": "chapter:hannibal:scipios-gambit",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:hannibal:scipios-gambit",
      "predicate": "framed_by",
      "target": "perspective:hannibal:carthaginian",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:hannibal",
      "predicate": "contains",
      "target": "chapter:hannibal:zama",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:hannibal:zama",
      "predicate": "framed_by",
      "target": "perspective:hannibal:carthaginian",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "told_from",
      "target": "perspective:mongols:mongol",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "told_from",
      "target": "perspective:mongols:islamic",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "told_from",
      "target": "perspective:mongols:jin",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "spans",
      "target": "event:mongols:event-kurultai-1206",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "spans",
      "target": "event:mongols:event-sack-zhongdu-1215",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "spans",
      "target": "event:mongols:event-destruction-samarkand-1220",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "spans",
      "target": "event:mongols:event-battle-kalka-river-1223",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "spans",
      "target": "event:mongols:event-battle-legnica-1241",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "spans",
      "target": "event:mongols:event-sack-baghdad-1258",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "spans",
      "target": "event:mongols:event-battle-ain-jalut-1260",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "contains",
      "target": "chapter:mongols:white-banner",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:white-banner",
      "predicate": "framed_by",
      "target": "perspective:mongols:mongol",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:white-banner",
      "predicate": "depicts",
      "target": "event:mongols:event-kurultai-1206",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "contains",
      "target": "chapter:mongols:wall-does-not-hold",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:wall-does-not-hold",
      "predicate": "framed_by",
      "target": "perspective:mongols:mongol",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:wall-does-not-hold",
      "predicate": "depicts",
      "target": "event:mongols:event-sack-zhongdu-1215",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "contains",
      "target": "chapter:mongols:world-conqueror-turns-west",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:world-conqueror-turns-west",
      "predicate": "framed_by",
      "target": "perspective:mongols:mongol",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:world-conqueror-turns-west",
      "predicate": "depicts",
      "target": "event:mongols:event-destruction-samarkand-1220",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "contains",
      "target": "chapter:mongols:river-of-bones",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:river-of-bones",
      "predicate": "framed_by",
      "target": "perspective:mongols:mongol",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:river-of-bones",
      "predicate": "depicts",
      "target": "event:mongols:event-battle-kalka-river-1223",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "contains",
      "target": "chapter:mongols:two-battles-two-days",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:two-battles-two-days",
      "predicate": "framed_by",
      "target": "perspective:mongols:mongol",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:two-battles-two-days",
      "predicate": "depicts",
      "target": "event:mongols:event-battle-legnica-1241",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "contains",
      "target": "chapter:mongols:road-to-baghdad",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:road-to-baghdad",
      "predicate": "framed_by",
      "target": "perspective:mongols:mongol",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "contains",
      "target": "chapter:mongols:night-caliphate-ended",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:night-caliphate-ended",
      "predicate": "framed_by",
      "target": "perspective:mongols:mongol",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:night-caliphate-ended",
      "predicate": "depicts",
      "target": "event:mongols:event-sack-baghdad-1258",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "contains",
      "target": "chapter:mongols:spring-of-goliath",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:spring-of-goliath",
      "predicate": "framed_by",
      "target": "perspective:mongols:mongol",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:spring-of-goliath",
      "predicate": "depicts",
      "target": "event:mongols:event-battle-ain-jalut-1260",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:mongols",
      "predicate": "contains",
      "target": "chapter:mongols:four-kingdoms",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:mongols:four-kingdoms",
      "predicate": "framed_by",
      "target": "perspective:mongols:mongol",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "told_from",
      "target": "perspective:rome:western_roman",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "told_from",
      "target": "perspective:rome:visigoth",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "told_from",
      "target": "perspective:rome:hunnic",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "spans",
      "target": "event:rome:event-battle-adrianople",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "spans",
      "target": "event:rome:event-edict-thessalonica",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "spans",
      "target": "event:rome:event-death-stilicho",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "spans",
      "target": "event:rome:event-sack-rome-410",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "spans",
      "target": "event:rome:event-battle-catalaunian-plains",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "spans",
      "target": "event:rome:event-sack-rome-455",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "spans",
      "target": "event:rome:event-deposition-romulus-augustulus",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "contains",
      "target": "chapter:rome:gothic-shore",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:rome:gothic-shore",
      "predicate": "framed_by",
      "target": "perspective:rome:western_roman",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "contains",
      "target": "chapter:rome:adrianople",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:rome:adrianople",
      "predicate": "framed_by",
      "target": "perspective:rome:western_roman",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:rome:adrianople",
      "predicate": "depicts",
      "target": "event:rome:event-battle-adrianople",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "contains",
      "target": "chapter:rome:stilicho",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:rome:stilicho",
      "predicate": "framed_by",
      "target": "perspective:rome:western_roman",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "contains",
      "target": "chapter:rome:sack-of-rome-410",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:rome:sack-of-rome-410",
      "predicate": "framed_by",
      "target": "perspective:rome:western_roman",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:rome:sack-of-rome-410",
      "predicate": "depicts",
      "target": "event:rome:event-sack-rome-410",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "contains",
      "target": "chapter:rome:attila-gaul",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:rome:attila-gaul",
      "predicate": "framed_by",
      "target": "perspective:rome:western_roman",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:rome:attila-gaul",
      "predicate": "depicts",
      "target": "event:rome:event-battle-catalaunian-plains",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "contains",
      "target": "chapter:rome:vandals",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:rome:vandals",
      "predicate": "framed_by",
      "target": "perspective:rome:western_roman",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:rome:vandals",
      "predicate": "depicts",
      "target": "event:rome:event-sack-rome-455",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "contains",
      "target": "chapter:rome:the-long-unwinding",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:rome:the-long-unwinding",
      "predicate": "framed_by",
      "target": "perspective:rome:western_roman",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "contains",
      "target": "chapter:rome:romulus-augustulus",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:rome:romulus-augustulus",
      "predicate": "framed_by",
      "target": "perspective:rome:western_roman",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:rome:romulus-augustulus",
      "predicate": "depicts",
      "target": "event:rome:event-deposition-romulus-augustulus",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:rome",
      "predicate": "contains",
      "target": "chapter:rome:what-fell",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:rome:what-fell",
      "predicate": "framed_by",
      "target": "perspective:rome:western_roman",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "told_from",
      "target": "perspective:timurids:timurid",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "told_from",
      "target": "perspective:timurids:ottoman",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "told_from",
      "target": "perspective:timurids:mamluk",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "spans",
      "target": "event:timurids:event-timur-samarkand-1370",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "spans",
      "target": "event:timurids:event-battle-terek-1395",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "spans",
      "target": "event:timurids:event-sack-delhi-1398",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "spans",
      "target": "event:timurids:event-sack-baghdad-1401",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "spans",
      "target": "event:timurids:event-battle-ankara-1402",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "spans",
      "target": "event:timurids:event-clavijo-samarkand-1404",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "spans",
      "target": "event:timurids:event-death-timur-1405",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "contains",
      "target": "chapter:timurids:samarkand",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:samarkand",
      "predicate": "framed_by",
      "target": "perspective:timurids:timurid",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:samarkand",
      "predicate": "depicts",
      "target": "event:timurids:event-timur-samarkand-1370",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "contains",
      "target": "chapter:timurids:the-method",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:the-method",
      "predicate": "framed_by",
      "target": "perspective:timurids:timurid",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "contains",
      "target": "chapter:timurids:toktamish",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:toktamish",
      "predicate": "framed_by",
      "target": "perspective:timurids:timurid",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:toktamish",
      "predicate": "depicts",
      "target": "event:timurids:event-battle-terek-1395",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "contains",
      "target": "chapter:timurids:india",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:india",
      "predicate": "framed_by",
      "target": "perspective:timurids:timurid",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:india",
      "predicate": "depicts",
      "target": "event:timurids:event-sack-delhi-1398",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "contains",
      "target": "chapter:timurids:ankara",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:ankara",
      "predicate": "framed_by",
      "target": "perspective:timurids:timurid",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:ankara",
      "predicate": "depicts",
      "target": "event:timurids:event-battle-ankara-1402",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "contains",
      "target": "chapter:timurids:clavijo",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:clavijo",
      "predicate": "framed_by",
      "target": "perspective:timurids:timurid",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:clavijo",
      "predicate": "depicts",
      "target": "event:timurids:event-clavijo-samarkand-1404",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "contains",
      "target": "chapter:timurids:baghdad",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:baghdad",
      "predicate": "framed_by",
      "target": "perspective:timurids:timurid",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:baghdad",
      "predicate": "depicts",
      "target": "event:timurids:event-sack-baghdad-1401",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "contains",
      "target": "chapter:timurids:the-turn-east",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:the-turn-east",
      "predicate": "framed_by",
      "target": "perspective:timurids:timurid",
      "summary": "",
      "source_path": null
    },
    {
      "source": "story:timurids",
      "predicate": "contains",
      "target": "chapter:timurids:what-he-left",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:what-he-left",
      "predicate": "framed_by",
      "target": "perspective:timurids:timurid",
      "summary": "",
      "source_path": null
    },
    {
      "source": "chapter:timurids:what-he-left",
      "predicate": "depicts",
      "target": "event:timurids:event-death-timur-1405",
      "summary": "",
      "source_path": null
    }
  ],
  "source_files": [
    {
      "path": "web/content/alexander/story.json",
      "sha256": "d86582bb2ebb05de47bc1a0a10de16263175a912ca10ef500e83d79c4bb56b1e"
    },
    {
      "path": "web/content/andalus/story.json",
      "sha256": "4e47f289a0931eed1b0e41f6f121df2bab3117291a462e35f68c7e14784ae98d"
    },
    {
      "path": "web/content/caesar/story.json",
      "sha256": "6e2403adb8a9b93f35d9dcc2e16f3e5a9000a1b91e35edc2148b9bfbe0593c81"
    },
    {
      "path": "web/content/charlemagne/story.json",
      "sha256": "ec9e03efe115b55d5745795cde7ae022e4416bb2d1c92957b453d33c32cbf26e"
    },
    {
      "path": "web/content/crusades/story.json",
      "sha256": "21c32b028b729df1f7232d08fdbc95c375e9f3fe90b4f8201f39270b9502b02a"
    },
    {
      "path": "web/content/hannibal/story.json",
      "sha256": "17bb2556e8f6db88c7ef65ca869054b7868f3bbf57e46d36cca60248bd2b7527"
    },
    {
      "path": "web/content/mongols/story.json",
      "sha256": "d3b8469c96fed16cf357b1bfafa5c9c81e8d0256437b145e4aadd3eb318c1588"
    },
    {
      "path": "web/content/rome/story.json",
      "sha256": "2269240ab8ec32fb98556846e85cfb0419335cfda7280ce33e38b2a93d86ee93"
    },
    {
      "path": "web/content/timurids/story.json",
      "sha256": "5c7175e135709471fecbb635945f0aa28db0d274ac78b45499fab1807f1058b9"
    }
  ]
}
