Pokemon & Neo4J
Introduction
This article explores the relationships between Pokemon and their evolution chains, along with different Pokemon types and their advantages and disadvantages against other types using Neo4J.
:Most of the information is more relevant to the Gamefreak series but there’s also some experimental PokemonGO analysis at the end of the piece. It’s also Generation I only for now. |

Setup: Creating Pokemon, Types and Relationships.
The node and relationship data set is built using data available at https://pokeapi.co and the resulting query.
CREATE (abra:Pokemon {pokemon_id:63, name:'abra'})
CREATE (aerodactyl:Pokemon {pokemon_id:142, name:'aerodactyl'})
CREATE (alakazam:Pokemon {pokemon_id:65, name:'alakazam'})
CREATE (arbok:Pokemon {pokemon_id:24, name:'arbok'})
CREATE (arcanine:Pokemon {pokemon_id:59, name:'arcanine'})
CREATE (articuno:Pokemon {pokemon_id:144, name:'articuno'})
CREATE (beedrill:Pokemon {pokemon_id:15, name:'beedrill'})
CREATE (bellsprout:Pokemon {pokemon_id:69, name:'bellsprout'})
CREATE (blastoise:Pokemon {pokemon_id:9, name:'blastoise'})
CREATE (bulbasaur:Pokemon {pokemon_id:1, name:'bulbasaur'})
CREATE (butterfree:Pokemon {pokemon_id:12, name:'butterfree'})
CREATE (caterpie:Pokemon {pokemon_id:10, name:'caterpie'})
CREATE (chansey:Pokemon {pokemon_id:113, name:'chansey'})
CREATE (charizard:Pokemon {pokemon_id:6, name:'charizard'})
CREATE (charmander:Pokemon {pokemon_id:4, name:'charmander'})
CREATE (charmeleon:Pokemon {pokemon_id:5, name:'charmeleon'})
CREATE (clefable:Pokemon {pokemon_id:36, name:'clefable'})
CREATE (clefairy:Pokemon {pokemon_id:35, name:'clefairy'})
CREATE (cloyster:Pokemon {pokemon_id:91, name:'cloyster'})
CREATE (cubone:Pokemon {pokemon_id:104, name:'cubone'})
CREATE (dewgong:Pokemon {pokemon_id:87, name:'dewgong'})
CREATE (diglett:Pokemon {pokemon_id:50, name:'diglett'})
CREATE (ditto:Pokemon {pokemon_id:132, name:'ditto'})
CREATE (dodrio:Pokemon {pokemon_id:85, name:'dodrio'})
CREATE (doduo:Pokemon {pokemon_id:84, name:'doduo'})
CREATE (dragonair:Pokemon {pokemon_id:148, name:'dragonair'})
CREATE (dragonite:Pokemon {pokemon_id:149, name:'dragonite'})
CREATE (dratini:Pokemon {pokemon_id:147, name:'dratini'})
CREATE (drowzee:Pokemon {pokemon_id:96, name:'drowzee'})
CREATE (dugtrio:Pokemon {pokemon_id:51, name:'dugtrio'})
CREATE (eevee:Pokemon {pokemon_id:133, name:'eevee'})
CREATE (ekans:Pokemon {pokemon_id:23, name:'ekans'})
CREATE (electabuzz:Pokemon {pokemon_id:125, name:'electabuzz'})
CREATE (electrode:Pokemon {pokemon_id:101, name:'electrode'})
CREATE (exeggcute:Pokemon {pokemon_id:102, name:'exeggcute'})
CREATE (exeggutor:Pokemon {pokemon_id:103, name:'exeggutor'})
CREATE (farfetchd:Pokemon {pokemon_id:83, name:'farfetchd'})
CREATE (fearow:Pokemon {pokemon_id:22, name:'fearow'})
CREATE (flareon:Pokemon {pokemon_id:136, name:'flareon'})
CREATE (gastly:Pokemon {pokemon_id:92, name:'gastly'})
CREATE (gengar:Pokemon {pokemon_id:94, name:'gengar'})
CREATE (geodude:Pokemon {pokemon_id:74, name:'geodude'})
CREATE (gloom:Pokemon {pokemon_id:44, name:'gloom'})
CREATE (golbat:Pokemon {pokemon_id:42, name:'golbat'})
CREATE (goldeen:Pokemon {pokemon_id:118, name:'goldeen'})
CREATE (golduck:Pokemon {pokemon_id:55, name:'golduck'})
CREATE (golem:Pokemon {pokemon_id:76, name:'golem'})
CREATE (graveler:Pokemon {pokemon_id:75, name:'graveler'})
CREATE (grimer:Pokemon {pokemon_id:88, name:'grimer'})
CREATE (growlithe:Pokemon {pokemon_id:58, name:'growlithe'})
CREATE (gyarados:Pokemon {pokemon_id:130, name:'gyarados'})
CREATE (haunter:Pokemon {pokemon_id:93, name:'haunter'})
CREATE (hitmonchan:Pokemon {pokemon_id:107, name:'hitmonchan'})
CREATE (hitmonlee:Pokemon {pokemon_id:106, name:'hitmonlee'})
CREATE (horsea:Pokemon {pokemon_id:116, name:'horsea'})
CREATE (hypno:Pokemon {pokemon_id:97, name:'hypno'})
CREATE (ivysaur:Pokemon {pokemon_id:2, name:'ivysaur'})
CREATE (jigglypuff:Pokemon {pokemon_id:39, name:'jigglypuff'})
CREATE (jolteon:Pokemon {pokemon_id:135, name:'jolteon'})
CREATE (jynx:Pokemon {pokemon_id:124, name:'jynx'})
CREATE (kabuto:Pokemon {pokemon_id:140, name:'kabuto'})
CREATE (kabutops:Pokemon {pokemon_id:141, name:'kabutops'})
CREATE (kadabra:Pokemon {pokemon_id:64, name:'kadabra'})
CREATE (kakuna:Pokemon {pokemon_id:14, name:'kakuna'})
CREATE (kangaskhan:Pokemon {pokemon_id:115, name:'kangaskhan'})
CREATE (kingler:Pokemon {pokemon_id:99, name:'kingler'})
CREATE (koffing:Pokemon {pokemon_id:109, name:'koffing'})
CREATE (krabby:Pokemon {pokemon_id:98, name:'krabby'})
CREATE (lapras:Pokemon {pokemon_id:131, name:'lapras'})
CREATE (lickitung:Pokemon {pokemon_id:108, name:'lickitung'})
CREATE (machamp:Pokemon {pokemon_id:68, name:'machamp'})
CREATE (machoke:Pokemon {pokemon_id:67, name:'machoke'})
CREATE (machop:Pokemon {pokemon_id:66, name:'machop'})
CREATE (magikarp:Pokemon {pokemon_id:129, name:'magikarp'})
CREATE (magmar:Pokemon {pokemon_id:126, name:'magmar'})
CREATE (magnemite:Pokemon {pokemon_id:81, name:'magnemite'})
CREATE (magneton:Pokemon {pokemon_id:82, name:'magneton'})
CREATE (mankey:Pokemon {pokemon_id:56, name:'mankey'})
CREATE (marowak:Pokemon {pokemon_id:105, name:'marowak'})
CREATE (meowth:Pokemon {pokemon_id:52, name:'meowth'})
CREATE (metapod:Pokemon {pokemon_id:11, name:'metapod'})
CREATE (mew:Pokemon {pokemon_id:151, name:'mew'})
CREATE (mewtwo:Pokemon {pokemon_id:150, name:'mewtwo'})
CREATE (moltres:Pokemon {pokemon_id:146, name:'moltres'})
CREATE (mr_mime:Pokemon {pokemon_id:122, name:'mr_mime'})
CREATE (muk:Pokemon {pokemon_id:89, name:'muk'})
CREATE (nidoking:Pokemon {pokemon_id:34, name:'nidoking'})
CREATE (nidoqueen:Pokemon {pokemon_id:31, name:'nidoqueen'})
CREATE (nidoran_f:Pokemon {pokemon_id:29, name:'nidoran_f'})
CREATE (nidoran_m:Pokemon {pokemon_id:32, name:'nidoran_m'})
CREATE (nidorina:Pokemon {pokemon_id:30, name:'nidorina'})
CREATE (nidorino:Pokemon {pokemon_id:33, name:'nidorino'})
CREATE (ninetales:Pokemon {pokemon_id:38, name:'ninetales'})
CREATE (oddish:Pokemon {pokemon_id:43, name:'oddish'})
CREATE (omanyte:Pokemon {pokemon_id:138, name:'omanyte'})
CREATE (omastar:Pokemon {pokemon_id:139, name:'omastar'})
CREATE (onix:Pokemon {pokemon_id:95, name:'onix'})
CREATE (paras:Pokemon {pokemon_id:46, name:'paras'})
CREATE (parasect:Pokemon {pokemon_id:47, name:'parasect'})
CREATE (persian:Pokemon {pokemon_id:53, name:'persian'})
CREATE (pidgeot:Pokemon {pokemon_id:18, name:'pidgeot'})
CREATE (pidgeotto:Pokemon {pokemon_id:17, name:'pidgeotto'})
CREATE (pidgey:Pokemon {pokemon_id:16, name:'pidgey'})
CREATE (pikachu:Pokemon {pokemon_id:25, name:'pikachu'})
CREATE (pinsir:Pokemon {pokemon_id:127, name:'pinsir'})
CREATE (poliwag:Pokemon {pokemon_id:60, name:'poliwag'})
CREATE (poliwhirl:Pokemon {pokemon_id:61, name:'poliwhirl'})
CREATE (poliwrath:Pokemon {pokemon_id:62, name:'poliwrath'})
CREATE (ponyta:Pokemon {pokemon_id:77, name:'ponyta'})
CREATE (porygon:Pokemon {pokemon_id:137, name:'porygon'})
CREATE (primeape:Pokemon {pokemon_id:57, name:'primeape'})
CREATE (psyduck:Pokemon {pokemon_id:54, name:'psyduck'})
CREATE (raichu:Pokemon {pokemon_id:26, name:'raichu'})
CREATE (rapidash:Pokemon {pokemon_id:78, name:'rapidash'})
CREATE (raticate:Pokemon {pokemon_id:20, name:'raticate'})
CREATE (rattata:Pokemon {pokemon_id:19, name:'rattata'})
CREATE (rhydon:Pokemon {pokemon_id:112, name:'rhydon'})
CREATE (rhyhorn:Pokemon {pokemon_id:111, name:'rhyhorn'})
CREATE (sandshrew:Pokemon {pokemon_id:27, name:'sandshrew'})
CREATE (sandslash:Pokemon {pokemon_id:28, name:'sandslash'})
CREATE (scyther:Pokemon {pokemon_id:123, name:'scyther'})
CREATE (seadra:Pokemon {pokemon_id:117, name:'seadra'})
CREATE (seaking:Pokemon {pokemon_id:119, name:'seaking'})
CREATE (seel:Pokemon {pokemon_id:86, name:'seel'})
CREATE (shellder:Pokemon {pokemon_id:90, name:'shellder'})
CREATE (slowbro:Pokemon {pokemon_id:80, name:'slowbro'})
CREATE (slowpoke:Pokemon {pokemon_id:79, name:'slowpoke'})
CREATE (snorlax:Pokemon {pokemon_id:143, name:'snorlax'})
CREATE (spearow:Pokemon {pokemon_id:21, name:'spearow'})
CREATE (squirtle:Pokemon {pokemon_id:7, name:'squirtle'})
CREATE (starmie:Pokemon {pokemon_id:121, name:'starmie'})
CREATE (staryu:Pokemon {pokemon_id:120, name:'staryu'})
CREATE (tangela:Pokemon {pokemon_id:114, name:'tangela'})
CREATE (tauros:Pokemon {pokemon_id:128, name:'tauros'})
CREATE (tentacool:Pokemon {pokemon_id:72, name:'tentacool'})
CREATE (tentacruel:Pokemon {pokemon_id:73, name:'tentacruel'})
CREATE (vaporeon:Pokemon {pokemon_id:134, name:'vaporeon'})
CREATE (venomoth:Pokemon {pokemon_id:49, name:'venomoth'})
CREATE (venonat:Pokemon {pokemon_id:48, name:'venonat'})
CREATE (venusaur:Pokemon {pokemon_id:3, name:'venusaur'})
CREATE (victreebel:Pokemon {pokemon_id:71, name:'victreebel'})
CREATE (vileplume:Pokemon {pokemon_id:45, name:'vileplume'})
CREATE (voltorb:Pokemon {pokemon_id:100, name:'voltorb'})
CREATE (vulpix:Pokemon {pokemon_id:37, name:'vulpix'})
CREATE (wartortle:Pokemon {pokemon_id:8, name:'wartortle'})
CREATE (weedle:Pokemon {pokemon_id:13, name:'weedle'})
CREATE (weepinbell:Pokemon {pokemon_id:70, name:'weepinbell'})
CREATE (weezing:Pokemon {pokemon_id:110, name:'weezing'})
CREATE (wigglytuff:Pokemon {pokemon_id:40, name:'wigglytuff'})
CREATE (zapdos:Pokemon {pokemon_id:145, name:'zapdos'})
CREATE (zubat:Pokemon {pokemon_id:41, name:'zubat'})
CREATE (abra)-[abra_kadabra:evolves_to{trigger:'level_up',min_level:16,pokemongo_candy:25}]->(kadabra)
CREATE (bellsprout)-[bellsprout_weepinbell:evolves_to{trigger:'level_up',min_level:21,pokemongo_candy:25}]->(weepinbell)
CREATE (bulbasaur)-[bulbasaur_ivysaur:evolves_to{trigger:'level_up',min_level:16,pokemongo_candy:25}]->(ivysaur)
CREATE (caterpie)-[caterpie_metapod:evolves_to{trigger:'level_up',min_level:7,pokemongo_candy:12}]->(metapod)
CREATE (charmander)-[charmander_charmeleon:evolves_to{trigger:'level_up',min_level:16,pokemongo_candy:25}]->(charmeleon)
CREATE (charmeleon)-[charmeleon_charizard:evolves_to{trigger:'level_up',min_level:36,pokemongo_candy:100}]->(charizard)
CREATE (clefairy)-[clefairy_clefable:evolves_to{trigger:'use_item',item:'moon_stone',pokemongo_candy:50}]->(clefable)
CREATE (cubone)-[cubone_marowak:evolves_to{trigger:'level_up',min_level:28,pokemongo_candy:50}]->(marowak)
CREATE (diglett)-[diglett_dugtrio:evolves_to{trigger:'level_up',min_level:26,pokemongo_candy:50}]->(dugtrio)
CREATE (doduo)-[doduo_dodrio:evolves_to{trigger:'level_up',min_level:31,pokemongo_candy:50}]->(dodrio)
CREATE (dragonair)-[dragonair_dragonite:evolves_to{trigger:'level_up',min_level:55,pokemongo_candy:100}]->(dragonite)
CREATE (dratini)-[dratini_dragonair:evolves_to{trigger:'level_up',min_level:30,pokemongo_candy:25}]->(dragonair)
CREATE (drowzee)-[drowzee_hypno:evolves_to{trigger:'level_up',min_level:26,pokemongo_candy:50}]->(hypno)
CREATE (eevee)-[eevee_vaporeon:evolves_to{trigger:'use_item',item:'water_stone',pokemongo_candy:25}]->(vaporeon)
CREATE (eevee)-[eevee_jolteon:evolves_to{trigger:'use_item',item:'thunder_stone',pokemongo_candy:25}]->(jolteon)
CREATE (eevee)-[eevee_flareon:evolves_to{trigger:'use_item',item:'fire_stone',pokemongo_candy:25}]->(flareon)
CREATE (ekans)-[ekans_arbok:evolves_to{trigger:'level_up',min_level:22,pokemongo_candy:50}]->(arbok)
CREATE (exeggcute)-[exeggcute_exeggutor:evolves_to{trigger:'use_item',item:'leaf_stone',pokemongo_candy:50}]->(exeggutor)
CREATE (gastly)-[gastly_haunter:evolves_to{trigger:'level_up',min_level:25,pokemongo_candy:25}]->(haunter)
CREATE (geodude)-[geodude_graveler:evolves_to{trigger:'level_up',min_level:25,pokemongo_candy:25}]->(graveler)
CREATE (gloom)-[gloom_vileplume:evolves_to{trigger:'use_item',item:'leaf_stone',pokemongo_candy:100}]->(vileplume)
CREATE (goldeen)-[goldeen_seaking:evolves_to{trigger:'level_up',min_level:33,pokemongo_candy:50}]->(seaking)
CREATE (graveler)-[graveler_golem:evolves_to{trigger:'trade',pokemongo_candy:100}]->(golem)
CREATE (grimer)-[grimer_muk:evolves_to{trigger:'level_up',min_level:38,pokemongo_candy:50}]->(muk)
CREATE (growlithe)-[growlithe_arcanine:evolves_to{trigger:'use_item',item:'fire_stone',pokemongo_candy:50}]->(arcanine)
CREATE (haunter)-[haunter_gengar:evolves_to{trigger:'trade',pokemongo_candy:100}]->(gengar)
CREATE (horsea)-[horsea_seadra:evolves_to{trigger:'level_up',min_level:32,pokemongo_candy:50}]->(seadra)
CREATE (ivysaur)-[ivysaur_venusaur:evolves_to{trigger:'level_up',min_level:32,pokemongo_candy:100}]->(venusaur)
CREATE (jigglypuff)-[jigglypuff_wigglytuff:evolves_to{trigger:'use_item',item:'moon_stone',pokemongo_candy:50}]->(wigglytuff)
CREATE (kabuto)-[kabuto_kabutops:evolves_to{trigger:'level_up',min_level:40,pokemongo_candy:50}]->(kabutops)
CREATE (kadabra)-[kadabra_alakazam:evolves_to{trigger:'trade',pokemongo_candy:100}]->(alakazam)
CREATE (kakuna)-[kakuna_beedrill:evolves_to{trigger:'level_up',min_level:10,pokemongo_candy:50}]->(beedrill)
CREATE (koffing)-[koffing_weezing:evolves_to{trigger:'level_up',min_level:35,pokemongo_candy:50}]->(weezing)
CREATE (krabby)-[krabby_kingler:evolves_to{trigger:'level_up',min_level:28,pokemongo_candy:50}]->(kingler)
CREATE (machoke)-[machoke_machamp:evolves_to{trigger:'trade',pokemongo_candy:100}]->(machamp)
CREATE (machop)-[machop_machoke:evolves_to{trigger:'level_up',min_level:28,pokemongo_candy:25}]->(machoke)
CREATE (magikarp)-[magikarp_gyarados:evolves_to{trigger:'level_up',min_level:20,pokemongo_candy:400}]->(gyarados)
CREATE (magnemite)-[magnemite_magneton:evolves_to{trigger:'level_up',min_level:30,pokemongo_candy:50}]->(magneton)
CREATE (mankey)-[mankey_primeape:evolves_to{trigger:'level_up',min_level:28,pokemongo_candy:50}]->(primeape)
CREATE (meowth)-[meowth_persian:evolves_to{trigger:'level_up',min_level:28,pokemongo_candy:50}]->(persian)
CREATE (metapod)-[metapod_butterfree:evolves_to{trigger:'level_up',min_level:10,pokemongo_candy:50}]->(butterfree)
CREATE (nidoran_f)-[nidoran_f_nidorina:evolves_to{trigger:'level_up',min_level:16,pokemongo_candy:25}]->(nidorina)
CREATE (nidoran_m)-[nidoran_m_nidorino:evolves_to{trigger:'level_up',min_level:16,pokemongo_candy:25}]->(nidorino)
CREATE (nidorina)-[nidorina_nidoqueen:evolves_to{trigger:'use_item',item:'moon_stone',pokemongo_candy:100}]->(nidoqueen)
CREATE (nidorino)-[nidorino_nidoking:evolves_to{trigger:'use_item',item:'moon_stone',pokemongo_candy:100}]->(nidoking)
CREATE (oddish)-[oddish_gloom:evolves_to{trigger:'level_up',min_level:21,pokemongo_candy:25}]->(gloom)
CREATE (omanyte)-[omanyte_omastar:evolves_to{trigger:'level_up',min_level:40,pokemongo_candy:50}]->(omastar)
CREATE (paras)-[paras_parasect:evolves_to{trigger:'level_up',min_level:24,pokemongo_candy:50}]->(parasect)
CREATE (pidgeotto)-[pidgeotto_pidgeot:evolves_to{trigger:'level_up',min_level:36,pokemongo_candy:50}]->(pidgeot)
CREATE (pidgey)-[pidgey_pidgeotto:evolves_to{trigger:'level_up',min_level:18,pokemongo_candy:12}]->(pidgeotto)
CREATE (pikachu)-[pikachu_raichu:evolves_to{trigger:'use_item',item:'thunder_stone',pokemongo_candy:50}]->(raichu)
CREATE (poliwag)-[poliwag_poliwhirl:evolves_to{trigger:'level_up',min_level:25,pokemongo_candy:25}]->(poliwhirl)
CREATE (poliwhirl)-[poliwhirl_poliwrath:evolves_to{trigger:'use_item',item:'water_stone',pokemongo_candy:100}]->(poliwrath)
CREATE (ponyta)-[ponyta_rapidash:evolves_to{trigger:'level_up',min_level:40,pokemongo_candy:50}]->(rapidash)
CREATE (psyduck)-[psyduck_golduck:evolves_to{trigger:'level_up',min_level:33,pokemongo_candy:50}]->(golduck)
CREATE (rattata)-[rattata_raticate:evolves_to{trigger:'level_up',min_level:20,pokemongo_candy:25}]->(raticate)
CREATE (rhyhorn)-[rhyhorn_rhydon:evolves_to{trigger:'level_up',min_level:42,pokemongo_candy:50}]->(rhydon)
CREATE (sandshrew)-[sandshrew_sandslash:evolves_to{trigger:'level_up',min_level:22,pokemongo_candy:50}]->(sandslash)
CREATE (seel)-[seel_dewgong:evolves_to{trigger:'level_up',min_level:34,pokemongo_candy:50}]->(dewgong)
CREATE (shellder)-[shellder_cloyster:evolves_to{trigger:'use_item',item:'water_stone',pokemongo_candy:50}]->(cloyster)
CREATE (slowpoke)-[slowpoke_slowbro:evolves_to{trigger:'level_up',min_level:37,pokemongo_candy:50}]->(slowbro)
CREATE (spearow)-[spearow_fearow:evolves_to{trigger:'level_up',min_level:20,pokemongo_candy:50}]->(fearow)
CREATE (squirtle)-[squirtle_wartortle:evolves_to{trigger:'level_up',min_level:16,pokemongo_candy:25}]->(wartortle)
CREATE (staryu)-[staryu_starmie:evolves_to{trigger:'use_item',item:'water_stone',pokemongo_candy:50}]->(starmie)
CREATE (tentacool)-[tentacool_tentacruel:evolves_to{trigger:'level_up',min_level:30,pokemongo_candy:50}]->(tentacruel)
CREATE (venonat)-[venonat_venomoth:evolves_to{trigger:'level_up',min_level:31,pokemongo_candy:50}]->(venomoth)
CREATE (voltorb)-[voltorb_electrode:evolves_to{trigger:'level_up',min_level:30,pokemongo_candy:50}]->(electrode)
CREATE (vulpix)-[vulpix_ninetales:evolves_to{trigger:'use_item',item:'fire_stone',pokemongo_candy:50}]->(ninetales)
CREATE (wartortle)-[wartortle_blastoise:evolves_to{trigger:'level_up',min_level:36,pokemongo_candy:100}]->(blastoise)
CREATE (weedle)-[weedle_kakuna:evolves_to{trigger:'level_up',min_level:7,pokemongo_candy:12}]->(kakuna)
CREATE (weepinbell)-[weepinbell_victreebel:evolves_to{trigger:'use_item',item:'leaf_stone',pokemongo_candy:100}]->(victreebel)
CREATE (zubat)-[zubat_golbat:evolves_to{trigger:'level_up',min_level:22,pokemongo_candy:50}]->(golbat)
CREATE(normal:Type {name:'normal'})
CREATE(fighting:Type {name:'fighting'})
CREATE(flying:Type {name:'flying'})
CREATE(poison:Type {name:'poison'})
CREATE(ground:Type {name:'ground'})
CREATE(rock:Type {name:'rock'})
CREATE(bug:Type {name:'bug'})
CREATE(ghost:Type {name:'ghost'})
CREATE(steel:Type {name:'steel'})
CREATE(fire:Type {name:'fire'})
CREATE(water:Type {name:'water'})
CREATE(grass:Type {name:'grass'})
CREATE(electric:Type {name:'electric'})
CREATE(psychic:Type {name:'psychic'})
CREATE(ice:Type {name:'ice'})
CREATE(dragon:Type {name:'dragon'})
CREATE(dark:Type {name:'dark'})
CREATE(fairy:Type {name:'fairy'})
CREATE(unknown:Type {name:'unknown'})
CREATE(shadow:Type {name:'shadow'})
CREATE (abra)-[abra_psychic:type1]->(psychic)
CREATE (aerodactyl)-[aerodactyl_flying:type1]->(flying)
CREATE (aerodactyl)-[aerodactyl_rock:type2]->(rock)
CREATE (alakazam)-[alakazam_psychic:type1]->(psychic)
CREATE (arbok)-[arbok_poison:type1]->(poison)
CREATE (arcanine)-[arcanine_fire:type1]->(fire)
CREATE (articuno)-[articuno_flying:type1]->(flying)
CREATE (articuno)-[articuno_ice:type2]->(ice)
CREATE (beedrill)-[beedrill_poison:type1]->(poison)
CREATE (beedrill)-[beedrill_bug:type2]->(bug)
CREATE (bellsprout)-[bellsprout_poison:type1]->(poison)
CREATE (bellsprout)-[bellsprout_grass:type2]->(grass)
CREATE (blastoise)-[blastoise_water:type1]->(water)
CREATE (bulbasaur)-[bulbasaur_poison:type1]->(poison)
CREATE (bulbasaur)-[bulbasaur_grass:type2]->(grass)
CREATE (butterfree)-[butterfree_flying:type1]->(flying)
CREATE (butterfree)-[butterfree_bug:type2]->(bug)
CREATE (caterpie)-[caterpie_bug:type1]->(bug)
CREATE (chansey)-[chansey_normal:type1]->(normal)
CREATE (charizard)-[charizard_flying:type1]->(flying)
CREATE (charizard)-[charizard_fire:type2]->(fire)
CREATE (charmander)-[charmander_fire:type1]->(fire)
CREATE (charmeleon)-[charmeleon_fire:type1]->(fire)
CREATE (clefable)-[clefable_fairy:type1]->(fairy)
CREATE (clefairy)-[clefairy_fairy:type1]->(fairy)
CREATE (cloyster)-[cloyster_ice:type1]->(ice)
CREATE (cloyster)-[cloyster_water:type2]->(water)
CREATE (cubone)-[cubone_ground:type1]->(ground)
CREATE (dewgong)-[dewgong_ice:type1]->(ice)
CREATE (dewgong)-[dewgong_water:type2]->(water)
CREATE (diglett)-[diglett_ground:type1]->(ground)
CREATE (ditto)-[ditto_normal:type1]->(normal)
CREATE (dodrio)-[dodrio_flying:type1]->(flying)
CREATE (dodrio)-[dodrio_normal:type2]->(normal)
CREATE (doduo)-[doduo_flying:type1]->(flying)
CREATE (doduo)-[doduo_normal:type2]->(normal)
CREATE (dragonair)-[dragonair_dragon:type1]->(dragon)
CREATE (dragonite)-[dragonite_flying:type1]->(flying)
CREATE (dragonite)-[dragonite_dragon:type2]->(dragon)
CREATE (dratini)-[dratini_dragon:type1]->(dragon)
CREATE (drowzee)-[drowzee_psychic:type1]->(psychic)
CREATE (dugtrio)-[dugtrio_ground:type1]->(ground)
CREATE (eevee)-[eevee_normal:type1]->(normal)
CREATE (ekans)-[ekans_poison:type1]->(poison)
CREATE (electabuzz)-[electabuzz_electric:type1]->(electric)
CREATE (electrode)-[electrode_electric:type1]->(electric)
CREATE (exeggcute)-[exeggcute_psychic:type1]->(psychic)
CREATE (exeggcute)-[exeggcute_grass:type2]->(grass)
CREATE (exeggutor)-[exeggutor_psychic:type1]->(psychic)
CREATE (exeggutor)-[exeggutor_grass:type2]->(grass)
CREATE (farfetchd)-[farfetchd_flying:type1]->(flying)
CREATE (farfetchd)-[farfetchd_normal:type2]->(normal)
CREATE (fearow)-[fearow_flying:type1]->(flying)
CREATE (fearow)-[fearow_normal:type2]->(normal)
CREATE (flareon)-[flareon_fire:type1]->(fire)
CREATE (gastly)-[gastly_poison:type1]->(poison)
CREATE (gastly)-[gastly_ghost:type2]->(ghost)
CREATE (gengar)-[gengar_poison:type1]->(poison)
CREATE (gengar)-[gengar_ghost:type2]->(ghost)
CREATE (geodude)-[geodude_ground:type1]->(ground)
CREATE (geodude)-[geodude_rock:type2]->(rock)
CREATE (gloom)-[gloom_poison:type1]->(poison)
CREATE (gloom)-[gloom_grass:type2]->(grass)
CREATE (golbat)-[golbat_flying:type1]->(flying)
CREATE (golbat)-[golbat_poison:type2]->(poison)
CREATE (goldeen)-[goldeen_water:type1]->(water)
CREATE (golduck)-[golduck_water:type1]->(water)
CREATE (golem)-[golem_ground:type1]->(ground)
CREATE (golem)-[golem_rock:type2]->(rock)
CREATE (graveler)-[graveler_ground:type1]->(ground)
CREATE (graveler)-[graveler_rock:type2]->(rock)
CREATE (grimer)-[grimer_poison:type1]->(poison)
CREATE (growlithe)-[growlithe_fire:type1]->(fire)
CREATE (gyarados)-[gyarados_flying:type1]->(flying)
CREATE (gyarados)-[gyarados_water:type2]->(water)
CREATE (haunter)-[haunter_poison:type1]->(poison)
CREATE (haunter)-[haunter_ghost:type2]->(ghost)
CREATE (hitmonchan)-[hitmonchan_fighting:type1]->(fighting)
CREATE (hitmonlee)-[hitmonlee_fighting:type1]->(fighting)
CREATE (horsea)-[horsea_water:type1]->(water)
CREATE (hypno)-[hypno_psychic:type1]->(psychic)
CREATE (ivysaur)-[ivysaur_poison:type1]->(poison)
CREATE (ivysaur)-[ivysaur_grass:type2]->(grass)
CREATE (jigglypuff)-[jigglypuff_fairy:type1]->(fairy)
CREATE (jigglypuff)-[jigglypuff_normal:type2]->(normal)
CREATE (jolteon)-[jolteon_electric:type1]->(electric)
CREATE (jynx)-[jynx_psychic:type1]->(psychic)
CREATE (jynx)-[jynx_ice:type2]->(ice)
CREATE (kabuto)-[kabuto_water:type1]->(water)
CREATE (kabuto)-[kabuto_rock:type2]->(rock)
CREATE (kabutops)-[kabutops_water:type1]->(water)
CREATE (kabutops)-[kabutops_rock:type2]->(rock)
CREATE (kadabra)-[kadabra_psychic:type1]->(psychic)
CREATE (kakuna)-[kakuna_poison:type1]->(poison)
CREATE (kakuna)-[kakuna_bug:type2]->(bug)
CREATE (kangaskhan)-[kangaskhan_normal:type1]->(normal)
CREATE (kingler)-[kingler_water:type1]->(water)
CREATE (koffing)-[koffing_poison:type1]->(poison)
CREATE (krabby)-[krabby_water:type1]->(water)
CREATE (lapras)-[lapras_ice:type1]->(ice)
CREATE (lapras)-[lapras_water:type2]->(water)
CREATE (lickitung)-[lickitung_normal:type1]->(normal)
CREATE (machamp)-[machamp_fighting:type1]->(fighting)
CREATE (machoke)-[machoke_fighting:type1]->(fighting)
CREATE (machop)-[machop_fighting:type1]->(fighting)
CREATE (magikarp)-[magikarp_water:type1]->(water)
CREATE (magmar)-[magmar_fire:type1]->(fire)
CREATE (magnemite)-[magnemite_steel:type1]->(steel)
CREATE (magnemite)-[magnemite_electric:type2]->(electric)
CREATE (magneton)-[magneton_steel:type1]->(steel)
CREATE (magneton)-[magneton_electric:type2]->(electric)
CREATE (mankey)-[mankey_fighting:type1]->(fighting)
CREATE (marowak)-[marowak_ground:type1]->(ground)
CREATE (meowth)-[meowth_normal:type1]->(normal)
CREATE (metapod)-[metapod_bug:type1]->(bug)
CREATE (mew)-[mew_psychic:type1]->(psychic)
CREATE (mewtwo)-[mewtwo_psychic:type1]->(psychic)
CREATE (moltres)-[moltres_flying:type1]->(flying)
CREATE (moltres)-[moltres_fire:type2]->(fire)
CREATE (mr_mime)-[mr_mime_fairy:type1]->(fairy)
CREATE (mr_mime)-[mr_mime_psychic:type2]->(psychic)
CREATE (muk)-[muk_poison:type1]->(poison)
CREATE (nidoking)-[nidoking_ground:type1]->(ground)
CREATE (nidoking)-[nidoking_poison:type2]->(poison)
CREATE (nidoqueen)-[nidoqueen_ground:type1]->(ground)
CREATE (nidoqueen)-[nidoqueen_poison:type2]->(poison)
CREATE (nidoran_f)-[nidoran_f_poison:type1]->(poison)
CREATE (nidoran_m)-[nidoran_m_poison:type1]->(poison)
CREATE (nidorina)-[nidorina_poison:type1]->(poison)
CREATE (nidorino)-[nidorino_poison:type1]->(poison)
CREATE (ninetales)-[ninetales_fire:type1]->(fire)
CREATE (oddish)-[oddish_poison:type1]->(poison)
CREATE (oddish)-[oddish_grass:type2]->(grass)
CREATE (omanyte)-[omanyte_water:type1]->(water)
CREATE (omanyte)-[omanyte_rock:type2]->(rock)
CREATE (omastar)-[omastar_water:type1]->(water)
CREATE (omastar)-[omastar_rock:type2]->(rock)
CREATE (onix)-[onix_ground:type1]->(ground)
CREATE (onix)-[onix_rock:type2]->(rock)
CREATE (paras)-[paras_grass:type1]->(grass)
CREATE (paras)-[paras_bug:type2]->(bug)
CREATE (parasect)-[parasect_grass:type1]->(grass)
CREATE (parasect)-[parasect_bug:type2]->(bug)
CREATE (persian)-[persian_normal:type1]->(normal)
CREATE (pidgeot)-[pidgeot_flying:type1]->(flying)
CREATE (pidgeot)-[pidgeot_normal:type2]->(normal)
CREATE (pidgeotto)-[pidgeotto_flying:type1]->(flying)
CREATE (pidgeotto)-[pidgeotto_normal:type2]->(normal)
CREATE (pidgey)-[pidgey_flying:type1]->(flying)
CREATE (pidgey)-[pidgey_normal:type2]->(normal)
CREATE (pikachu)-[pikachu_electric:type1]->(electric)
CREATE (pinsir)-[pinsir_bug:type1]->(bug)
CREATE (poliwag)-[poliwag_water:type1]->(water)
CREATE (poliwhirl)-[poliwhirl_water:type1]->(water)
CREATE (poliwrath)-[poliwrath_fighting:type1]->(fighting)
CREATE (poliwrath)-[poliwrath_water:type2]->(water)
CREATE (ponyta)-[ponyta_fire:type1]->(fire)
CREATE (porygon)-[porygon_normal:type1]->(normal)
CREATE (primeape)-[primeape_fighting:type1]->(fighting)
CREATE (psyduck)-[psyduck_water:type1]->(water)
CREATE (raichu)-[raichu_electric:type1]->(electric)
CREATE (rapidash)-[rapidash_fire:type1]->(fire)
CREATE (raticate)-[raticate_normal:type1]->(normal)
CREATE (rattata)-[rattata_normal:type1]->(normal)
CREATE (rhydon)-[rhydon_rock:type1]->(rock)
CREATE (rhydon)-[rhydon_ground:type2]->(ground)
CREATE (rhyhorn)-[rhyhorn_rock:type1]->(rock)
CREATE (rhyhorn)-[rhyhorn_ground:type2]->(ground)
CREATE (sandshrew)-[sandshrew_ground:type1]->(ground)
CREATE (sandslash)-[sandslash_ground:type1]->(ground)
CREATE (scyther)-[scyther_flying:type1]->(flying)
CREATE (scyther)-[scyther_bug:type2]->(bug)
CREATE (seadra)-[seadra_water:type1]->(water)
CREATE (seaking)-[seaking_water:type1]->(water)
CREATE (seel)-[seel_water:type1]->(water)
CREATE (shellder)-[shellder_water:type1]->(water)
CREATE (slowbro)-[slowbro_psychic:type1]->(psychic)
CREATE (slowbro)-[slowbro_water:type2]->(water)
CREATE (slowpoke)-[slowpoke_psychic:type1]->(psychic)
CREATE (slowpoke)-[slowpoke_water:type2]->(water)
CREATE (snorlax)-[snorlax_normal:type1]->(normal)
CREATE (spearow)-[spearow_flying:type1]->(flying)
CREATE (spearow)-[spearow_normal:type2]->(normal)
CREATE (squirtle)-[squirtle_water:type1]->(water)
CREATE (starmie)-[starmie_psychic:type1]->(psychic)
CREATE (starmie)-[starmie_water:type2]->(water)
CREATE (staryu)-[staryu_water:type1]->(water)
CREATE (tangela)-[tangela_grass:type1]->(grass)
CREATE (tauros)-[tauros_normal:type1]->(normal)
CREATE (tentacool)-[tentacool_poison:type1]->(poison)
CREATE (tentacool)-[tentacool_water:type2]->(water)
CREATE (tentacruel)-[tentacruel_poison:type1]->(poison)
CREATE (tentacruel)-[tentacruel_water:type2]->(water)
CREATE (vaporeon)-[vaporeon_water:type1]->(water)
CREATE (venomoth)-[venomoth_poison:type1]->(poison)
CREATE (venomoth)-[venomoth_bug:type2]->(bug)
CREATE (venonat)-[venonat_poison:type1]->(poison)
CREATE (venonat)-[venonat_bug:type2]->(bug)
CREATE (venusaur)-[venusaur_poison:type1]->(poison)
CREATE (venusaur)-[venusaur_grass:type2]->(grass)
CREATE (victreebel)-[victreebel_poison:type1]->(poison)
CREATE (victreebel)-[victreebel_grass:type2]->(grass)
CREATE (vileplume)-[vileplume_poison:type1]->(poison)
CREATE (vileplume)-[vileplume_grass:type2]->(grass)
CREATE (voltorb)-[voltorb_electric:type1]->(electric)
CREATE (vulpix)-[vulpix_fire:type1]->(fire)
CREATE (wartortle)-[wartortle_water:type1]->(water)
CREATE (weedle)-[weedle_poison:type1]->(poison)
CREATE (weedle)-[weedle_bug:type2]->(bug)
CREATE (weepinbell)-[weepinbell_poison:type1]->(poison)
CREATE (weepinbell)-[weepinbell_grass:type2]->(grass)
CREATE (weezing)-[weezing_poison:type1]->(poison)
CREATE (wigglytuff)-[wigglytuff_fairy:type1]->(fairy)
CREATE (wigglytuff)-[wigglytuff_normal:type2]->(normal)
CREATE (zapdos)-[zapdos_flying:type1]->(flying)
CREATE (zapdos)-[zapdos_electric:type2]->(electric)
CREATE (zubat)-[zubat_flying:type1]->(flying)
CREATE (zubat)-[zubat_poison:type2]->(poison)
CREATE(bug)-[bug_double_damage_to_grass:double_damage_to]->(grass)
CREATE(bug)-[bug_double_damage_to_psychic:double_damage_to]->(psychic)
CREATE(bug)-[bug_double_damage_to_dark:double_damage_to]->(dark)
CREATE(bug)-[bug_half_damage_to_fighting:half_damage_to]->(fighting)
CREATE(bug)-[bug_half_damage_to_flying:half_damage_to]->(flying)
CREATE(bug)-[bug_half_damage_to_poison:half_damage_to]->(poison)
CREATE(bug)-[bug_half_damage_to_ghost:half_damage_to]->(ghost)
CREATE(bug)-[bug_half_damage_to_steel:half_damage_to]->(steel)
CREATE(bug)-[bug_half_damage_to_fire:half_damage_to]->(fire)
CREATE(bug)-[bug_half_damage_to_fairy:half_damage_to]->(fairy)
CREATE(dark)-[dark_double_damage_to_ghost:double_damage_to]->(ghost)
CREATE(dark)-[dark_double_damage_to_psychic:double_damage_to]->(psychic)
CREATE(dark)-[dark_half_damage_to_fighting:half_damage_to]->(fighting)
CREATE(dark)-[dark_half_damage_to_dark:half_damage_to]->(dark)
CREATE(dark)-[dark_half_damage_to_fairy:half_damage_to]->(fairy)
CREATE(dragon)-[dragon_double_damage_to_dragon:double_damage_to]->(dragon)
CREATE(dragon)-[dragon_half_damage_to_steel:half_damage_to]->(steel)
CREATE(dragon)-[dragon_no_damage_to_fairy:no_damage_to]->(fairy)
CREATE(electric)-[electric_double_damage_to_flying:double_damage_to]->(flying)
CREATE(electric)-[electric_double_damage_to_water:double_damage_to]->(water)
CREATE(electric)-[electric_half_damage_to_grass:half_damage_to]->(grass)
CREATE(electric)-[electric_half_damage_to_electric:half_damage_to]->(electric)
CREATE(electric)-[electric_half_damage_to_dragon:half_damage_to]->(dragon)
CREATE(electric)-[electric_no_damage_to_ground:no_damage_to]->(ground)
CREATE(fairy)-[fairy_double_damage_to_fighting:double_damage_to]->(fighting)
CREATE(fairy)-[fairy_double_damage_to_dragon:double_damage_to]->(dragon)
CREATE(fairy)-[fairy_double_damage_to_dark:double_damage_to]->(dark)
CREATE(fairy)-[fairy_half_damage_to_poison:half_damage_to]->(poison)
CREATE(fairy)-[fairy_half_damage_to_steel:half_damage_to]->(steel)
CREATE(fairy)-[fairy_half_damage_to_fire:half_damage_to]->(fire)
CREATE(fighting)-[fighting_double_damage_to_normal:double_damage_to]->(normal)
CREATE(fighting)-[fighting_double_damage_to_rock:double_damage_to]->(rock)
CREATE(fighting)-[fighting_double_damage_to_steel:double_damage_to]->(steel)
CREATE(fighting)-[fighting_double_damage_to_ice:double_damage_to]->(ice)
CREATE(fighting)-[fighting_double_damage_to_dark:double_damage_to]->(dark)
CREATE(fighting)-[fighting_half_damage_to_flying:half_damage_to]->(flying)
CREATE(fighting)-[fighting_half_damage_to_poison:half_damage_to]->(poison)
CREATE(fighting)-[fighting_half_damage_to_bug:half_damage_to]->(bug)
CREATE(fighting)-[fighting_half_damage_to_psychic:half_damage_to]->(psychic)
CREATE(fighting)-[fighting_half_damage_to_fairy:half_damage_to]->(fairy)
CREATE(fighting)-[fighting_no_damage_to_ghost:no_damage_to]->(ghost)
CREATE(fire)-[fire_double_damage_to_bug:double_damage_to]->(bug)
CREATE(fire)-[fire_double_damage_to_steel:double_damage_to]->(steel)
CREATE(fire)-[fire_double_damage_to_grass:double_damage_to]->(grass)
CREATE(fire)-[fire_double_damage_to_ice:double_damage_to]->(ice)
CREATE(fire)-[fire_half_damage_to_rock:half_damage_to]->(rock)
CREATE(fire)-[fire_half_damage_to_fire:half_damage_to]->(fire)
CREATE(fire)-[fire_half_damage_to_water:half_damage_to]->(water)
CREATE(fire)-[fire_half_damage_to_dragon:half_damage_to]->(dragon)
CREATE(flying)-[flying_double_damage_to_fighting:double_damage_to]->(fighting)
CREATE(flying)-[flying_double_damage_to_bug:double_damage_to]->(bug)
CREATE(flying)-[flying_double_damage_to_grass:double_damage_to]->(grass)
CREATE(flying)-[flying_half_damage_to_rock:half_damage_to]->(rock)
CREATE(flying)-[flying_half_damage_to_steel:half_damage_to]->(steel)
CREATE(flying)-[flying_half_damage_to_electric:half_damage_to]->(electric)
CREATE(ghost)-[ghost_double_damage_to_ghost:double_damage_to]->(ghost)
CREATE(ghost)-[ghost_double_damage_to_psychic:double_damage_to]->(psychic)
CREATE(ghost)-[ghost_half_damage_to_dark:half_damage_to]->(dark)
CREATE(ghost)-[ghost_no_damage_to_normal:no_damage_to]->(normal)
CREATE(grass)-[grass_double_damage_to_ground:double_damage_to]->(ground)
CREATE(grass)-[grass_double_damage_to_rock:double_damage_to]->(rock)
CREATE(grass)-[grass_double_damage_to_water:double_damage_to]->(water)
CREATE(grass)-[grass_half_damage_to_flying:half_damage_to]->(flying)
CREATE(grass)-[grass_half_damage_to_poison:half_damage_to]->(poison)
CREATE(grass)-[grass_half_damage_to_bug:half_damage_to]->(bug)
CREATE(grass)-[grass_half_damage_to_steel:half_damage_to]->(steel)
CREATE(grass)-[grass_half_damage_to_fire:half_damage_to]->(fire)
CREATE(grass)-[grass_half_damage_to_grass:half_damage_to]->(grass)
CREATE(grass)-[grass_half_damage_to_dragon:half_damage_to]->(dragon)
CREATE(ground)-[ground_double_damage_to_poison:double_damage_to]->(poison)
CREATE(ground)-[ground_double_damage_to_rock:double_damage_to]->(rock)
CREATE(ground)-[ground_double_damage_to_steel:double_damage_to]->(steel)
CREATE(ground)-[ground_double_damage_to_fire:double_damage_to]->(fire)
CREATE(ground)-[ground_double_damage_to_electric:double_damage_to]->(electric)
CREATE(ground)-[ground_half_damage_to_bug:half_damage_to]->(bug)
CREATE(ground)-[ground_half_damage_to_grass:half_damage_to]->(grass)
CREATE(ground)-[ground_no_damage_to_flying:no_damage_to]->(flying)
CREATE(ice)-[ice_double_damage_to_flying:double_damage_to]->(flying)
CREATE(ice)-[ice_double_damage_to_ground:double_damage_to]->(ground)
CREATE(ice)-[ice_double_damage_to_grass:double_damage_to]->(grass)
CREATE(ice)-[ice_double_damage_to_dragon:double_damage_to]->(dragon)
CREATE(ice)-[ice_half_damage_to_steel:half_damage_to]->(steel)
CREATE(ice)-[ice_half_damage_to_fire:half_damage_to]->(fire)
CREATE(ice)-[ice_half_damage_to_water:half_damage_to]->(water)
CREATE(ice)-[ice_half_damage_to_ice:half_damage_to]->(ice)
CREATE(normal)-[normal_half_damage_to_rock:half_damage_to]->(rock)
CREATE(normal)-[normal_half_damage_to_steel:half_damage_to]->(steel)
CREATE(normal)-[normal_no_damage_to_ghost:no_damage_to]->(ghost)
CREATE(poison)-[poison_double_damage_to_grass:double_damage_to]->(grass)
CREATE(poison)-[poison_double_damage_to_fairy:double_damage_to]->(fairy)
CREATE(poison)-[poison_half_damage_to_poison:half_damage_to]->(poison)
CREATE(poison)-[poison_half_damage_to_ground:half_damage_to]->(ground)
CREATE(poison)-[poison_half_damage_to_rock:half_damage_to]->(rock)
CREATE(poison)-[poison_half_damage_to_ghost:half_damage_to]->(ghost)
CREATE(poison)-[poison_no_damage_to_steel:no_damage_to]->(steel)
CREATE(psychic)-[psychic_double_damage_to_fighting:double_damage_to]->(fighting)
CREATE(psychic)-[psychic_double_damage_to_poison:double_damage_to]->(poison)
CREATE(psychic)-[psychic_half_damage_to_steel:half_damage_to]->(steel)
CREATE(psychic)-[psychic_half_damage_to_psychic:half_damage_to]->(psychic)
CREATE(psychic)-[psychic_no_damage_to_dark:no_damage_to]->(dark)
CREATE(rock)-[rock_double_damage_to_flying:double_damage_to]->(flying)
CREATE(rock)-[rock_double_damage_to_bug:double_damage_to]->(bug)
CREATE(rock)-[rock_double_damage_to_fire:double_damage_to]->(fire)
CREATE(rock)-[rock_double_damage_to_ice:double_damage_to]->(ice)
CREATE(rock)-[rock_half_damage_to_fighting:half_damage_to]->(fighting)
CREATE(rock)-[rock_half_damage_to_ground:half_damage_to]->(ground)
CREATE(rock)-[rock_half_damage_to_steel:half_damage_to]->(steel)
CREATE(steel)-[steel_double_damage_to_rock:double_damage_to]->(rock)
CREATE(steel)-[steel_double_damage_to_ice:double_damage_to]->(ice)
CREATE(steel)-[steel_double_damage_to_fairy:double_damage_to]->(fairy)
CREATE(steel)-[steel_half_damage_to_steel:half_damage_to]->(steel)
CREATE(steel)-[steel_half_damage_to_fire:half_damage_to]->(fire)
CREATE(steel)-[steel_half_damage_to_water:half_damage_to]->(water)
CREATE(steel)-[steel_half_damage_to_electric:half_damage_to]->(electric)
CREATE(water)-[water_double_damage_to_ground:double_damage_to]->(ground)
CREATE(water)-[water_double_damage_to_rock:double_damage_to]->(rock)
CREATE(water)-[water_double_damage_to_fire:double_damage_to]->(fire)
CREATE(water)-[water_half_damage_to_water:half_damage_to]->(water)
CREATE(water)-[water_half_damage_to_grass:half_damage_to]->(grass)
CREATE(water)-[water_half_damage_to_dragon:half_damage_to]->(dragon)
Starting with the example in Figure 1 above, this query will show the basic evolution chain from Charmander through to Charizard.
MATCH(n:Pokemon)-[r:evolves_to]-()
WHERE n.name IN ['charmander', 'charmeleon', 'charizard']
RETURN r, n
So far the result is a very simple graph. The below query will illustrate when there are multiple evolution paths. Eevee is one such Pokemon in the first generation with this scenario.
MATCH(p:Pokemon{name:'eevee'})-[:evolves_to]-(e:Pokemon)
RETURN p,e
The result illustrates a very clear view of each evolution path for Eevee. === Types The initial data load also included type relationships between different Pokemon. Each Pokemon can have between 1 and 2 types. The data set manages these by using type1 and type2 relationships. Sticking with the Eevee example, the query below will add Type information to the graph.
MATCH(p1:Pokemon{name:'eevee'})-[:type1]-(t1:Type)
MATCH(p1)-[:evolves_to]-(e1:Pokemon)-[:type1|type2]-(t2:Type)
RETURN p1,e1,t1,t2
The result is similar to the previous graph with the addition of Pokemon types. As an added bonus it also shows type advantages and disadvantages of the Pokemon Eevee can evolve into. This proves useful by adding another unrelated Pokemon type.
The query below adds ground type to the graph. In the hypothetical situation where a trainer wants to base their Eevee evolution path on an upcoming battle against a ground type Pokemon, this graph shows clearly (with a little bit of dragging) the advantages and disadvantages of each path.
MATCH(p1:Pokemon{name:'eevee'})-[:type1]-(t1:Type)
MATCH(p1)-[:evolves_to]-(e1:Pokemon)-[:type1|type2]-(t2:Type)
MATCH(t3:Type{name:'ground'})
return p1,t1,e1,t2,t3
Other Analysis
There are a few other attributes in the evolves_to relationships, with many more on the way that let us perform other interesting analysis on the evolution relationships.
This query will display any evolution which requires an item to evolve, along with the item name. Since the query didn’t specify to return nodes and relationships, rather properties, the result needs to be displayed in a table.
match(p1:Pokemon)-[r:evolves_to]-(p2:Pokemon)
where r.trigger= 'use_item'
return p2.name, r.item, p1.name
PokemonGO (experimental stages)
There is currently experimental PokemonGO support. The following query generates a graph showing the full trail of any evolution that requires 100 or more candies. It’s important to note that the full trail is displayed, so an evolution relationship like Dragonair → Dragonite will still show Dratini in the chain to give a full picture of the evolution. To exclude this just comment out line 2 and remove p1 from the return statement in the query below.
match(n:Pokemon)-[r:evolves_to]-(p)
match(p1)-[r1:evolves_to]-(p)
where r.pokemongo_candy >= 100
return n,p,p1
Is this page helpful?