{
  "name": "GoT Deaths",
  "queries": [
    {
      "query": "MATCH (s:Season) RETURN count(s) AS Total_number_of_seasons;\r\n\r\nMATCH (c:Character) RETURN count(c) AS Total_number_of_characters;\r\n\r\nMATCH (d:Death) RETURN count(d) AS Total_number_of_deaths;",
      "id": "08f78376-d801-4452-b487-fcc8f740a30e",
      "name": "The basics",
      "description": "Let's find out the number of **seasons**, **characters** and **deaths**.",
      "order": 0,
      "style": {
        "code": "\n@NodeStyle {\n  size: 6\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n  border-width: 0.6\n  border-color: #1d1d1d\n  font-size: 3\n}\n\n@NodeStyle Greater(Size(Labels(node)), 0) {\n  label: Format(\":{}\", Join(Labels(node), \" :\"))\n}\n\n@NodeStyle HasProperty(node, \"name\") {\n  label: AsText(Property(node, \"name\"))\n}\n\nDefine(LATITUDE_FIELD, \"lat\")\nDefine(LONGITUDE_FIELD, \"lng\")\n\n@NodeStyle And(IsNumber(Property(node, LATITUDE_FIELD)), IsNumber(Property(node, LONGITUDE_FIELD))) {\n  latitude: Property(node, LATITUDE_FIELD)\n  longitude: Property(node, LONGITUDE_FIELD)\n}\n\n\n@EdgeStyle {\n  color: #999999\n  color-hover: #1d1d1d\n  color-selected: #1d1d1d\n  width: 0.3\n  width-hover: 0.9\n  width-selected: 0.9\n  font-size: 3\n}\n\n@EdgeStyle Less(EdgeCount(graph), 30) {\n  label: Type(edge)\n}\n\n@ViewStyle.Map {\n  tile-layer: \"light\"\n}\n"
      }
    },
    {
      "query": "MATCH (e:Episode)-[:PART_OF]->(s:Season)\r\nRETURN s.number AS Season_number, collect(e) AS Episodes\r\nORDER BY Season_number; ",
      "id": "74f9300e-efc0-4fa2-8301-420a8b4cc139",
      "name": "Episodes per season",
      "description": "",
      "order": 1,
      "style": {
        "code": "\n@NodeStyle {\n  size: 6\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n  border-width: 0.6\n  border-color: #1d1d1d\n  font-size: 3\n}\n\n@NodeStyle HasLabel(node, \"Episode\") {\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n}\n\n@NodeStyle Greater(Size(Labels(node)), 0) {\n  label: Format(\":{}\", Join(Labels(node), \" :\"))\n}\n\n@NodeStyle HasProperty(node, \"name\") {\n  label: AsText(Property(node, \"name\"))\n}\n\nDefine(LATITUDE_FIELD, \"lat\")\nDefine(LONGITUDE_FIELD, \"lng\")\n\n@NodeStyle And(IsNumber(Property(node, LATITUDE_FIELD)), IsNumber(Property(node, LONGITUDE_FIELD))) {\n  latitude: Property(node, LATITUDE_FIELD)\n  longitude: Property(node, LONGITUDE_FIELD)\n}\n\n\n@EdgeStyle {\n  color: #999999\n  color-hover: #1d1d1d\n  color-selected: #1d1d1d\n  width: 0.3\n  width-hover: 0.9\n  width-selected: 0.9\n  font-size: 3\n}\n\n@EdgeStyle Less(EdgeCount(graph), 30) {\n  label: Type(edge)\n}\n\n@ViewStyle.Map {\n  tile-layer: \"light\"\n}\n"
      }
    },
    {
      "query": "MATCH (c:Character)-[:VICTIM_IN]->(:Death)-[:HAPPENED_IN]->(:Episode{number: 1})-[:PART_OF]->(:Season {number: 3}) RETURN c; \r\n\r\nMATCH p=(c:Character {name: \"\"})-[]-() RETURN p; ",
      "id": "0c74c39c-66ea-42d1-ae31-6fe34322cc2e",
      "name": "Who died?",
      "description": "Some sources claim there are no deaths in *Valar Doharis* (S03E01), *Dark Wings, Dark Words* (S03E02) and *The Knight of Seven Kingdoms* (S08E02) but the dataset contains a death from those episodes!\n\nWho died?",
      "order": 2,
      "style": {
        "code": "\n@NodeStyle {\n  size: 6\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n  border-width: 0.6\n  border-color: #1d1d1d\n  font-size: 3\n}\n\n@NodeStyle HasLabel(node, \"Character\") {\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n}\n\n@NodeStyle Greater(Size(Labels(node)), 0) {\n  label: Format(\":{}\", Join(Labels(node), \" :\"))\n}\n\n@NodeStyle HasProperty(node, \"name\") {\n  label: AsText(Property(node, \"name\"))\n}\n\nDefine(LATITUDE_FIELD, \"lat\")\nDefine(LONGITUDE_FIELD, \"lng\")\n\n@NodeStyle And(IsNumber(Property(node, LATITUDE_FIELD)), IsNumber(Property(node, LONGITUDE_FIELD))) {\n  latitude: Property(node, LATITUDE_FIELD)\n  longitude: Property(node, LONGITUDE_FIELD)\n}\n\n\n@EdgeStyle {\n  color: #999999\n  color-hover: #1d1d1d\n  color-selected: #1d1d1d\n  width: 0.3\n  width-hover: 0.9\n  width-selected: 0.9\n  font-size: 3\n}\n\n@EdgeStyle Less(EdgeCount(graph), 30) {\n  label: Type(edge)\n}\n\n@ViewStyle.Map {\n  tile-layer: \"light\"\n}\n"
      }
    },
    {
      "query": "MATCH (c:Character)-[k:KILLED]->(d:Character) WHERE c=d\r\nRETURN c.name AS Who, k.method AS How;",
      "id": "491e6031-5097-417b-9cd6-a708800b456e",
      "name": "Suicides",
      "description": "I warned you this was going to get dark...",
      "order": 3,
      "style": {
        "code": "\n@NodeStyle {\n  size: 6\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n  border-width: 0.6\n  border-color: #1d1d1d\n  font-size: 3\n}\n\n@NodeStyle Greater(Size(Labels(node)), 0) {\n  label: Format(\":{}\", Join(Labels(node), \" :\"))\n}\n\n@NodeStyle HasProperty(node, \"name\") {\n  label: AsText(Property(node, \"name\"))\n}\n\nDefine(LATITUDE_FIELD, \"lat\")\nDefine(LONGITUDE_FIELD, \"lng\")\n\n@NodeStyle And(IsNumber(Property(node, LATITUDE_FIELD)), IsNumber(Property(node, LONGITUDE_FIELD))) {\n  latitude: Property(node, LATITUDE_FIELD)\n  longitude: Property(node, LONGITUDE_FIELD)\n}\n\n\n@EdgeStyle {\n  color: #999999\n  color-hover: #1d1d1d\n  color-selected: #1d1d1d\n  width: 0.3\n  width-hover: 0.9\n  width-selected: 0.9\n  font-size: 3\n}\n\n@EdgeStyle Less(EdgeCount(graph), 30) {\n  label: Type(edge)\n}\n\n@ViewStyle.Map {\n  tile-layer: \"light\"\n}\n"
      }
    },
    {
      "query": "MATCH p=(:Death)-[:HAPPENED_IN]->(:Location)\r\nWITH project(p) AS subgraph\r\n\r\nCALL pagerank.get(subgraph)\r\nYIELD node, rank\r\n\r\nWITH node, rank\r\nWHERE node:Location\r\n\r\nRETURN node.name AS Where, rank AS PageRank\r\nORDER BY PageRank DESC\r\nLIMIT 10;\r\n\r\nMATCH (d:Death)-[:HAPPENED_IN]->(l:Location)\r\nRETURN l.name AS Location, count(d) AS Death_count\r\nORDER BY Death_count DESC\r\nLIMIT 10;",
      "id": "70a5495a-324c-413f-b5a6-ee5ab00e3339",
      "name": "Staying alive",
      "description": "**What part of Westeros should you avoid so you don't get killed?**\n\nThe PageRank calculates the most important locations in the dataset. \n\nTheir importance is confirmed by the death count.",
      "order": 4,
      "style": {
        "code": "\n@NodeStyle {\n  size: 6\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n  border-width: 0.6\n  border-color: #1d1d1d\n  font-size: 3\n}\n\n@NodeStyle Greater(Size(Labels(node)), 0) {\n  label: Format(\":{}\", Join(Labels(node), \" :\"))\n}\n\n@NodeStyle HasProperty(node, \"name\") {\n  label: AsText(Property(node, \"name\"))\n}\n\nDefine(LATITUDE_FIELD, \"lat\")\nDefine(LONGITUDE_FIELD, \"lng\")\n\n@NodeStyle And(IsNumber(Property(node, LATITUDE_FIELD)), IsNumber(Property(node, LONGITUDE_FIELD))) {\n  latitude: Property(node, LATITUDE_FIELD)\n  longitude: Property(node, LONGITUDE_FIELD)\n}\n\n\n@EdgeStyle {\n  color: #999999\n  color-hover: #1d1d1d\n  color-selected: #1d1d1d\n  width: 0.3\n  width-hover: 0.9\n  width-selected: 0.9\n  font-size: 3\n}\n\n@EdgeStyle Less(EdgeCount(graph), 30) {\n  label: Type(edge)\n}\n\n@ViewStyle.Map {\n  tile-layer: \"light\"\n}\n"
      }
    },
    {
      "query": "MATCH p=(:Death)-[:HAPPENED_IN]->(:Episode)\r\nWITH project(p) AS subgraph\r\n\r\nCALL pagerank.get(subgraph)\r\nYIELD node, rank\r\n\r\nWITH node, rank\r\nWHERE node:Episode\r\n\r\nRETURN node.name AS When, rank AS PageRank\r\nORDER BY PageRank DESC\r\nLIMIT 10;\r\n\r\nMATCH (d:Death)-[:HAPPENED_IN]->(e:Episode)\r\nRETURN e.name AS Episode, count(d) AS Death_count\r\nORDER BY Death_count DESC\r\nLIMIT 10;",
      "id": "28b5eac4-5a33-4201-8055-238947e06f54",
      "name": "Staying alive #2",
      "description": "But King's Landing was safe most of the time, right?\n\nSo what's the worst time to be in Kings Landing?",
      "order": 5,
      "style": {
        "code": "\n@NodeStyle {\n  size: 6\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n  border-width: 0.6\n  border-color: #1d1d1d\n  font-size: 3\n}\n\n@NodeStyle Greater(Size(Labels(node)), 0) {\n  label: Format(\":{}\", Join(Labels(node), \" :\"))\n}\n\n@NodeStyle HasProperty(node, \"name\") {\n  label: AsText(Property(node, \"name\"))\n}\n\nDefine(LATITUDE_FIELD, \"lat\")\nDefine(LONGITUDE_FIELD, \"lng\")\n\n@NodeStyle And(IsNumber(Property(node, LATITUDE_FIELD)), IsNumber(Property(node, LONGITUDE_FIELD))) {\n  latitude: Property(node, LATITUDE_FIELD)\n  longitude: Property(node, LONGITUDE_FIELD)\n}\n\n\n@EdgeStyle {\n  color: #999999\n  color-hover: #1d1d1d\n  color-selected: #1d1d1d\n  width: 0.3\n  width-hover: 0.9\n  width-selected: 0.9\n  font-size: 3\n}\n\n@EdgeStyle Less(EdgeCount(graph), 30) {\n  label: Type(edge)\n}\n\n@ViewStyle.Map {\n  tile-layer: \"light\"\n}\n"
      }
    },
    {
      "query": "MATCH (:Character)-[death:KILLED]->(:Character)-[:LOYAL_TO]->(a:Allegiance)\r\nWITH a, sum(death.count) AS deaths\r\nMATCH (:Character)<-[kill:KILLED]-(:Character)-[:LOYAL_TO]->(a)\r\nRETURN a.name AS Allegiance, sum(kill.count) AS kills, deaths, round(100*(toFloat(sum(kill.count))/deaths))/100 AS KDR\r\nORDER BY KDR DESC\r\nLIMIT 10;",
      "id": "193587ed-e834-467e-854a-21b9bc97db2a",
      "name": "Winners",
      "description": "What house suffered the least casualties doing the most damage (KDR)?\n\nWho suffered fewer losses at the Battle of Bastards?",
      "order": 6,
      "style": {
        "code": "\n@NodeStyle {\n  size: 6\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n  border-width: 0.6\n  border-color: #1d1d1d\n  font-size: 3\n}\n\n@NodeStyle Greater(Size(Labels(node)), 0) {\n  label: Format(\":{}\", Join(Labels(node), \" :\"))\n}\n\n@NodeStyle HasProperty(node, \"name\") {\n  label: AsText(Property(node, \"name\"))\n}\n\nDefine(LATITUDE_FIELD, \"lat\")\nDefine(LONGITUDE_FIELD, \"lng\")\n\n@NodeStyle And(IsNumber(Property(node, LATITUDE_FIELD)), IsNumber(Property(node, LONGITUDE_FIELD))) {\n  latitude: Property(node, LATITUDE_FIELD)\n  longitude: Property(node, LONGITUDE_FIELD)\n}\n\n\n@EdgeStyle {\n  color: #999999\n  color-hover: #1d1d1d\n  color-selected: #1d1d1d\n  width: 0.3\n  width-hover: 0.9\n  width-selected: 0.9\n  font-size: 3\n}\n\n@EdgeStyle Less(EdgeCount(graph), 30) {\n  label: Type(edge)\n}\n\n@ViewStyle.Map {\n  tile-layer: \"light\"\n}\n"
      }
    },
    {
      "query": "CALL betweenness_centrality.get(false) YIELD node, betweenness_centrality\r\nWITH node, betweenness_centrality\r\nWHERE \"Character\" in labels(node)\r\nRETURN node.name AS Character, betweenness_centrality AS betweenness_centrality\r\nORDER BY betweenness_centrality DESC LIMIT 10;\r\n\r\nMATCH (dani:Character {name: \"Daenerys Targaryen\"})-[:KILLED]->(victim:Character)\r\nMATCH (dani)-[:KILLER_IN]->(d:Death)<-[:VICTIM_IN]-(victim)\r\nMATCH (d)-[:HAPPENED_IN]->(e:Episode)\r\nRETURN DISTINCT victim.name AS Victim, count(d) AS Kill_count, e.name as Episode\r\nORDER BY Kill_count DESC; ",
      "id": "801bfd6a-ce49-4a2f-8035-8f2df649e6a5",
      "name": "Killer influencer",
      "description": "Who is the most important node in the graph - the one responsible for most of the deaths?\n\n**Betweenness centrality** measures the extent to which a node lies on paths between other nodes in the graph. Thus, nodes with high betweenness may have considerable influence within a network.",
      "order": 7,
      "style": {
        "code": "\n@NodeStyle {\n  size: 6\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n  border-width: 0.6\n  border-color: #1d1d1d\n  font-size: 3\n}\n\n@NodeStyle Greater(Size(Labels(node)), 0) {\n  label: Format(\":{}\", Join(Labels(node), \" :\"))\n}\n\n@NodeStyle HasProperty(node, \"name\") {\n  label: AsText(Property(node, \"name\"))\n}\n\nDefine(LATITUDE_FIELD, \"lat\")\nDefine(LONGITUDE_FIELD, \"lng\")\n\n@NodeStyle And(IsNumber(Property(node, LATITUDE_FIELD)), IsNumber(Property(node, LONGITUDE_FIELD))) {\n  latitude: Property(node, LATITUDE_FIELD)\n  longitude: Property(node, LONGITUDE_FIELD)\n}\n\n\n@EdgeStyle {\n  color: #999999\n  color-hover: #1d1d1d\n  color-selected: #1d1d1d\n  width: 0.3\n  width-hover: 0.9\n  width-selected: 0.9\n  font-size: 3\n}\n\n@EdgeStyle Less(EdgeCount(graph), 30) {\n  label: Type(edge)\n}\n\n@ViewStyle.Map {\n  tile-layer: \"light\"\n}\n"
      }
    },
    {
      "query": "MATCH p=(:Character {name:\"Jon Snow\"})-[:VICTIM_IN]->(:Death)<-[:KILLER_IN]-(c:Character)\r\nMATCH p2=(c)-[:VICTIM_IN]->(:Death)<-[:KILLER_IN]-(:Character)\r\nRETURN p,p2; \r\n\r\nMATCH (jon: Character {name: \"Jon Snow\"})-[:KILLED]->(victim:Character)\r\nMATCH (jon)-[:VICTIM_IN]->(jon_death:Death)\r\nMATCH (jon)-[:KILLER_IN]->(victim_death:Death)<-[:VICTIM_IN]-(victim)\r\nWHERE victim_death.order > jon_death.order\r\nRETURN DISTINCT victim.name AS Victim, count(victim_death) AS Kill_count\r\nORDER BY Kill_count DESC; ",
      "id": "9389e0b2-f0f8-476b-9188-48926a71a6f2",
      "name": "You know nothing!",
      "description": "Who killed Jon Snow?\n\nWho would stay alive if Jon Snow stayed dead?",
      "order": 8,
      "style": {
        "code": "\n@NodeStyle {\n  size: 6\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n  border-width: 0.6\n  border-color: #1d1d1d\n  font-size: 3\n}\n\n@NodeStyle HasLabel(node, \"Character\") {\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n}\n\n@NodeStyle HasLabel(node, \"Death\") {\n  color: #FB6E00\n  color-hover: Lighter(#FB6E00)\n  color-selected: Lighter(#FB6E00)\n}\n\n@NodeStyle Greater(Size(Labels(node)), 0) {\n  label: Format(\":{}\", Join(Labels(node), \" :\"))\n}\n\n@NodeStyle HasProperty(node, \"name\") {\n  label: AsText(Property(node, \"name\"))\n}\n\nDefine(LATITUDE_FIELD, \"lat\")\nDefine(LONGITUDE_FIELD, \"lng\")\n\n@NodeStyle And(IsNumber(Property(node, LATITUDE_FIELD)), IsNumber(Property(node, LONGITUDE_FIELD))) {\n  latitude: Property(node, LATITUDE_FIELD)\n  longitude: Property(node, LONGITUDE_FIELD)\n}\n\n\n@EdgeStyle {\n  color: #999999\n  color-hover: #1d1d1d\n  color-selected: #1d1d1d\n  width: 0.3\n  width-hover: 0.9\n  width-selected: 0.9\n  font-size: 3\n}\n\n@EdgeStyle Less(EdgeCount(graph), 30) {\n  label: Type(edge)\n}\n\n@ViewStyle.Map {\n  tile-layer: \"light\"\n}\n"
      }
    },
    {
      "query": "MATCH (killer:Character)-[:KILLED]->(victim:Character)\r\nMATCH (killer)-[:LOYAL_TO]->(a:Allegiance)<-[:LOYAL_TO]-(victim)\r\nRETURN killer.name AS Traitor, count(victim) AS Kill_count, a.name AS Allegiance\r\nORDER BY Kill_count DESC\r\nLIMIT 10;",
      "id": "af80bbe9-cc55-467d-ae0a-26e6b56b6ee9",
      "name": "Treason",
      "description": "",
      "order": 9,
      "style": {
        "code": "\n@NodeStyle {\n  size: 6\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n  border-width: 0.6\n  border-color: #1d1d1d\n  font-size: 3\n}\n\n@NodeStyle Greater(Size(Labels(node)), 0) {\n  label: Format(\":{}\", Join(Labels(node), \" :\"))\n}\n\n@NodeStyle HasProperty(node, \"name\") {\n  label: AsText(Property(node, \"name\"))\n}\n\nDefine(LATITUDE_FIELD, \"lat\")\nDefine(LONGITUDE_FIELD, \"lng\")\n\n@NodeStyle And(IsNumber(Property(node, LATITUDE_FIELD)), IsNumber(Property(node, LONGITUDE_FIELD))) {\n  latitude: Property(node, LATITUDE_FIELD)\n  longitude: Property(node, LONGITUDE_FIELD)\n}\n\n\n@EdgeStyle {\n  color: #999999\n  color-hover: #1d1d1d\n  color-selected: #1d1d1d\n  width: 0.3\n  width-hover: 0.9\n  width-selected: 0.9\n  font-size: 3\n}\n\n@EdgeStyle Less(EdgeCount(graph), 30) {\n  label: Type(edge)\n}\n\n@ViewStyle.Map {\n  tile-layer: \"light\"\n}\n"
      }
    },
    {
      "query": "MATCH p=(:Character)-[:KILLED * wShortest(e,v | e.count) Kill_count]->(:Character)\r\nRETURN nodes(p) AS Kill_list, relationships(p) AS Connections, Kill_count\r\nORDER BY Kill_count DESC\r\nLIMIT 1; ",
      "id": "efb39e3f-5762-472d-840e-4368acfed2a5",
      "name": "Dijkstra killing it",
      "description": "What is the shortest path of killings with the highest kill count?",
      "order": 10,
      "style": {
        "code": "\n@NodeStyle {\n  size: 6\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n  border-width: 0.6\n  border-color: #1d1d1d\n  font-size: 3\n}\n\n@NodeStyle HasLabel(node, \"Character\") {\n  color: #DD2222\n  color-hover: Lighter(#DD2222)\n  color-selected: Lighter(#DD2222)\n}\n\n@NodeStyle Greater(Size(Labels(node)), 0) {\n  label: Format(\":{}\", Join(Labels(node), \" :\"))\n}\n\n@NodeStyle HasProperty(node, \"name\") {\n  label: AsText(Property(node, \"name\"))\n}\n\nDefine(LATITUDE_FIELD, \"lat\")\nDefine(LONGITUDE_FIELD, \"lng\")\n\n@NodeStyle And(IsNumber(Property(node, LATITUDE_FIELD)), IsNumber(Property(node, LONGITUDE_FIELD))) {\n  latitude: Property(node, LATITUDE_FIELD)\n  longitude: Property(node, LONGITUDE_FIELD)\n}\n\n\n@EdgeStyle {\n  color: #999999\n  color-hover: #1d1d1d\n  color-selected: #1d1d1d\n  width: 0.3\n  width-hover: 0.9\n  width-selected: 0.9\n  font-size: 3\n}\n\n@EdgeStyle Less(EdgeCount(graph), 30) {\n  label: Type(edge)\n}\n\n@ViewStyle.Map {\n  tile-layer: \"light\"\n}\n"
      }
    },
    {
      "query": "MATCH (n)-[e]->(m)\r\nWHERE n:Character AND (m:Character OR m:Allegiance)\r\nRETURN n, e, m;",
      "id": "80c3dc41-e22a-4d51-8701-3ecf2d59f5c1",
      "name": "All killings between characters",
      "description": "",
      "order": 11,
      "style": {
        "code": "@NodeStyle {\n  size: 6\n  color: #FB6E00\n  color-hover: Lighter(#FB6E00)\n  color-selected: Lighter(#FB6E00)\n  border-width: 0.6\n  border-color: #1d1d1d\n  font-size: 3\n}\n\n@NodeStyle HasLabel(node, \"Character\") {\n  size: 5\n  color: #FFC500\n  color-hover: Lighter(#FFC500)\n  color-selected: Lighter(#FFC500)\n}\n\n@NodeStyle HasLabel(node, \"Allegiance\") {\n  size: 9\n  color: white\n  color-hover: Lighter(white)\n  color-selected: Lighter(white)\n}\n\n@NodeStyle HasProperty(node, \"name\") {\n  label: AsText(Property(node, \"name\"))\n}\n\nDefine(IsHouseLanister, Function(n, Equals(Property(n, \"name\"), \"House Lannister\")))\nDefine(IsHouseStark, Function(n, Equals(Property(n, \"name\"), \"House Stark\")))\nDefine(IsHouseTargaryen, Function(n, Equals(Property(n, \"name\"), \"House Targaryen\")))\nDefine(IsHouseMartell, Function(n, Equals(Property(n, \"name\"), \"House Martell\")))\n\nDefine(COLOR_LANISTER, #ab0303)\nDefine(COLOR_STARK, #4e8623)\nDefine(COLOR_TARGARYEN, #333333)\nDefine(COLOR_MARTELL, #ffae42)\n\n@NodeStyle IsHouseMartell(node) {\n  image-url: \"https://awoiaf.westeros.org/images/thumb/6/60/House_Martell.svg/1200px-House_Martell.svg.png\"\n}\n\n@NodeStyle Any(AdjacentNodes(node), Function(n, IsHouseMartell(n))) {\n  color: COLOR_MARTELL\n  color-hover: Lighter(COLOR_MARTELL)\n  color-selected: Lighter(COLOR_MARTELL)\n}\n\n@NodeStyle IsHouseLanister(node) {\n  image-url: \"https://e7.pngegg.com/pngimages/859/491/png-clipart-tywin-lannister-cersei-lannister-jaime-lannister-a-song-of-ice-and-fire-stannis-baratheon-house-baratheon-cersei-lannister.png\"\n}\n\n@NodeStyle Any(AdjacentNodes(node), Function(n, IsHouseLanister(n))) {\n  color: COLOR_LANISTER\n  color-hover: Lighter(COLOR_LANISTER)\n  color-selected: Lighter(COLOR_LANISTER)\n}\n\n@NodeStyle IsHouseStark(node) {\n  image-url: \"https://live.staticflickr.com/3349/5833415483_cd94ee3f5c_b.jpg\"\n}\n\n@NodeStyle Any(AdjacentNodes(node), Function(n, IsHouseStark(n))) {\n  color: COLOR_STARK\n  color-hover: Lighter(COLOR_STARK)\n  color-selected: Lighter(COLOR_STARK)\n}\n\n@NodeStyle IsHouseTargaryen(node) {\n  image-url: \"https://pbs.twimg.com/profile_images/1344752671161540609/OPVBLcqA_400x400.jpg\"\n}\n\n@NodeStyle Any(AdjacentNodes(node), Function(n, IsHouseTargaryen(n))) {\n  color: COLOR_TARGARYEN\n  color-hover: Lighter(COLOR_TARGARYEN)\n  color-selected: Lighter(COLOR_TARGARYEN)\n}\n\n@EdgeStyle {\n  color: #999999\n  color-hover: #1d1d1d\n  color-selected: #1d1d1d\n  width: 0.3\n  width-hover: 0.9\n  width-selected: 0.9\n  font-size: 3\n}\n\n@EdgeStyle HasLabel(EndNode(edge), \"Allegiance\") {\n  arrow-size: 0\n}\n\n@EdgeStyle IsHouseLanister(EndNode(edge)) {\n  width: 1\n  color: COLOR_LANISTER\n}\n\n@EdgeStyle IsHouseStark(EndNode(edge)) {\n  width: 1\n  color: COLOR_STARK\n}\n\n@EdgeStyle IsHouseTargaryen(EndNode(edge)) {\n  width: 1\n  color: COLOR_TARGARYEN\n}\n\n@EdgeStyle IsHouseMartell(EndNode(edge)) {\n  width: 1\n  color: COLOR_MARTELL\n}\n\nDefine(IsEdgeKilledByHouse, Function(e, houseFunc, Any(OutEdges(StartNode(e)), Function(edgeBefore, houseFunc(EndNode(edgeBefore))))))\n\n@EdgeStyle IsEdgeKilledByHouse(edge, IsHouseLanister) {\n  width: 0.5\n  color: COLOR_LANISTER\n}\n\n@EdgeStyle IsEdgeKilledByHouse(edge, IsHouseMartell) {\n  width: 0.5\n  color: COLOR_MARTELL\n}\n\n@EdgeStyle IsEdgeKilledByHouse(edge, IsHouseStark) {\n  width: 0.5\n  color: COLOR_STARK\n}\n\n@EdgeStyle IsEdgeKilledByHouse(edge, IsHouseTargaryen) {\n  width: 0.5\n  color: COLOR_TARGARYEN\n}\n"
      }
    }
  ],
  "id": 1,
  "order": 1
}