Skip to content

Instantly share code, notes, and snippets.

@joshkunken
Created December 22, 2013 03:26
Show Gist options
  • Save joshkunken/8078133 to your computer and use it in GitHub Desktop.
Save joshkunken/8078133 to your computer and use it in GitHub Desktop.
Tokyo Metro Subway System
= Representing the Tokyo Metro Subway System in neo4j
Josh Kunken <joshkunken@gmail.com>
v1.0, 22-Dec-2013
:neo4j-version: 2.0.0-RC1
:author: Josh Kunken
:twitter: joshkunken
== Domain
Representing the Tokyo Metro Subway System in neo4j
The Tokyo Metro Subway System forms part of the extensive rapid transit system within the Tokyo area of Japan.
As of 2013, the Tokyo subway system, consisting of Tokyo Metro and Toei lines, consists of 290 stations and 13 lines. Over 8 million passengers ride through the system daily. This represents only 22% of Tokyo's 40 million daily rail passengers.
A subway system is organized into multiple stations and multiple rail lines, with multiple stations served by multiple rail lines. Each rail line thus contains a link to one or more of its stations within the subway system, and multiple rail lines may share the same stations. This domain thus lends itself to be modeled as a graph. Each station and rail line can also have a distinct set of attributes and parameters which also lends itself well with the property graph model.
A rail line can have one or more stations. A station can be served by one or more rail lines. This is not a complete solution for all rail transport or transport use cases but provides a good starting point.
image::http://www.sohosci.com/tokyometro.PNG[Domain Model]
== Setup
The sample data set uses a pharmaceutical portfolio.
//hide
//setup
//output
[source,cypher]
----
CREATE (subwaySystem:System{ name:'Tokyo Metro Subway System'})
CREATE (trainlines:Category { name:'TrainLines'})
CREATE trainlines-[:PARENT]->subwaySystem
CREATE (stations:Category { name:'Stations'})
CREATE stations-[:PARENT]->subwaySystem
CREATE (m:Category { name:'M'})
CREATE m-[:PARENT]->trainlines
CREATE (y:Category { name:'Y'})
CREATE y-[:PARENT]->trainlines
CREATE (f:Category { name:'F'})
CREATE f-[:PARENT]->trainlines
CREATE (c:Category { name:'C'})
CREATE c-[:PARENT]->trainlines
CREATE (t:Category { name:'T'})
CREATE t-[:PARENT]->trainlines
CREATE (z:Category { name:'Z'})
CREATE z-[:PARENT]->trainlines
CREATE (g:Category { name:'G'})
CREATE g-[:PARENT]->trainlines
CREATE (h:Category { name:'H'})
CREATE h-[:PARENT]->trainlines
CREATE (n:Category { name:'N'})
CREATE n-[:PARENT]->trainlines
CREATE Ikebukuro_Station-[:PARENT]->stations
CREATE Kita_Senju_Station-[:PARENT]->stations
CREATE Otemachi_Station-[:PARENT]->stations
CREATE Ginza_Station-[:PARENT]->stations
CREATE Shibuya_Station-[:PARENT]->stations
CREATE Shimbashi_Station-[:PARENT]->stations
CREATE Shinjuku_Station-[:PARENT]->stations
CREATE Ueno_Station-[:PARENT]->stations
CREATE Takadanobaba_Station-[:PARENT]->stations
CREATE Iidabashi_Station-[:PARENT]->stations
CREATE Nihombashi_Station-[:PARENT]->stations
CREATE Tokyo_Station-[:PARENT]->stations
CREATE Nishi_Nippori_Station-[:PARENT]->stations
CREATE Toyosu_Station-[:PARENT]->stations
CREATE Yurakucho_Station-[:PARENT]->stations
CREATE Omotesando_Station-[:PARENT]->stations
CREATE Kudanshita_Station-[:PARENT]->stations
CREATE Tameike_Sanno_Station-[:PARENT]->stations
CREATE Kasumigaseki_Station-[:PARENT]->stations
CREATE Toyocho_Station-[:PARENT]->stations
CREATE Ichigaya_Station-[:PARENT]->stations
CREATE Akihabara_Station-[:PARENT]->stations
CREATE Roppongi_Station-[:PARENT]->stations
CREATE Kayabacho_Station-[:PARENT]->stations
CREATE Mitsukoshimae_Station-[:PARENT]->stations
CREATE Monzen_Nakacho_Station-[:PARENT]->stations
CREATE Hatchobori_Station-[:PARENT]->stations
CREATE Toranomon_Station-[:PARENT]->stations
CREATE Yotsuya_Station-[:PARENT]->stations
CREATE Akasaka_Mitsuke_Station-[:PARENT]->stations
CREATE Aoyama_Itchome_Station-[:PARENT]->stations
CREATE Shinjuku_Sanchome_Station-[:PARENT]->stations
CREATE Kasai_Station-[:PARENT]->stations
CREATE Ebisu_Station-[:PARENT]->stations
CREATE Nishi_Kasai_Station-[:PARENT]->stations
CREATE Shin_Kiba_Station-[:PARENT]->stations
CREATE Asakusa_Station-[:PARENT]->stations
CREATE Hibiya_Station-[:PARENT]->stations
CREATE Korakuen_Station-[:PARENT]->stations
CREATE Shin_Ochanomizu_Station-[:PARENT]->stations
CREATE Jimbocho_Station-[:PARENT]->stations
CREATE Kinshicho_Station-[:PARENT]->stations
CREATE Akasaka_Station-[:PARENT]->stations
CREATE Ningyocho_Station-[:PARENT]->stations
CREATE Kamiyacho_Station-[:PARENT]->stations
CREATE Gaienmae_Station-[:PARENT]->stations
CREATE Urayasu_Station-[:PARENT]->stations
CREATE Kiba_Station-[:PARENT]->stations
CREATE Higashi_Ginza_Station-[:PARENT]->stations
CREATE Meiji_Jingumae_Station-[:PARENT]->stations
CREATE Hanzomon_Station-[:PARENT]->stations
CREATE Waseda_Station-[:PARENT]->stations
CREATE Ogikubo_Station-[:PARENT]->stations
CREATE Suitengumae_Station-[:PARENT]->stations
CREATE Tsukiji_Station-[:PARENT]->stations
CREATE Myogadani_Station-[:PARENT]->stations
CREATE Nakano_Sakaue_Station-[:PARENT]->stations
CREATE Nagatacho_Station-[:PARENT]->stations
CREATE Tsukishima_Station-[:PARENT]->stations
CREATE Minami_Sunamachi_Station-[:PARENT]->stations
CREATE Hiroo_Station-[:PARENT]->stations
CREATE Oji_Station-[:PARENT]->stations
CREATE Machiya_Station-[:PARENT]->stations
CREATE Gyotoku_Station-[:PARENT]->stations
CREATE Awajicho_Station-[:PARENT]->stations
CREATE Ochanomizu_Station-[:PARENT]->stations
CREATE Kojimachi_Station-[:PARENT]->stations
CREATE Nishi_Shinjuku_Station-[:PARENT]->stations
CREATE Takebashi_Station-[:PARENT]->stations
CREATE Roppongi_Itchome_Station-[:PARENT]->stations
CREATE Kanda_Station-[:PARENT]->stations
CREATE Edogawabashi_Station-[:PARENT]->stations
CREATE Minami_Gyotoku_Station-[:PARENT]->stations
CREATE Hongo_Sanchome_Station-[:PARENT]->stations
CREATE Myoden_Station-[:PARENT]->stations
CREATE Sumiyoshi_Station-[:PARENT]->stations
CREATE Chikatetsu_Narimasu_Station-[:PARENT]->stations
CREATE Shinjuku_gyoemmae_Station-[:PARENT]->stations
CREATE Naka_Okachimachi_Station-[:PARENT]->stations
CREATE Kyobashi_Station-[:PARENT]->stations
CREATE Kiyosumi_Shirakawa_Station-[:PARENT]->stations
CREATE Azabu_Juban_Station-[:PARENT]->stations
CREATE Yotsuya_Sanchome_Station-[:PARENT]->stations
CREATE Heiwadai_Station-[:PARENT]->stations
CREATE Kagurazaka_Station-[:PARENT]->stations
CREATE Nogizaka_Station-[:PARENT]->stations
CREATE Shintomicho_Station-[:PARENT]->stations
CREATE Kodenmacho_Station-[:PARENT]->stations
CREATE Gokokuji_Station-[:PARENT]->stations
CREATE Minowa_Station-[:PARENT]->stations
CREATE Hikawadai_Station-[:PARENT]->stations
CREATE Komagome_Station-[:PARENT]->stations
CREATE Ginza_itchome_Station-[:PARENT]->stations
CREATE Kanamecho_Station-[:PARENT]->stations
CREATE Higashi_Ikebukuro_Station-[:PARENT]->stations
CREATE Senkawa_Station-[:PARENT]->stations
CREATE Shin_Koenji_Station-[:PARENT]->stations
CREATE Yushima_Station-[:PARENT]->stations
CREATE Oji_Kamiya_Station-[:PARENT]->stations
CREATE Nijubashimae_Station-[:PARENT]->stations
CREATE Shin_Nakano_Station-[:PARENT]->stations
CREATE Honancho_Station-[:PARENT]->stations
CREATE Chikatetsu_Akatsuka_Station-[:PARENT]->stations
CREATE Higashi_Koenji_Station-[:PARENT]->stations
CREATE Iriya_Station-[:PARENT]->stations
CREATE Nishi_Waseda_Station-[:PARENT]->stations
CREATE Tawaramachi_Station-[:PARENT]->stations
CREATE Todai_mae_Station-[:PARENT]->stations
CREATE Kita_Ayase_Station-[:PARENT]->stations
CREATE Nezu_Station-[:PARENT]->stations
CREATE Minami_Senju_Station-[:PARENT]->stations
CREATE Tatsumi_Station-[:PARENT]->stations
CREATE Sendagi_Station-[:PARENT]->stations
CREATE Baraki_Nakayama_Station-[:PARENT]->stations
CREATE Ochiai_Station-[:PARENT]->stations
CREATE Ueno_Hirokoji_Station-[:PARENT]->stations
CREATE Minami_Asagaya_Station-[:PARENT]->stations
CREATE Shin_Otsuka_Station-[:PARENT]->stations
CREATE Yoyogi_Koen_Station-[:PARENT]->stations
CREATE Suehirocho_Station-[:PARENT]->stations
CREATE Higashi_Shinjuku_Station-[:PARENT]->stations
CREATE Hon_Komagome_Station-[:PARENT]->stations
CREATE Nakano_Shimbashi_Station-[:PARENT]->stations
CREATE Nakano_Fujimicho_Station-[:PARENT]->stations
CREATE Inaricho_Station-[:PARENT]->stations
CREATE Kita_Sando_Station-[:PARENT]->stations
CREATE Sakuradamon_Station-[:PARENT]->stations
CREATE Zoshigaya_Station-[:PARENT]->stations
CREATE Shimo_Station-[:PARENT]->stations
CREATE Nishigahara_Station-[:PARENT]->stations
CREATE Ikebukuro_Station-[:RESIDES_IN]->Toshima
CREATE Kita_Senju_Station-[:RESIDES_IN]->Adachi
CREATE Otemachi_Station-[:RESIDES_IN]->Chiyoda
CREATE Ginza_Station-[:RESIDES_IN]->Chuo
CREATE Shibuya_Station-[:RESIDES_IN]->Shibuya
CREATE Shimbashi_Station-[:RESIDES_IN]->Minato
CREATE Shinjuku_Station-[:RESIDES_IN]->Shinjuku
CREATE Ueno_Station-[:RESIDES_IN]->Taito
CREATE Takadanobaba_Station-[:RESIDES_IN]->Shinjuku
CREATE Iidabashi_Station-[:RESIDES_IN]->Chiyoda
CREATE Nihombashi_Station-[:RESIDES_IN]->Chuo
CREATE Tokyo_Station-[:RESIDES_IN]->Chiyoda
CREATE Nishi_Nippori_Station-[:RESIDES_IN]->Arakawa
CREATE Toyosu_Station-[:RESIDES_IN]->Koto
CREATE Yurakucho_Station-[:RESIDES_IN]->Chiyoda
CREATE Omotesando_Station-[:RESIDES_IN]->Minato
CREATE Kudanshita_Station-[:RESIDES_IN]->Chiyoda
CREATE Tameike_Sanno_Station-[:RESIDES_IN]->Chiyoda
CREATE Kasumigaseki_Station-[:RESIDES_IN]->Chiyoda
CREATE Toyocho_Station-[:RESIDES_IN]->Koto
CREATE Ichigaya_Station-[:RESIDES_IN]->Shinjuku
CREATE Akihabara_Station-[:RESIDES_IN]->Chiyoda
CREATE Roppongi_Station-[:RESIDES_IN]->Minato
CREATE Kayabacho_Station-[:RESIDES_IN]->Chuo
CREATE Mitsukoshimae_Station-[:RESIDES_IN]->Chuo
CREATE Monzen_Nakacho_Station-[:RESIDES_IN]->Koto
CREATE Hatchobori_Station-[:RESIDES_IN]->Chuo
CREATE Toranomon_Station-[:RESIDES_IN]->Minato
CREATE Yotsuya_Station-[:RESIDES_IN]->Shinjuku
CREATE Akasaka_Mitsuke_Station-[:RESIDES_IN]->Minato
CREATE Aoyama_Itchome_Station-[:RESIDES_IN]->Minato
CREATE Shinjuku_Sanchome_Station-[:RESIDES_IN]->Shinjuku
CREATE Kasai_Station-[:RESIDES_IN]->Edogawa
CREATE Ebisu_Station-[:RESIDES_IN]->Shibuya
CREATE Nishi_Kasai_Station-[:RESIDES_IN]->Edogawa
CREATE Shin_Kiba_Station-[:RESIDES_IN]->Koto
CREATE Asakusa_Station-[:RESIDES_IN]->Taito
CREATE Hibiya_Station-[:RESIDES_IN]->Chiyoda
CREATE Korakuen_Station-[:RESIDES_IN]->Bunkyo
CREATE Shin_Ochanomizu_Station-[:RESIDES_IN]->Chiyoda
CREATE Jimbocho_Station-[:RESIDES_IN]->Chiyoda
CREATE Kinshicho_Station-[:RESIDES_IN]->Koto
CREATE Akasaka_Station-[:RESIDES_IN]->Minato
CREATE Ningyocho_Station-[:RESIDES_IN]->Chuo
CREATE Kamiyacho_Station-[:RESIDES_IN]->Minato
CREATE Gaienmae_Station-[:RESIDES_IN]->Minato
CREATE Urayasu_Station-[:RESIDES_IN]->Urayasu
CREATE Kiba_Station-[:RESIDES_IN]->Koto
CREATE Higashi_Ginza_Station-[:RESIDES_IN]->Chuo
CREATE Meiji_Jingumae_Station-[:RESIDES_IN]->Shibuya
CREATE Hanzomon_Station-[:RESIDES_IN]->Chiyoda
CREATE Waseda_Station-[:RESIDES_IN]->Shinjuku
CREATE Ogikubo_Station-[:RESIDES_IN]->Suginami
CREATE Suitengumae_Station-[:RESIDES_IN]->Chuo
CREATE Tsukiji_Station-[:RESIDES_IN]->Chuo
CREATE Myogadani_Station-[:RESIDES_IN]->Bunkyo
CREATE Nakano_Sakaue_Station-[:RESIDES_IN]->Nakano
CREATE Nagatacho_Station-[:RESIDES_IN]->Chiyoda
CREATE Tsukishima_Station-[:RESIDES_IN]->Chuo
CREATE Minami_Sunamachi_Station-[:RESIDES_IN]->Koto
CREATE Hiroo_Station-[:RESIDES_IN]->Minato
CREATE Oji_Station-[:RESIDES_IN]->Kita
CREATE Machiya_Station-[:RESIDES_IN]->Arakawa
CREATE Gyotoku_Station-[:RESIDES_IN]->Ichikawa
CREATE Awajicho_Station-[:RESIDES_IN]->Chiyoda
CREATE Ochanomizu_Station-[:RESIDES_IN]->Bunkyo
CREATE Kojimachi_Station-[:RESIDES_IN]->Chiyoda
CREATE Nishi_Shinjuku_Station-[:RESIDES_IN]->Shinjuku
CREATE Takebashi_Station-[:RESIDES_IN]->Chiyoda
CREATE Roppongi_Itchome_Station-[:RESIDES_IN]->Minato
CREATE Kanda_Station-[:RESIDES_IN]->Chiyoda
CREATE Edogawabashi_Station-[:RESIDES_IN]->Bunkyo
CREATE Minami_Gyotoku_Station-[:RESIDES_IN]->Ichikawa
CREATE Hongo_Sanchome_Station-[:RESIDES_IN]->Bunkyo
CREATE Myoden_Station-[:RESIDES_IN]->Ichikawa
CREATE Sumiyoshi_Station-[:RESIDES_IN]->Koto
CREATE Chikatetsu_Narimasu_Station-[:RESIDES_IN]->Itabashi
CREATE Shinjuku_gyoemmae_Station-[:RESIDES_IN]->Shinjuku
CREATE Naka_Okachimachi_Station-[:RESIDES_IN]->Taito
CREATE Kyobashi_Station-[:RESIDES_IN]->Chuo
CREATE Kiyosumi_Shirakawa_Station-[:RESIDES_IN]->Koto
CREATE Azabu_Juban_Station-[:RESIDES_IN]->Minato
CREATE Yotsuya_Sanchome_Station-[:RESIDES_IN]->Shinjuku
CREATE Heiwadai_Station-[:RESIDES_IN]->Nerima
CREATE Kagurazaka_Station-[:RESIDES_IN]->Shinjuku
CREATE Nogizaka_Station-[:RESIDES_IN]->Minato
CREATE Shintomicho_Station-[:RESIDES_IN]->Chuo
CREATE Kodenmacho_Station-[:RESIDES_IN]->Chuo
CREATE Gokokuji_Station-[:RESIDES_IN]->Bunkyo
CREATE Minowa_Station-[:RESIDES_IN]->Taito
CREATE Hikawadai_Station-[:RESIDES_IN]->Nerima
CREATE Komagome_Station-[:RESIDES_IN]->Toshima
CREATE Ginza_itchome_Station-[:RESIDES_IN]->Chuo
CREATE Kanamecho_Station-[:RESIDES_IN]->Toshima
CREATE Higashi_Ikebukuro_Station-[:RESIDES_IN]->Toshima
CREATE Senkawa_Station-[:RESIDES_IN]->Toshima
CREATE Shin_Koenji_Station-[:RESIDES_IN]->Suginami
CREATE Yushima_Station-[:RESIDES_IN]->Bunkyo
CREATE Oji_Kamiya_Station-[:RESIDES_IN]->Kita
CREATE Nijubashimae_Station-[:RESIDES_IN]->Chiyoda
CREATE Shin_Nakano_Station-[:RESIDES_IN]->Nakano
CREATE Honancho_Station-[:RESIDES_IN]->Suginami
CREATE Chikatetsu_Akatsuka_Station-[:RESIDES_IN]->Nerima
CREATE Higashi_Koenji_Station-[:RESIDES_IN]->Suginami
CREATE Iriya_Station-[:RESIDES_IN]->Taito
CREATE Nishi_Waseda_Station-[:RESIDES_IN]->Shinjuku
CREATE Tawaramachi_Station-[:RESIDES_IN]->Taito
CREATE Todai_mae_Station-[:RESIDES_IN]->Bunkyo
CREATE Kita_Ayase_Station-[:RESIDES_IN]->Adachi
CREATE Nezu_Station-[:RESIDES_IN]->Bunkyo
CREATE Minami_Senju_Station-[:RESIDES_IN]->Arakawa
CREATE Tatsumi_Station-[:RESIDES_IN]->Koto
CREATE Sendagi_Station-[:RESIDES_IN]->Bunkyo
CREATE Baraki_Nakayama_Station-[:RESIDES_IN]->Funabashi
CREATE Ochiai_Station-[:RESIDES_IN]->Shinjuku
CREATE Ueno_Hirokoji_Station-[:RESIDES_IN]->Taito
CREATE Minami_Asagaya_Station-[:RESIDES_IN]->Suginami
CREATE Shin_Otsuka_Station-[:RESIDES_IN]->Bunkyo
CREATE Yoyogi_Koen_Station-[:RESIDES_IN]->Shibuya
CREATE Suehirocho_Station-[:RESIDES_IN]->Chiyoda
CREATE Higashi_Shinjuku_Station-[:RESIDES_IN]->Shinjuku
CREATE Hon_Komagome_Station-[:RESIDES_IN]->Bunkyo
CREATE Nakano_Shimbashi_Station-[:RESIDES_IN]->Nakano
CREATE Nakano_Fujimicho_Station-[:RESIDES_IN]->Nakano
CREATE Inaricho_Station-[:RESIDES_IN]->Taito
CREATE Kita_Sando_Station-[:RESIDES_IN]->Shibuya
CREATE Sakuradamon_Station-[:RESIDES_IN]->Chiyoda
CREATE Zoshigaya_Station-[:RESIDES_IN]->Toshima
CREATE Shimo_Station-[:RESIDES_IN]->Kita
CREATE Nishigahara_Station-[:RESIDES_IN]->Kita
CREATE Ikebukuro_Station-[:SERVED_BY]->M
CREATE Ikebukuro_Station-[:SERVED_BY]->Y
CREATE Ikebukuro_Station-[:SERVED_BY]->F
CREATE Kita_Senju_Station-[:SERVED_BY]->C
CREATE Otemachi_Station-[:SERVED_BY]->M
CREATE Otemachi_Station-[:SERVED_BY]->T
CREATE Otemachi_Station-[:SERVED_BY]->C
CREATE Otemachi_Station-[:SERVED_BY]->Z
CREATE Ginza_Station-[:SERVED_BY]->G
CREATE Ginza_Station-[:SERVED_BY]->M
CREATE Ginza_Station-[:SERVED_BY]->H
CREATE Shibuya_Station-[:SERVED_BY]->G
CREATE Shimbashi_Station-[:SERVED_BY]->G
CREATE Shinjuku_Station-[:SERVED_BY]->M
CREATE Ueno_Station-[:SERVED_BY]->Taito
CREATE Ueno_Station-[:SERVED_BY]->Taito
CREATE Takadanobaba_Station-[:SERVED_BY]->T
CREATE Iidabashi_Station-[:SERVED_BY]->T
CREATE Iidabashi_Station-[:SERVED_BY]->Y
CREATE Iidabashi_Station-[:SERVED_BY]->N
CREATE Nihombashi_Station-[:SERVED_BY]->G
CREATE Nihombashi_Station-[:SERVED_BY]->T
CREATE Tokyo_Station-[:SERVED_BY]->M
CREATE Nishi_Nippori_Station-[:SERVED_BY]->C
CREATE Toyosu_Station-[:SERVED_BY]->Y
CREATE Yurakucho_Station-[:SERVED_BY]->Y
CREATE Omotesando_Station-[:SERVED_BY]->G
CREATE Omotesando_Station-[:SERVED_BY]->C
CREATE Omotesando_Station-[:SERVED_BY]->Z
CREATE Kudanshita_Station-[:SERVED_BY]->T
CREATE Kudanshita_Station-[:SERVED_BY]->Z
CREATE Tameike_Sanno_Station-[:SERVED_BY]->G
CREATE Tameike_Sanno_Station-[:SERVED_BY]->M
CREATE Tameike_Sanno_Station-[:SERVED_BY]->C
CREATE Tameike_Sanno_Station-[:SERVED_BY]->N
CREATE Kasumigaseki_Station-[:SERVED_BY]->M
CREATE Kasumigaseki_Station-[:SERVED_BY]->H
CREATE Kasumigaseki_Station-[:SERVED_BY]->C
CREATE Toyocho_Station-[:SERVED_BY]->T
CREATE Ichigaya_Station-[:SERVED_BY]->Y
CREATE Ichigaya_Station-[:SERVED_BY]->N
CREATE Akihabara_Station-[:SERVED_BY]->H
CREATE Roppongi_Station-[:SERVED_BY]->H
CREATE Kayabacho_Station-[:SERVED_BY]->H
CREATE Kayabacho_Station-[:SERVED_BY]->T
CREATE Mitsukoshimae_Station-[:SERVED_BY]->G
CREATE Mitsukoshimae_Station-[:SERVED_BY]->Z
CREATE Monzen_Nakacho_Station-[:SERVED_BY]->T
CREATE Hatchobori_Station-[:SERVED_BY]->H
CREATE Toranomon_Station-[:SERVED_BY]->G
CREATE Yotsuya_Station-[:SERVED_BY]->M
CREATE Yotsuya_Station-[:SERVED_BY]->N
CREATE Akasaka_Mitsuke_Station-[:SERVED_BY]->G
CREATE Akasaka_Mitsuke_Station-[:SERVED_BY]->M
CREATE Aoyama_Itchome_Station-[:SERVED_BY]->G
CREATE Aoyama_Itchome_Station-[:SERVED_BY]->Z
CREATE Shinjuku_Sanchome_Station-[:SERVED_BY]->M
CREATE Shinjuku_Sanchome_Station-[:SERVED_BY]->F
CREATE Kasai_Station-[:SERVED_BY]->T
CREATE Ebisu_Station-[:SERVED_BY]->H
CREATE Nishi_Kasai_Station-[:SERVED_BY]->T
CREATE Shin_Kiba_Station-[:SERVED_BY]->Y
CREATE Asakusa_Station-[:SERVED_BY]->G
CREATE Hibiya_Station-[:SERVED_BY]->H
CREATE Hibiya_Station-[:SERVED_BY]->C
CREATE Korakuen_Station-[:SERVED_BY]->M
CREATE Korakuen_Station-[:SERVED_BY]->N
CREATE Shin_Ochanomizu_Station-[:SERVED_BY]->C
CREATE Jimbocho_Station-[:SERVED_BY]->Z
CREATE Kinshicho_Station-[:SERVED_BY]->Z
CREATE Akasaka_Station-[:SERVED_BY]->C
CREATE Ningyocho_Station-[:SERVED_BY]->H
CREATE Kamiyacho_Station-[:SERVED_BY]->H
CREATE Gaienmae_Station-[:SERVED_BY]->G
CREATE Urayasu_Station-[:SERVED_BY]->T
CREATE Kiba_Station-[:SERVED_BY]->T
CREATE Higashi_Ginza_Station-[:SERVED_BY]->H
CREATE Meiji_Jingumae_Station-[:SERVED_BY]->C
CREATE Meiji_Jingumae_Station-[:SERVED_BY]->F
CREATE Hanzomon_Station-[:SERVED_BY]->Z
CREATE Waseda_Station-[:SERVED_BY]->T
CREATE Ogikubo_Station-[:SERVED_BY]->M
CREATE Suitengumae_Station-[:SERVED_BY]->Z
CREATE Tsukiji_Station-[:SERVED_BY]->H
CREATE Myogadani_Station-[:SERVED_BY]->M
CREATE Nakano_Sakaue_Station-[:SERVED_BY]->M
CREATE Nagatacho_Station-[:SERVED_BY]->Y
CREATE Nagatacho_Station-[:SERVED_BY]->Z
CREATE Nagatacho_Station-[:SERVED_BY]->N
CREATE Tsukishima_Station-[:SERVED_BY]->Y
CREATE Minami_Sunamachi_Station-[:SERVED_BY]->T
CREATE Hiroo_Station-[:SERVED_BY]->H
CREATE Oji_Station-[:SERVED_BY]->N
CREATE Machiya_Station-[:SERVED_BY]->C
CREATE Gyotoku_Station-[:SERVED_BY]->T
CREATE Awajicho_Station-[:SERVED_BY]->M
CREATE Ochanomizu_Station-[:SERVED_BY]->M
CREATE Kojimachi_Station-[:SERVED_BY]->Y
CREATE Nishi_Shinjuku_Station-[:SERVED_BY]->M
CREATE Takebashi_Station-[:SERVED_BY]->T
CREATE Roppongi_Itchome_Station-[:SERVED_BY]->N
CREATE Kanda_Station-[:SERVED_BY]->G
CREATE Edogawabashi_Station-[:SERVED_BY]->Y
CREATE Minami_Gyotoku_Station-[:SERVED_BY]->T
CREATE Hongo_Sanchome_Station-[:SERVED_BY]->M
CREATE Myoden_Station-[:SERVED_BY]->T
CREATE Sumiyoshi_Station-[:SERVED_BY]->Z
CREATE Chikatetsu_Narimasu_Station-[:SERVED_BY]->Y
CREATE Chikatetsu_Narimasu_Station-[:SERVED_BY]->F
CREATE Shinjuku_gyoemmae_Station-[:SERVED_BY]->M
CREATE Naka_Okachimachi_Station-[:SERVED_BY]->H
CREATE Kyobashi_Station-[:SERVED_BY]->G
CREATE Kiyosumi_Shirakawa_Station-[:SERVED_BY]->Z
CREATE Azabu_Juban_Station-[:SERVED_BY]->N
CREATE Yotsuya_Sanchome_Station-[:SERVED_BY]->M
CREATE Heiwadai_Station-[:SERVED_BY]->Y
CREATE Heiwadai_Station-[:SERVED_BY]->F
CREATE Kagurazaka_Station-[:SERVED_BY]->T
CREATE Nogizaka_Station-[:SERVED_BY]->C
CREATE Shintomicho_Station-[:SERVED_BY]->Y
CREATE Kodenmacho_Station-[:SERVED_BY]->H
CREATE Gokokuji_Station-[:SERVED_BY]->Y
CREATE Minowa_Station-[:SERVED_BY]->H
CREATE Hikawadai_Station-[:SERVED_BY]->Y
CREATE Hikawadai_Station-[:SERVED_BY]->F
CREATE Komagome_Station-[:SERVED_BY]->N
CREATE Ginza_itchome_Station-[:SERVED_BY]->Y
CREATE Kanamecho_Station-[:SERVED_BY]->Y
CREATE Kanamecho_Station-[:SERVED_BY]->F
CREATE Higashi_Ikebukuro_Station-[:SERVED_BY]->Y
CREATE Senkawa_Station-[:SERVED_BY]->Y
CREATE Senkawa_Station-[:SERVED_BY]->F
CREATE Shin_Koenji_Station-[:SERVED_BY]->M
CREATE Yushima_Station-[:SERVED_BY]->C
CREATE Oji_Kamiya_Station-[:SERVED_BY]->N
CREATE Nijubashimae_Station-[:SERVED_BY]->C
CREATE Shin_Nakano_Station-[:SERVED_BY]->M
CREATE Honancho_Station-[:SERVED_BY]->M
CREATE Chikatetsu_Akatsuka_Station-[:SERVED_BY]->Y
CREATE Chikatetsu_Akatsuka_Station-[:SERVED_BY]->F
CREATE Higashi_Koenji_Station-[:SERVED_BY]->M
CREATE Iriya_Station-[:SERVED_BY]->H
CREATE Nishi_Waseda_Station-[:SERVED_BY]->F
CREATE Tawaramachi_Station-[:SERVED_BY]->G
CREATE Todai_mae_Station-[:SERVED_BY]->N
CREATE Kita_Ayase_Station-[:SERVED_BY]->C
CREATE Nezu_Station-[:SERVED_BY]->C
CREATE Minami_Senju_Station-[:SERVED_BY]->H
CREATE Tatsumi_Station-[:SERVED_BY]->Y
CREATE Sendagi_Station-[:SERVED_BY]->C
CREATE Baraki_Nakayama_Station-[:SERVED_BY]->T
CREATE Ochiai_Station-[:SERVED_BY]->T
CREATE Ueno_Hirokoji_Station-[:SERVED_BY]->G
CREATE Minami_Asagaya_Station-[:SERVED_BY]->M
CREATE Shin_Otsuka_Station-[:SERVED_BY]->M
CREATE Yoyogi_Koen_Station-[:SERVED_BY]->C
CREATE Suehirocho_Station-[:SERVED_BY]->G
CREATE Higashi_Shinjuku_Station-[:SERVED_BY]->F
CREATE Hon_Komagome_Station-[:SERVED_BY]->N
CREATE Nakano_Shimbashi_Station-[:SERVED_BY]->M
CREATE Nakano_Fujimicho_Station-[:SERVED_BY]->M
CREATE Inaricho_Station-[:SERVED_BY]->G
CREATE Kita_Sando_Station-[:SERVED_BY]->F
CREATE Sakuradamon_Station-[:SERVED_BY]->Y
CREATE Zoshigaya_Station-[:SERVED_BY]->F
CREATE Shimo_Station-[:SERVED_BY]->N
CREATE Nishigahara_Station-[:SERVED_BY]->N
----
=== Try other queries yourself!
//console
== Use Cases
== All systems
[source,cypher]
----
MATCH (c:TrainLines) RETURN c.name AS TrainLines
----
//table
== All categories by Depth
[source,cypher]
----
MATCH p=(cats:Category)-[:PARENT|PARENT*]->(cat:TrainLines)
WHERE cat.name='Tokyo Metro Subway System'
RETURN LENGTH(p) AS Depth, COLLECT(cats.name) AS Categories
ORDER BY Depth ASC
----
//table
== All categories of a given level
[source,cypher]
----
MATCH p=(cats:Category)-[:PARENT*]->(cat:TrainLines)
WHERE cat.name='Tokyo Metro Subway System' AND length(p)=1
RETURN cats.name AS CategoriesOfGivenLevel
ORDER BY CategoriesOfGivenLevel
----
//table
== All sub-categories of a given category
[source,cypher]
----
MATCH p=(cats:Category)-[:PARENT]->(parentCat:Category), (parentCat)-[:PARENT*]->(c:TrainLines)
WHERE parentCat.name='stations' AND c.name='Tokyo Metro Subway System'
RETURN collect(cats.name) AS SubCategories
----
//table
== All Parent and their child categories
[source,cypher]
----
MATCH p=(child:Category)-[:PARENT*]->(parent)
RETURN parent.name, collect(child.name)
----
//table
== All parent and their IMMEDIATE children
[source,cypher]
----
MATCH p=(child:Category)-[:PARENT]->(parent)
RETURN labels(parent), parent.name, collect(child.name)
----
//table
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment