はじめに
- Neo4jを使って鉄道の乗り換え案内(ルート検索)を作ってみます。
- この記事ではCSVインポートの仕方や、最短経路を知りたい場合のクエリーの書き方について紹介します。
データ構造
- ノードは
Station
の1種類のみで、「路線ごとの駅名」とします。路線ごとなので、東京駅なら「山手線・東京駅」「丸ノ内線・東京駅」…といった具合に複数のノードがあります。駅ナンバリングをユニークな属性とします。 - エッジは2種類あり、1つは同一路線の隣り合う駅を結ぶ
Connect
で、駅間の営業キロを示す属性distance
を持ちます。もう1つは、乗り換え駅を結ぶTransfer
で、こちらはTransferCost
という乗り換えに係るコストを示す属性を持ちます。
データの準備
-
手始めに首都圏の鉄道網の一部のデータを作ります。駅名と営業キロのデータは主にWikipediaから拝借しました。
-
対象としたのは次の路線です。駅間エッジを作成する際の列車種別は各駅とします。
-
東京メトロ(銀座線、丸ノ内線、日比谷線、東西線、千代田線、有楽町線、半蔵門線、南北線、副都心線)、都営(大江戸線、浅草線、三田線、新宿線)、JR東日本(山手線、上野東京ライン、常磐快速線、湘南新宿ライン、東海道線、武蔵野線、京葉線、埼京線、横須賀線、総武快速線、根岸線、京浜東北線、横浜線、南武線、中央・総武緩行線、中央快速線、これらのうちナンバリングがある駅)、りんかい線、ゆりかもめ
-
次のデータをコピーし、文字コードをUTF-8として、計2ファイルを保存します。CSVファイルはneo4jフォルダ配下の
import
へ置きます。
ノードデータ(railway_node.csv)
`name,rawname,numbering [G-01]渋谷駅,渋谷駅,G-01 [G-02]表参道駅,表参道駅,G-02 [G-03]外苑前駅,外苑前駅,G-03 [G-04]青山一丁目駅,青山一丁目駅,G-04 [G-05]赤坂見附駅,赤坂見附駅,G-05 [G-06]溜池山王駅,溜池山王駅,G-06 [G-07]虎ノ門駅,虎ノ門駅,G-07 [G-08]新橋駅,新橋駅,G-08 [G-09]銀座駅,銀座駅,G-09 [G-10]京橋駅,京橋駅,G-10 [G-11]日本橋駅,日本橋駅,G-11 [G-12]三越前駅,三越前駅,G-12 [G-13]神田駅,神田駅,G-13 [G-14]末広町駅,末広町駅,G-14 [G-15]上野広小路駅,上野広小路駅,G-15 [G-16]上野駅,上野駅,G-16 [G-17]稲荷町駅,稲荷町駅,G-17 [G-18]田原町駅,田原町駅,G-18 [G-19]浅草駅,浅草駅,G-19 [M-01]荻窪駅,荻窪駅,M-01 [M-02]南阿佐ケ谷駅,南阿佐ケ谷駅,M-02 [M-03]新高円寺駅,新高円寺駅,M-03 [M-04]東高円寺駅,東高円寺駅,M-04 [M-05]新中野駅,新中野駅,M-05 [M-06]中野坂上駅,中野坂上駅,M-06 [M-07]西新宿駅,西新宿駅,M-07 [M-08]新宿駅,新宿駅,M-08 [M-09]新宿三丁目駅,新宿三丁目駅,M-09 [M-10]新宿御苑前駅,新宿御苑前駅,M-10 [M-11]四谷三丁目駅,四谷三丁目駅,M-11 [M-12]四ツ谷駅,四ツ谷駅,M-12 [M-13]赤坂見附駅,赤坂見附駅,M-13 [M-14]国会議事堂前駅,国会議事堂前駅,M-14 [M-15]霞ケ関駅,霞ケ関駅,M-15 [M-16]銀座駅,銀座駅,M-16 [M-17]東京駅,東京駅,M-17 [M-18]大手町駅,大手町駅,M-18 [M-19]淡路町駅,淡路町駅,M-19 [M-20]御茶ノ水駅,御茶ノ水駅,M-20 [M-21]本郷三丁目駅,本郷三丁目駅,M-21 [M-22]後楽園駅,後楽園駅,M-22 [M-23]茗荷谷駅,茗荷谷駅,M-23 [M-24]新大塚駅,新大塚駅,M-24 [M-25]池袋駅,池袋駅,M-25 [Mb-03]方南町駅,方南町駅,Mb-03 [Mb-04]中野富士見町駅,中野富士見町駅,Mb-04 [Mb-05]中野新橋駅,中野新橋駅,Mb-05 [H-01]中目黒駅,中目黒駅,H-01 [H-02]恵比寿駅,恵比寿駅,H-02 [H-03]広尾駅,広尾駅,H-03 [H-04]六本木駅,六本木駅,H-04 [H-05]神谷町駅,神谷町駅,H-05 [H-06]霞ケ関駅,霞ケ関駅,H-06 [H-07]日比谷駅,日比谷駅,H-07 [H-08]銀座駅,銀座駅,H-08 [H-09]東銀座駅,東銀座駅,H-09 [H-10]築地駅,築地駅,H-10 [H-11]八丁堀駅,八丁堀駅,H-11 [H-12]茅場町駅,茅場町駅,H-12 [H-13]人形町駅,人形町駅,H-13 [H-14]小伝馬町駅,小伝馬町駅,H-14 [H-15]秋葉原駅,秋葉原駅,H-15 [H-16]仲御徒町駅,仲御徒町駅,H-16 [H-17]上野駅,上野駅,H-17 [H-18]入谷駅,入谷駅,H-18 [H-19]三ノ輪駅,三ノ輪駅,H-19 [H-20]南千住駅,南千住駅,H-20 [H-21]北千住駅,北千住駅,H-21 [T-01]中野駅,中野駅,T-01 [T-02]落合駅,落合駅,T-02 [T-03]高田馬場駅,高田馬場駅,T-03 [T-04]早稲田駅,早稲田駅,T-04 [T-05]神楽坂駅,神楽坂駅,T-05 [T-06]飯田橋駅,飯田橋駅,T-06 [T-07]九段下駅,九段下駅,T-07 [T-08]竹橋駅,竹橋駅,T-08 [T-09]大手町駅,大手町駅,T-09 [T-10]日本橋駅,日本橋駅,T-10 [T-11]茅場町駅,茅場町駅,T-11 [T-12]門前仲町駅,門前仲町駅,T-12 [T-13]木場駅,木場駅,T-13 [T-14]東陽町駅,東陽町駅,T-14 [T-15]南砂町駅,南砂町駅,T-15 [T-16]西葛西駅,西葛西駅,T-16 [T-17]葛西駅,葛西駅,T-17 [T-18]浦安駅,浦安駅,T-18 [T-19]南行徳駅,南行徳駅,T-19 [T-20]行徳駅,行徳駅,T-20 [T-21]妙典駅,妙典駅,T-21 [T-22]原木中山駅,原木中山駅,T-22 [T-23]西船橋駅,西船橋駅,T-23 [C-01]代々木上原駅,代々木上原駅,C-01 [C-02]代々木公園駅,代々木公園駅,C-02 [C-03]明治神宮前駅,明治神宮前駅,C-03 [C-04]表参道駅,表参道駅,C-04 [C-05]乃木坂駅,乃木坂駅,C-05 [C-06]赤坂駅,赤坂駅,C-06 [C-07]国会議事堂前駅,国会議事堂前駅,C-07 [C-08]霞ケ関駅,霞ケ関駅,C-08 [C-09]日比谷駅,日比谷駅,C-09 [C-10]二重橋前駅,二重橋前駅,C-10 [C-11]大手町駅,大手町駅,C-11 [C-12]新御茶ノ水駅,新御茶ノ水駅,C-12 [C-13]湯島駅,湯島駅,C-13 [C-14]根津駅,根津駅,C-14 [C-15]千駄木駅,千駄木駅,C-15 [C-16]西日暮里駅,西日暮里駅,C-16 [C-17]町屋駅,町屋駅,C-17 [C-18]北千住駅,北千住駅,C-18 [C-19]綾瀬駅,綾瀬駅,C-19 [C-20]北綾瀬駅,北綾瀬駅,C-20 [Y-01]和光市駅,和光市駅,Y-01 [Y-02]地下鉄成増駅,地下鉄成増駅,Y-02 [Y-03]地下鉄赤塚駅,地下鉄赤塚駅,Y-03 [Y-04]平和台駅,平和台駅,Y-04 [Y-05]氷川台駅,氷川台駅,Y-05 [Y-06]小竹向原駅,小竹向原駅,Y-06 [Y-07]千川駅,千川駅,Y-07 [Y-08]要町駅,要町駅,Y-08 [Y-09]池袋駅,池袋駅,Y-09 [Y-10]東池袋駅,東池袋駅,Y-10 [Y-11]護国寺駅,護国寺駅,Y-11 [Y-12]江戸川橋駅,江戸川橋駅,Y-12 [Y-13]飯田橋駅,飯田橋駅,Y-13 [Y-14]市ケ谷駅,市ケ谷駅,Y-14 [Y-15]麹町駅,麹町駅,Y-15 [Y-16]永田町駅,永田町駅,Y-16 [Y-17]桜田門駅,桜田門駅,Y-17 [Y-18]有楽町駅,有楽町駅,Y-18 [Y-19]銀座一丁目駅,銀座一丁目駅,Y-19 [Y-20]新富町駅,新富町駅,Y-20 [Y-21]月島駅,月島駅,Y-21 [Y-22]豊洲駅,豊洲駅,Y-22 [Y-23]辰巳駅,辰巳駅,Y-23 [Y-24]新木場駅,新木場駅,Y-24 [Z-01]渋谷駅,渋谷駅,Z-01 [Z-02]表参道駅,表参道駅,Z-02 [Z-03]青山一丁目駅,青山一丁目駅,Z-03 [Z-04]永田町駅,永田町駅,Z-04 [Z-05]半蔵門駅,半蔵門駅,Z-05 [Z-06]九段下駅,九段下駅,Z-06 [Z-07]神保町駅,神保町駅,Z-07 [Z-08]大手町駅,大手町駅,Z-08 [Z-09]三越前駅,三越前駅,Z-09 [Z-10]水天宮前駅,水天宮前駅,Z-10 [Z-11]清澄白河駅,清澄白河駅,Z-11 [Z-12]住吉駅,住吉駅,Z-12 [Z-13]錦糸町駅,錦糸町駅,Z-13 [Z-14]押上駅,押上駅,Z-14 [N-01]目黒駅,目黒駅,N-01 [N-02]白金台駅,白金台駅,N-02 [N-03]白金高輪駅,白金高輪駅,N-03 [N-04]麻布十番駅,麻布十番駅,N-04 [N-05]六本木一丁目駅,六本木一丁目駅,N-05 [N-06]溜池山王駅,溜池山王駅,N-06 [N-07]永田町駅,永田町駅,N-07 [N-08]四ツ谷駅,四ツ谷駅,N-08 [N-09]市ケ谷駅,市ケ谷駅,N-09 [N-10]飯田橋駅,飯田橋駅,N-10 [N-11]後楽園駅,後楽園駅,N-11 [N-12]東大前駅,東大前駅,N-12 [N-13]本駒込駅,本駒込駅,N-13 [N-14]駒込駅,駒込駅,N-14 [N-15]西ケ原駅,西ケ原駅,N-15 [N-16]王子駅,王子駅,N-16 [N-17]王子神谷駅,王子神谷駅,N-17 [N-18]志茂駅,志茂駅,N-18 [N-19]赤羽岩淵駅,赤羽岩淵駅,N-19 [F-01]和光市駅,和光市駅,F-01 [F-02]地下鉄成増駅,地下鉄成増駅,F-02 [F-03]地下鉄赤塚駅,地下鉄赤塚駅,F-03 [F-04]平和台駅,平和台駅,F-04 [F-05]氷川台駅,氷川台駅,F-05 [F-06]小竹向原駅,小竹向原駅,F-06 [F-07]千川駅,千川駅,F-07 [F-08]要町駅,要町駅,F-08 [F-09]池袋駅,池袋駅,F-09 [F-10]雑司が谷駅,雑司が谷駅,F-10 [F-11]西早稲田駅,西早稲田駅,F-11 [F-12]東新宿駅,東新宿駅,F-12 [F-13]新宿三丁目駅,新宿三丁目駅,F-13 [F-14]北参道駅,北参道駅,F-14 [F-15]明治神宮前駅,明治神宮前駅,F-15 [F-16]渋谷駅,渋谷駅,F-16 [E-28]都庁前駅,都庁前駅,E-28 [E-01]新宿西口駅,新宿西口駅,E-01 [E-02]東新宿駅,東新宿駅,E-02 [E-03]若松河田駅,若松河田駅,E-03 [E-04]牛込柳町駅,牛込柳町駅,E-04 [E-05]牛込神楽坂駅,牛込神楽坂駅,E-05 [E-06]飯田橋駅,飯田橋駅,E-06 [E-07]春日駅,春日駅,E-07 [E-08]本郷三丁目駅,本郷三丁目駅,E-08 [E-09]上野御徒町駅,上野御徒町駅,E-09 [E-10]新御徒町駅,新御徒町駅,E-10 [E-11]蔵前駅,蔵前駅,E-11 [E-12]両国駅,両国駅,E-12 [E-13]森下駅,森下駅,E-13 [E-14]清澄白河駅,清澄白河駅,E-14 [E-15]門前仲町駅,門前仲町駅,E-15 [E-16]月島駅,月島駅,E-16 [E-17]勝どき駅,勝どき駅,E-17 [E-18]築地市場駅,築地市場駅,E-18 [E-19]汐留駅,汐留駅,E-19 [E-20]大門駅,大門駅,E-20 [E-21]赤羽橋駅,赤羽橋駅,E-21 [E-22]麻布十番駅,麻布十番駅,E-22 [E-23]六本木駅,六本木駅,E-23 [E-24]青山一丁目駅,青山一丁目駅,E-24 [E-25]国立競技場駅,国立競技場駅,E-25 [E-26]代々木駅,代々木駅,E-26 [E-27]新宿駅,新宿駅,E-27 [E-29]西新宿五丁目駅,西新宿五丁目駅,E-29 [E-30]中野坂上駅,中野坂上駅,E-30 [E-31]東中野駅,東中野駅,E-31 [E-32]中井駅,中井駅,E-32 [E-33]落合南長崎駅,落合南長崎駅,E-33 [E-34]新江古田駅,新江古田駅,E-34 [E-35]練馬駅,練馬駅,E-35 [E-36]豊島園駅,豊島園駅,E-36 [E-37]練馬春日町駅,練馬春日町駅,E-37 [E-38]光が丘駅,光が丘駅,E-38 [A-01]西馬込駅,西馬込駅,A-01 [A-02]馬込駅,馬込駅,A-02 [A-03]中延駅,中延駅,A-03 [A-04]戸越駅,戸越駅,A-04 [A-05]五反田駅,五反田駅,A-05 [A-06]高輪台駅,高輪台駅,A-06 [A-07]泉岳寺駅,泉岳寺駅,A-07 [A-08]三田駅,三田駅,A-08 [A-09]大門駅,大門駅,A-09 [A-10]新橋駅,新橋駅,A-10 [A-11]東銀座駅,東銀座駅,A-11 [A-12]宝町駅,宝町駅,A-12 [A-13]日本橋駅,日本橋駅,A-13 [A-14]人形町駅,人形町駅,A-14 [A-15]東日本橋駅,東日本橋駅,A-15 [A-16]浅草橋駅,浅草橋駅,A-16 [A-17]蔵前駅,蔵前駅,A-17 [A-18]浅草駅,浅草駅,A-18 [A-19]本所吾妻橋駅,本所吾妻橋駅,A-19 [A-20]押上駅,押上駅,A-20 [I-01]目黒駅,目黒駅,I-01 [I-02]白金台駅,白金台駅,I-02 [I-03]白金高輪駅,白金高輪駅,I-03 [I-04]三田駅,三田駅,I-04 [I-05]芝公園駅,芝公園駅,I-05 [I-06]御成門駅,御成門駅,I-06 [I-07]内幸町駅,内幸町駅,I-07 [I-08]日比谷駅,日比谷駅,I-08 [I-09]大手町駅,大手町駅,I-09 [I-10]神保町駅,神保町駅,I-10 [I-11]水道橋駅,水道橋駅,I-11 [I-12]春日駅,春日駅,I-12 [I-13]白山駅,白山駅,I-13 [I-14]千石駅,千石駅,I-14 [I-15]巣鴨駅,巣鴨駅,I-15 [I-16]西巣鴨駅,西巣鴨駅,I-16 [I-17]新板橋駅,新板橋駅,I-17 [I-18]板橋区役所前駅,板橋区役所前駅,I-18 [I-19]板橋本町駅,板橋本町駅,I-19 [I-20]本蓮沼駅,本蓮沼駅,I-20 [I-21]志村坂上駅,志村坂上駅,I-21 [I-22]志村三丁目駅,志村三丁目駅,I-22 [I-23]蓮根駅,蓮根駅,I-23 [I-24]西台駅,西台駅,I-24 [I-25]高島平駅,高島平駅,I-25 [I-26]新高島平駅,新高島平駅,I-26 [I-27]西高島平駅,西高島平駅,I-27 [S-01]新宿駅,新宿駅,S-01 [S-02]新宿三丁目駅,新宿三丁目駅,S-02 [S-03]曙橋駅,曙橋駅,S-03 [S-04]市ヶ谷駅,市ヶ谷駅,S-04 [S-05]九段下駅,九段下駅,S-05 [S-06]神保町駅,神保町駅,S-06 [S-07]小川町駅,小川町駅,S-07 [S-08]岩本町駅,岩本町駅,S-08 [S-09]馬喰横山駅,馬喰横山駅,S-09 [S-10]浜町駅,浜町駅,S-10 [S-11]森下駅,森下駅,S-11 [S-12]菊川駅,菊川駅,S-12 [S-13]住吉駅,住吉駅,S-13 [S-14]西大島駅,西大島駅,S-14 [S-15]大島駅,大島駅,S-15 [S-16]東大島駅,東大島駅,S-16 [S-17]船堀駅,船堀駅,S-17 [S-18]一之江駅,一之江駅,S-18 [S-19]瑞江駅,瑞江駅,S-19 [S-20]篠崎駅,篠崎駅,S-20 [S-21]本八幡駅,本八幡駅,S-21 [JY 01]東京駅,東京駅,JY 01 [JY 02]神田駅,神田駅,JY 02 [JY 03]秋葉原駅,秋葉原駅,JY 03 [JY 04]御徒町駅,御徒町駅,JY 04 [JY 05]上野駅,上野駅,JY 05 [JY 06]鶯谷駅,鶯谷駅,JY 06 [JY 07]日暮里駅,日暮里駅,JY 07 [JY 08]西日暮里駅,西日暮里駅,JY 08 [JY 09]田端駅,田端駅,JY 09 [JY 10]駒込駅,駒込駅,JY 10 [JY 11]巣鴨駅,巣鴨駅,JY 11 [JY 12]大塚駅,大塚駅,JY 12 [JY 13]池袋駅,池袋駅,JY 13 [JY 14]目白駅,目白駅,JY 14 [JY 15]高田馬場駅,高田馬場駅,JY 15 [JY 16]新大久保駅,新大久保駅,JY 16 [JY 17]新宿駅,新宿駅,JY 17 [JY 18]代々木駅,代々木駅,JY 18 [JY 19]原宿駅,原宿駅,JY 19 [JY 20]渋谷駅,渋谷駅,JY 20 [JY 21]恵比寿駅,恵比寿駅,JY 21 [JY 22]目黒駅,目黒駅,JY 22 [JY 23]五反田駅,五反田駅,JY 23 [JY 24]大崎駅,大崎駅,JY 24 [JY 25]品川駅,品川駅,JY 25 [JY 27]田町駅,田町駅,JY 27 [JY 28]浜松町駅,浜松町駅,JY 28 [JY 29]新橋駅,新橋駅,JY 29 [JY 30]有楽町駅,有楽町駅,JY 30 [JU 01]東京駅,東京駅,JU 01 [JU 02]上野駅,上野駅,JU 02 [JU 03]尾久駅,尾久駅,JU 03 [JU 04]赤羽駅,赤羽駅,JU 04 [JU 05]浦和駅,浦和駅,JU 05 [JU 06]さいたま新都心駅,さいたま新都心駅,JU 06 [JU 07]大宮駅,大宮駅,JU 07 [JJ 01]上野駅,上野駅,JJ 01 [JJ 02]日暮里駅,日暮里駅,JJ 02 [JJ 03]三河島駅,三河島駅,JJ 03 [JJ 04]南千住駅,南千住駅,JJ 04 [JJ 05]北千住駅,北千住駅,JJ 05 [JJ 06]松戸駅,松戸駅,JJ 06 [JJ 07]柏駅,柏駅,JJ 07 [JJ 08]我孫子駅,我孫子駅,JJ 08 [JJ 09]天王台駅,天王台駅,JJ 09 [JJ 10]取手駅,取手駅,JJ 10 [JS 06]逗子駅,逗子駅,JS 06 [JS 07]鎌倉駅,鎌倉駅,JS 07 [JS 08]北鎌倉駅,北鎌倉駅,JS 08 [JS 09]大船駅,大船駅,JS 09 [JS 10]戸塚駅,戸塚駅,JS 10 [JS 11]東戸塚駅,東戸塚駅,JS 11 [JS 12]保土ケ谷駅,保土ケ谷駅,JS 12 [JS 13]横浜駅,横浜駅,JS 13 [JS 14]新川崎駅,新川崎駅,JS 14 [JS 15]武蔵小杉駅,武蔵小杉駅,JS 15 [JS 16]西大井駅,西大井駅,JS 16 [JS 17]大崎駅,大崎駅,JS 17 [JS 18]恵比寿駅,恵比寿駅,JS 18 [JS 19]渋谷駅,渋谷駅,JS 19 [JS 20]新宿駅,新宿駅,JS 20 [JS 21]池袋駅,池袋駅,JS 21 [JS 22]赤羽駅,赤羽駅,JS 22 [JS 23]浦和駅,浦和駅,JS 23 [JS 24]大宮駅,大宮駅,JS 24 [JT 01]東京駅,東京駅,JT 01 [JT 02]新橋駅,新橋駅,JT 02 [JT 03]品川駅,品川駅,JT 03 [JT 04]川崎駅,川崎駅,JT 04 [JT 05]横浜駅,横浜駅,JT 05 [JT 06]戸塚駅,戸塚駅,JT 06 [JT 07]大船駅,大船駅,JT 07 [JT 08]藤沢駅,藤沢駅,JT 08 [JT 09]辻堂駅,辻堂駅,JT 09 [JT 10]茅ケ崎駅,茅ケ崎駅,JT 10 [JT 11]平塚駅,平塚駅,JT 11 [JT 12]大磯駅,大磯駅,JT 12 [JT 13]二宮駅,二宮駅,JT 13 [JT 14]国府津駅,国府津駅,JT 14 [JT 15]鴨宮駅,鴨宮駅,JT 15 [JT 16]小田原駅,小田原駅,JT 16 [JT 17]早川駅,早川駅,JT 17 [JT 18]根府川駅,根府川駅,JT 18 [JT 19]真鶴駅,真鶴駅,JT 19 [JT 20]湯河原駅,湯河原駅,JT 20 [JT 21]熱海駅,熱海駅,JT 21 [JM 10]西船橋駅,西船橋駅,JM 10 [JM 11]船橋法典駅,船橋法典駅,JM 11 [JM 12]市川大野駅,市川大野駅,JM 12 [JM 13]東松戸駅,東松戸駅,JM 13 [JM 14]新八柱駅,新八柱駅,JM 14 [JM 15]新松戸駅,新松戸駅,JM 15 [JM 16]南流山駅,南流山駅,JM 16 [JM 17]三郷駅,三郷駅,JM 17 [JM 18]新三郷駅,新三郷駅,JM 18 [JM 19]吉川美南駅,吉川美南駅,JM 19 [JM 20]吉川駅,吉川駅,JM 20 [JM 21]越谷レイクタウン駅,越谷レイクタウン駅,JM 21 [JM 22]南越谷駅,南越谷駅,JM 22 [JM 23]東川口駅,東川口駅,JM 23 [JM 24]東浦和駅,東浦和駅,JM 24 [JM 25]南浦和駅,南浦和駅,JM 25 [JM 26]武蔵浦和駅,武蔵浦和駅,JM 26 [JM 27]西浦和駅,西浦和駅,JM 27 [JM 28]北朝霞駅,北朝霞駅,JM 28 [JM 29]新座駅,新座駅,JM 29 [JM 30]東所沢駅,東所沢駅,JM 30 [JM 31]新秋津駅,新秋津駅,JM 31 [JM 32]新小平駅,新小平駅,JM 32 [JM 33]西国分寺駅,西国分寺駅,JM 33 [JM 34]北府中駅,北府中駅,JM 34 [JM 35]府中本町駅,府中本町駅,JM 35 [JE 01]東京駅,東京駅,JE 01 [JE 02]八丁堀駅,八丁堀駅,JE 02 [JE 03]越中島駅,越中島駅,JE 03 [JE 04]潮見駅,潮見駅,JE 04 [JE 05]新木場駅,新木場駅,JE 05 [JE 06]葛西臨海公園駅,葛西臨海公園駅,JE 06 [JE 07]舞浜駅,舞浜駅,JE 07 [JE 08]新浦安駅,新浦安駅,JE 08 [JE 09]市川塩浜駅,市川塩浜駅,JE 09 [JE 10]二俣新町駅,二俣新町駅,JE 10 [JE 11]南船橋駅,南船橋駅,JE 11 [JE 12]新習志野駅,新習志野駅,JE 12 [JE 13]海浜幕張駅,海浜幕張駅,JE 13 [JE 14]検見川浜駅,検見川浜駅,JE 14 [JE 15]稲毛海岸駅,稲毛海岸駅,JE 15 [JE 16]千葉みなと駅,千葉みなと駅,JE 16 [JA 08]大崎駅,大崎駅,JA 08 [JA 09]恵比寿駅,恵比寿駅,JA 09 [JA 10]渋谷駅,渋谷駅,JA 10 [JA 11]新宿駅,新宿駅,JA 11 [JA 12]池袋駅,池袋駅,JA 12 [JA 13]板橋駅,板橋駅,JA 13 [JA 14]十条駅,十条駅,JA 14 [JA 15]赤羽駅,赤羽駅,JA 15 [JA 16]北赤羽駅,北赤羽駅,JA 16 [JA 17]浮間舟渡駅,浮間舟渡駅,JA 17 [JA 18]戸田公園駅,戸田公園駅,JA 18 [JA 19]戸田駅,戸田駅,JA 19 [JA 20]北戸田駅,北戸田駅,JA 20 [JA 21]武蔵浦和駅,武蔵浦和駅,JA 21 [JA 22]中浦和駅,中浦和駅,JA 22 [JA 23]南与野駅,南与野駅,JA 23 [JA 24]与野本町駅,与野本町駅,JA 24 [JA 25]北与野駅,北与野駅,JA 25 [JA 26]大宮駅,大宮駅,JA 26 [JO 01]久里浜駅,久里浜駅,JO 01 [JO 02]衣笠駅,衣笠駅,JO 02 [JO 03]横須賀駅,横須賀駅,JO 03 [JO 04]田浦駅,田浦駅,JO 04 [JO 05]東逗子駅,東逗子駅,JO 05 [JO 06]逗子駅,逗子駅,JO 06 [JO 07]鎌倉駅,鎌倉駅,JO 07 [JO 08]北鎌倉駅,北鎌倉駅,JO 08 [JO 09]大船駅,大船駅,JO 09 [JO 10]戸塚駅,戸塚駅,JO 10 [JO 11]東戸塚駅,東戸塚駅,JO 11 [JO 12]保土ケ谷駅,保土ケ谷駅,JO 12 [JO 13]横浜駅,横浜駅,JO 13 [JO 14]新川崎駅,新川崎駅,JO 14 [JO 15]武蔵小杉駅,武蔵小杉駅,JO 15 [JO 16]西大井駅,西大井駅,JO 16 [JO 17]品川駅,品川駅,JO 17 [JO 18]新橋駅,新橋駅,JO 18 [JO 19]東京駅,東京駅,JO 19 [JO 19]東京駅,東京駅,JO 19 [JO 20]新日本橋駅,新日本橋駅,JO 20 [JO 21]馬喰町駅,馬喰町駅,JO 21 [JO 22]錦糸町駅,錦糸町駅,JO 22 [JO 23]新小岩駅,新小岩駅,JO 23 [JO 24]市川駅,市川駅,JO 24 [JO 25]船橋駅,船橋駅,JO 25 [JO 26]津田沼駅,津田沼駅,JO 26 [JO 27]稲毛駅,稲毛駅,JO 27 [JO 28]千葉駅,千葉駅,JO 28 [JK 01]大船駅,大船駅,JK 01 [JK 02]本郷台駅,本郷台駅,JK 02 [JK 03]港南台駅,港南台駅,JK 03 [JK 04]洋光台駅,洋光台駅,JK 04 [JK 05]新杉田駅,新杉田駅,JK 05 [JK 06]磯子駅,磯子駅,JK 06 [JK 07]根岸駅,根岸駅,JK 07 [JK 08]山手駅,山手駅,JK 08 [JK 09]石川町駅,石川町駅,JK 09 [JK 10]関内駅,関内駅,JK 10 [JK 11]桜木町駅,桜木町駅,JK 11 [JK 12]横浜駅,横浜駅,JK 12 [JK 12]横浜駅,横浜駅,JK 12 [JK 13]東神奈川駅,東神奈川駅,JK 13 [JK 14]新子安駅,新子安駅,JK 14 [JK 15]鶴見駅,鶴見駅,JK 15 [JK 16]川崎駅,川崎駅,JK 16 [JK 17]蒲田駅,蒲田駅,JK 17 [JK 18]大森駅,大森駅,JK 18 [JK 19]大井町駅,大井町駅,JK 19 [JK 20]品川駅,品川駅,JK 20 [JK 22]田町駅,田町駅,JK 22 [JK 23]浜松町駅,浜松町駅,JK 23 [JK 24]新橋駅,新橋駅,JK 24 [JK 25]有楽町駅,有楽町駅,JK 25 [JK 26]東京駅,東京駅,JK 26 [JK 27]神田駅,神田駅,JK 27 [JK 28]秋葉原駅,秋葉原駅,JK 28 [JK 29]御徒町駅,御徒町駅,JK 29 [JK 30]上野駅,上野駅,JK 30 [JK 31]鶯谷駅,鶯谷駅,JK 31 [JK 32]日暮里駅,日暮里駅,JK 32 [JK 33]西日暮里駅,西日暮里駅,JK 33 [JK 34]田端駅,田端駅,JK 34 [JK 35]上中里駅,上中里駅,JK 35 [JK 36]王子駅,王子駅,JK 36 [JK 37]東十条駅,東十条駅,JK 37 [JK 38]赤羽駅,赤羽駅,JK 38 [JK 39]川口駅,川口駅,JK 39 [JK 40]西川口駅,西川口駅,JK 40 [JK 41]蕨駅,蕨駅,JK 41 [JK 42]南浦和駅,南浦和駅,JK 42 [JK 43]浦和駅,浦和駅,JK 43 [JK 44]北浦和駅,北浦和駅,JK 44 [JK 45]与野駅,与野駅,JK 45 [JK 46]さいたま新都心駅,さいたま新都心駅,JK 46 [JK 47]大宮駅,大宮駅,JK 47 [JH 13]東神奈川駅,東神奈川駅,JH 13 [JH 14]大口駅,大口駅,JH 14 [JH 15]菊名駅,菊名駅,JH 15 [JH 16]新横浜駅,新横浜駅,JH 16 [JH 17]小机駅,小机駅,JH 17 [JH 18]鴨居駅,鴨居駅,JH 18 [JH 19]中山駅,中山駅,JH 19 [JH 20]十日市場駅,十日市場駅,JH 20 [JH 21]長津田駅,長津田駅,JH 21 [JH 22]成瀬駅,成瀬駅,JH 22 [JH 23]町田駅,町田駅,JH 23 [JH 24]古淵駅,古淵駅,JH 24 [JH 25]淵野辺駅,淵野辺駅,JH 25 [JH 26]矢部駅,矢部駅,JH 26 [JH 27]相模原駅,相模原駅,JH 27 [JH 28]橋本駅,橋本駅,JH 28 [JH 29]相原駅,相原駅,JH 29 [JH 30]八王子みなみ野駅,八王子みなみ野駅,JH 30 [JH 31]片倉駅,片倉駅,JH 31 [JH 32]八王子駅,八王子駅,JH 32 [JN 01]川崎駅,川崎駅,JN 01 [JN 02]尻手駅,尻手駅,JN 02 [JN 03]矢向駅,矢向駅,JN 03 [JN 04]鹿島田駅,鹿島田駅,JN 04 [JN 05]平間駅,平間駅,JN 05 [JN 06]向河原駅,向河原駅,JN 06 [JN 07]武蔵小杉駅,武蔵小杉駅,JN 07 [JN 08]武蔵中原駅,武蔵中原駅,JN 08 [JN 09]武蔵新城駅,武蔵新城駅,JN 09 [JN 10]武蔵溝ノ口駅,武蔵溝ノ口駅,JN 10 [JN 11]津田山駅,津田山駅,JN 11 [JN 12]久地駅,久地駅,JN 12 [JN 13]宿河原駅,宿河原駅,JN 13 [JN 14]登戸駅,登戸駅,JN 14 [JN 15]中野島駅,中野島駅,JN 15 [JN 16]稲田堤駅,稲田堤駅,JN 16 [JN 17]矢野口駅,矢野口駅,JN 17 [JN 18]稲城長沼駅,稲城長沼駅,JN 18 [JN 19]南多摩駅,南多摩駅,JN 19 [JN 20]府中本町駅,府中本町駅,JN 20 [JN 21]分倍河原駅,分倍河原駅,JN 21 [JN 22]西府駅,西府駅,JN 22 [JN 23]谷保駅,谷保駅,JN 23 [JN 24]矢川駅,矢川駅,JN 24 [JN 25]西国立駅,西国立駅,JN 25 [JN 26]立川駅,立川駅,JN 26 [JB 01]三鷹駅,三鷹駅,JB 01 [JB 02]吉祥寺駅,吉祥寺駅,JB 02 [JB 03]西荻窪駅,西荻窪駅,JB 03 [JB 04]荻窪駅,荻窪駅,JB 04 [JB 05]阿佐ケ谷駅,阿佐ケ谷駅,JB 05 [JB 06]高円寺駅,高円寺駅,JB 06 [JB 07]中野駅,中野駅,JB 07 [JB 08]東中野駅,東中野駅,JB 08 [JB 09]大久保駅,大久保駅,JB 09 [JB 10]新宿駅,新宿駅,JB 10 [JB 11]代々木駅,代々木駅,JB 11 [JB 12]千駄ケ谷駅,千駄ケ谷駅,JB 12 [JB 13]信濃町駅,信濃町駅,JB 13 [JB 14]四ツ谷駅,四ツ谷駅,JB 14 [JB 15]市ケ谷駅,市ケ谷駅,JB 15 [JB 16]飯田橋駅,飯田橋駅,JB 16 [JB 17]水道橋駅,水道橋駅,JB 17 [JB 18]御茶ノ水駅,御茶ノ水駅,JB 18 [JB 19]秋葉原駅,秋葉原駅,JB 19 [JB 20]浅草橋駅,浅草橋駅,JB 20 [JB 21]両国駅,両国駅,JB 21 [JB 22]錦糸町駅,錦糸町駅,JB 22 [JB 23]亀戸駅,亀戸駅,JB 23 [JB 24]平井駅,平井駅,JB 24 [JB 25]新小岩駅,新小岩駅,JB 25 [JB 26]小岩駅,小岩駅,JB 26 [JB 27]市川駅,市川駅,JB 27 [JB 28]本八幡駅,本八幡駅,JB 28 [JB 29]下総中山駅,下総中山駅,JB 29 [JB 30]西船橋駅,西船橋駅,JB 30 [JB 31]船橋駅,船橋駅,JB 31 [JB 32]東船橋駅,東船橋駅,JB 32 [JB 33]津田沼駅,津田沼駅,JB 33 [JB 34]幕張本郷駅,幕張本郷駅,JB 34 [JB 35]幕張駅,幕張駅,JB 35 [JB 36]新検見川駅,新検見川駅,JB 36 [JB 37]稲毛駅,稲毛駅,JB 37 [JB 38]西千葉駅,西千葉駅,JB 38 [JB 39]千葉駅,千葉駅,JB 39 [JC 01]東京駅,東京駅,JC 01 [JC 02]神田駅,神田駅,JC 02 [JC 03]御茶ノ水駅,御茶ノ水駅,JC 03 [JC 04]四ツ谷駅,四ツ谷駅,JC 04 [JC 05]新宿駅,新宿駅,JC 05 [JC 06]中野駅,中野駅,JC 06 [JC 07]高円寺駅,高円寺駅,JC 07 [JC 08]阿佐ケ谷駅,阿佐ケ谷駅,JC 08 [JC 09]荻窪駅,荻窪駅,JC 09 [JC 10]西荻窪駅,西荻窪駅,JC 10 [JC 11]吉祥寺駅,吉祥寺駅,JC 11 [JC 12]三鷹駅,三鷹駅,JC 12 [JC 13]武蔵境駅,武蔵境駅,JC 13 [JC 14]東小金井駅,東小金井駅,JC 14 [JC 15]武蔵小金井駅,武蔵小金井駅,JC 15 [JC 16]国分寺駅,国分寺駅,JC 16 [JC 17]西国分寺駅,西国分寺駅,JC 17 [JC 18]国立駅,国立駅,JC 18 [JC 19]立川駅,立川駅,JC 19 [JC 20]日野駅,日野駅,JC 20 [JC 21]豊田駅,豊田駅,JC 21 [JC 22]八王子駅,八王子駅,JC 22 [JC 23]西八王子駅,西八王子駅,JC 23 [JC 24]高尾駅,高尾駅,JC 24 [R 01]新木場駅,新木場駅,R 01 [R 02]東雲駅,東雲駅,R 02 [R 03]国際展示場駅,国際展示場駅,R 03 [R 04]東京テレポート駅,東京テレポート駅,R 04 [R 05]天王洲アイル駅,天王洲アイル駅,R 05 [R 06]品川シーサイド駅,品川シーサイド駅,R 06 [R 07]大井町駅,大井町駅,R 07 [R 08]大崎駅,大崎駅,R 08 [U-01]新橋駅,新橋駅,U-01 [U-02]汐留駅,汐留駅,U-02 [U-03]竹芝駅,竹芝駅,U-03 [U-04]日の出駅,日の出駅,U-04 [U-05]芝浦ふ頭駅,芝浦ふ頭駅,U-05 [U-06]お台場海浜公園駅,お台場海浜公園駅,U-06 [U-07]台場駅,台場駅,U-07 [U-08]東京国際クルーズターミナル駅,東京国際クルーズターミナル駅,U-08 [U-09]テレコムセンター駅,テレコムセンター駅,U-09 [U-10]青海駅,青海駅,U-10 [U-11]東京ビッグサイト駅,東京ビッグサイト駅,U-11 [U-12]有明駅,有明駅,U-12 [U-13]有明テニスの森駅,有明テニスの森駅,U-13 [U-14]市場前駅,市場前駅,U-14 [U-15]新豊洲駅,新豊洲駅,U-15 [U-16]豊洲駅,豊洲駅,U-16`エッジデータ(railway_edge.csv)
`numbering_a,numbering_b,line,distance G-01,G-02,銀座線,1.3 G-02,G-03,銀座線,0.7 G-03,G-04,銀座線,0.7 G-04,G-05,銀座線,1.3 G-05,G-06,銀座線,0.9 G-06,G-07,銀座線,0.6 G-07,G-08,銀座線,0.8 G-08,G-09,銀座線,0.9 G-09,G-10,銀座線,0.7 G-10,G-11,銀座線,0.7 G-11,G-12,銀座線,0.6 G-12,G-13,銀座線,0.7 G-13,G-14,銀座線,1.1 G-14,G-15,銀座線,0.6 G-15,G-16,銀座線,0.5 G-16,G-17,銀座線,0.7 G-17,G-18,銀座線,0.7 G-18,G-19,銀座線,0.8 M-01,M-02,丸ノ内線,1.5 M-02,M-03,丸ノ内線,1.2 M-03,M-04,丸ノ内線,0.9 M-04,M-05,丸ノ内線,1 M-05,M-06,丸ノ内線,1.1 M-06,M-07,丸ノ内線,1.1 M-07,M-08,丸ノ内線,0.8 M-08,M-09,丸ノ内線,0.3 M-09,M-10,丸ノ内線,0.7 M-10,M-11,丸ノ内線,0.9 M-11,M-12,丸ノ内線,1 M-12,M-13,丸ノ内線,1.3 M-13,M-14,丸ノ内線,0.9 M-14,M-15,丸ノ内線,0.7 M-15,M-16,丸ノ内線,1 M-16,M-17,丸ノ内線,1.1 M-17,M-18,丸ノ内線,0.6 M-18,M-19,丸ノ内線,0.9 M-19,M-20,丸ノ内線,0.8 M-20,M-21,丸ノ内線,0.8 M-21,M-22,丸ノ内線,0.8 M-22,M-23,丸ノ内線,1.8 M-23,M-24,丸ノ内線,1.2 M-24,M-25,丸ノ内線,1.8 Mb-03,Mb-04,丸ノ内線,1.3 Mb-04,Mb-05,丸ノ内線,0.6 Mb-05,M-06,丸ノ内線,1.3 H-01,H-02,日比谷線,1 H-02,H-03,日比谷線,1.5 H-03,H-04,日比谷線,1.7 H-04,H-05,日比谷線,1.5 H-05,H-06,日比谷線,1.3 H-06,H-07,日比谷線,1.2 H-07,H-08,日比谷線,0.4 H-08,H-09,日比谷線,0.4 H-09,H-10,日比谷線,0.6 H-10,H-11,日比谷線,1 H-11,H-12,日比谷線,0.5 H-12,H-13,日比谷線,0.9 H-13,H-14,日比谷線,0.6 H-14,H-15,日比谷線,0.9 H-15,H-16,日比谷線,1 H-16,H-17,日比谷線,0.5 H-17,H-18,日比谷線,1.2 H-18,H-19,日比谷線,1.2 H-19,H-20,日比谷線,0.8 H-20,H-21,日比谷線,2.1 T-01,T-02,東西線,2 T-02,T-03,東西線,1.9 T-03,T-04,東西線,1.7 T-04,T-05,東西線,1.2 T-05,T-06,東西線,1.2 T-06,T-07,東西線,0.7 T-07,T-08,東西線,1 T-08,T-09,東西線,1 T-09,T-10,東西線,0.8 T-10,T-11,東西線,0.5 T-11,T-12,東西線,1.8 T-12,T-13,東西線,1.1 T-13,T-14,東西線,0.9 T-14,T-15,東西線,1.2 T-15,T-16,東西線,2.7 T-16,T-17,東西線,1.2 T-17,T-18,東西線,1.9 T-18,T-19,東西線,1.2 T-19,T-20,東西線,1.5 T-20,T-21,東西線,1.3 T-21,T-22,東西線,2.1 T-22,T-23,東西線,1.9 C-01,C-02,千代田線,1 C-02,C-03,千代田線,1.2 C-03,C-04,千代田線,0.9 C-04,C-05,千代田線,1.4 C-05,C-06,千代田線,1.1 C-06,C-07,千代田線,0.8 C-07,C-08,千代田線,0.8 C-08,C-09,千代田線,0.8 C-09,C-10,千代田線,0.7 C-10,C-11,千代田線,0.7 C-11,C-12,千代田線,1.3 C-12,C-13,千代田線,1.2 C-13,C-14,千代田線,1.2 C-14,C-15,千代田線,1 C-15,C-16,千代田線,0.9 C-16,C-17,千代田線,1.7 C-17,C-18,千代田線,2.6 C-18,C-19,千代田線,2.6 C-19,C-20,千代田線,2.1 Y-01,Y-02,有楽町線,2.2 Y-02,Y-03,有楽町線,1.4 Y-03,Y-04,有楽町線,1.8 Y-04,Y-05,有楽町線,1.4 Y-05,Y-06,有楽町線,1.5 Y-06,Y-07,有楽町線,1 Y-07,Y-08,有楽町線,1 Y-08,Y-09,有楽町線,1.2 Y-09,Y-10,有楽町線,0.9 Y-10,Y-11,有楽町線,1.1 Y-11,Y-12,有楽町線,1.3 Y-12,Y-13,有楽町線,1.6 Y-13,Y-14,有楽町線,1.1 Y-14,Y-15,有楽町線,0.9 Y-15,Y-16,有楽町線,0.9 Y-16,Y-17,有楽町線,0.9 Y-17,Y-18,有楽町線,1 Y-18,Y-19,有楽町線,0.5 Y-19,Y-20,有楽町線,0.7 Y-20,Y-21,有楽町線,1.3 Y-21,Y-22,有楽町線,1.4 Y-22,Y-23,有楽町線,1.7 Y-23,Y-24,有楽町線,1.5 Z-01,Z-02,半蔵門線,1.3 Z-02,Z-03,半蔵門線,1.4 Z-03,Z-04,半蔵門線,1.4 Z-04,Z-05,半蔵門線,1 Z-05,Z-06,半蔵門線,1.6 Z-06,Z-07,半蔵門線,0.4 Z-07,Z-08,半蔵門線,1.7 Z-08,Z-09,半蔵門線,0.7 Z-09,Z-10,半蔵門線,1.3 Z-10,Z-11,半蔵門線,1.7 Z-11,Z-12,半蔵門線,1.9 Z-12,Z-13,半蔵門線,1 Z-13,Z-14,半蔵門線,1.4 N-01,N-02,南北線,1.3 N-02,N-03,南北線,1 N-03,N-04,南北線,1.3 N-04,N-05,南北線,1.2 N-05,N-06,南北線,0.9 N-06,N-07,南北線,0.9 N-07,N-08,南北線,1.3 N-08,N-09,南北線,1 N-09,N-10,南北線,1.1 N-10,N-11,南北線,1.4 N-11,N-12,南北線,1.3 N-12,N-13,南北線,0.9 N-13,N-14,南北線,1.4 N-14,N-15,南北線,1.4 N-15,N-16,南北線,1 N-16,N-17,南北線,1.2 N-17,N-18,南北線,1.6 N-18,N-19,南北線,1.1 F-01,F-02,副都心線,2.2 F-02,F-03,副都心線,1.4 F-03,F-04,副都心線,1.8 F-04,F-05,副都心線,1.4 F-05,F-06,副都心線,1.5 F-06,F-07,副都心線,1.1 F-07,F-08,副都心線,1 F-08,F-09,副都心線,0.9 F-09,F-10,副都心線,1.8 F-10,F-11,副都心線,1.5 F-11,F-12,副都心線,0.9 F-12,F-13,副都心線,1.1 F-13,F-14,副都心線,1.4 F-14,F-15,副都心線,1.2 F-15,F-16,副都心線,1 E-28,E-01,大江戸線,0.8 E-01,E-02,大江戸線,1.4 E-02,E-03,大江戸線,1 E-03,E-04,大江戸線,0.6 E-04,E-05,大江戸線,1 E-05,E-06,大江戸線,1 E-06,E-07,大江戸線,1 E-07,E-08,大江戸線,0.8 E-08,E-09,大江戸線,1.1 E-09,E-10,大江戸線,0.8 E-10,E-11,大江戸線,1 E-11,E-12,大江戸線,1.2 E-12,E-13,大江戸線,1 E-13,E-14,大江戸線,0.6 E-14,E-15,大江戸線,1.2 E-15,E-16,大江戸線,1.4 E-16,E-17,大江戸線,0.8 E-17,E-18,大江戸線,1.5 E-18,E-19,大江戸線,0.9 E-19,E-20,大江戸線,0.9 E-20,E-21,大江戸線,1.3 E-21,E-22,大江戸線,0.8 E-22,E-23,大江戸線,1.1 E-23,E-24,大江戸線,1.3 E-24,E-25,大江戸線,1.2 E-25,E-26,大江戸線,1.5 E-26,E-27,大江戸線,0.6 E-27,E-28,大江戸線,0.8 E-28,E-29,大江戸線,0.8 E-29,E-30,大江戸線,1.2 E-30,E-31,大江戸線,1 E-31,E-32,大江戸線,0.8 E-32,E-33,大江戸線,1.3 E-33,E-34,大江戸線,1.6 E-34,E-35,大江戸線,1.6 E-35,E-36,大江戸線,0.9 E-36,E-37,大江戸線,1.5 E-37,E-38,大江戸線,1.4 A-01,A-02,浅草線,1.2 A-02,A-03,浅草線,0.9 A-03,A-04,浅草線,1.1 A-04,A-05,浅草線,1.6 A-05,A-06,浅草線,0.7 A-06,A-07,浅草線,1.4 A-07,A-08,浅草線,1.1 A-08,A-09,浅草線,1.5 A-09,A-10,浅草線,1 A-10,A-11,浅草線,0.9 A-11,A-12,浅草線,0.8 A-12,A-13,浅草線,0.8 A-13,A-14,浅草線,0.8 A-14,A-15,浅草線,0.7 A-15,A-16,浅草線,0.7 A-16,A-17,浅草線,0.7 A-17,A-18,浅草線,0.9 A-18,A-19,浅草線,0.7 A-19,A-20,浅草線,0.8 I-01,I-02,三田線,1.3 I-02,I-03,三田線,1 I-03,I-04,三田線,1.7 I-04,I-05,三田線,0.6 I-05,I-06,三田線,0.7 I-06,I-07,三田線,1.1 I-07,I-08,三田線,0.9 I-08,I-09,三田線,0.9 I-09,I-10,三田線,1.4 I-10,I-11,三田線,1 I-11,I-12,三田線,0.7 I-12,I-13,三田線,1.4 I-13,I-14,三田線,1 I-14,I-15,三田線,0.9 I-15,I-16,三田線,1.4 I-16,I-17,三田線,1 I-17,I-18,三田線,0.9 I-18,I-19,三田線,1.2 I-19,I-20,三田線,0.9 I-20,I-21,三田線,1.1 I-21,I-22,三田線,0.9 I-22,I-23,三田線,1.2 I-23,I-24,三田線,0.8 I-24,I-25,三田線,1 I-25,I-26,三田線,0.7 I-26,I-27,三田線,0.8 S-01,S-02,新宿線,0.8 S-02,S-03,新宿線,1.5 S-03,S-04,新宿線,1.4 S-04,S-05,新宿線,1.3 S-05,S-06,新宿線,0.6 S-06,S-07,新宿線,0.9 S-07,S-08,新宿線,0.8 S-08,S-09,新宿線,0.8 S-09,S-10,新宿線,0.6 S-10,S-11,新宿線,0.8 S-11,S-12,新宿線,0.8 S-12,S-13,新宿線,0.9 S-13,S-14,新宿線,1 S-14,S-15,新宿線,0.7 S-15,S-16,新宿線,1.2 S-16,S-17,新宿線,1.7 S-17,S-18,新宿線,1.7 S-18,S-19,新宿線,1.7 S-19,S-20,新宿線,1.5 S-20,S-21,新宿線,2.8 JY 01,JY 02,山手線,1.3 JY 02,JY 03,山手線,0.7 JY 03,JY 04,山手線,1 JY 04,JY 05,山手線,0.6 JY 05,JY 06,山手線,1.1 JY 06,JY 07,山手線,1.1 JY 07,JY 08,山手線,0.5 JY 08,JY 09,山手線,0.8 JY 09,JY 10,山手線,1.6 JY 10,JY 11,山手線,0.7 JY 11,JY 12,山手線,1.1 JY 12,JY 13,山手線,1.8 JY 13,JY 14,山手線,1.2 JY 14,JY 15,山手線,0.9 JY 15,JY 16,山手線,1.4 JY 16,JY 17,山手線,1.3 JY 17,JY 18,山手線,0.7 JY 18,JY 19,山手線,1.5 JY 19,JY 20,山手線,1.2 JY 20,JY 21,山手線,1.6 JY 21,JY 22,山手線,1.5 JY 22,JY 23,山手線,1.2 JY 23,JY 24,山手線,0.9 JY 24,JY 25,山手線,2 JY 25,JY 27,山手線,2.2 JY 27,JY 28,山手線,1.5 JY 28,JY 29,山手線,1.2 JY 29,JY 30,山手線,1.1 JY 30,JY 01,山手線,0.8 JU 01,JU 02,上野東京ライン,3.6 JU 02,JU 03,上野東京ライン,4.8 JU 03,JU 04,上野東京ライン,5 JU 04,JU 05,上野東京ライン,11 JU 05,JU 06,上野東京ライン,4.5 JU 06,JU 07,上野東京ライン,1.6 JJ 01,JJ 02,常磐快速線,2.2 JJ 02,JJ 03,常磐快速線,1.2 JJ 03,JJ 04,常磐快速線,2.2 JJ 04,JJ 05,常磐快速線,1.8 JJ 05,JJ 06,常磐快速線,10.5 JJ 06,JJ 07,常磐快速線,11.2 JJ 07,JJ 08,常磐快速線,4.4 JJ 08,JJ 09,常磐快速線,2.7 JJ 09,JJ 10,常磐快速線,3.4 JS 06,JS 07,湘南新宿ライン,3.9 JS 07,JS 08,湘南新宿ライン,2.2 JS 08,JS 09,湘南新宿ライン,2.3 JS 09,JS 10,湘南新宿ライン,5.6 JS 10,JS 11,湘南新宿ライン,4.2 JS 11,JS 12,湘南新宿ライン,4.9 JS 12,JS 13,湘南新宿ライン,3 JS 13,JS 14,湘南新宿ライン,12.2 JS 14,JS 15,湘南新宿ライン,2.7 JS 15,JS 16,湘南新宿ライン,6.4 JS 16,JS 17,湘南新宿ライン,5.6 JS 17,JS 18,湘南新宿ライン,3.6 JS 18,JS 19,湘南新宿ライン,1.6 JS 19,JS 20,湘南新宿ライン,3.4 JS 20,JS 21,湘南新宿ライン,4.8 JS 21,JS 22,湘南新宿ライン,11.3 JS 22,JS 23,湘南新宿ライン,11 JS 23,JS 24,湘南新宿ライン,6.1 JT 01,JT 02,東海道線,1.9 JT 02,JT 03,東海道線,4.9 JT 03,JT 04,東海道線,11.4 JT 04,JT 05,東海道線,10.6 JT 05,JT 06,東海道線,12.1 JT 06,JT 07,東海道線,5.6 JT 07,JT 08,東海道線,4.6 JT 08,JT 09,東海道線,3.7 JT 09,JT 10,東海道線,3.8 JT 10,JT 11,東海道線,5.2 JT 11,JT 12,東海道線,4 JT 12,JT 13,東海道線,5.3 JT 13,JT 14,東海道線,4.6 JT 14,JT 15,東海道線,3.1 JT 15,JT 16,東海道線,3.1 JT 16,JT 17,東海道線,2.1 JT 17,JT 18,東海道線,4.4 JT 18,JT 19,東海道線,5.4 JT 19,JT 20,東海道線,3.3 JT 20,JT 21,東海道線,5.5 JM 10,JM 11,武蔵野線,2.9 JM 11,JM 12,武蔵野線,3 JM 12,JM 13,武蔵野線,1.9 JM 13,JM 14,武蔵野線,2.4 JM 14,JM 15,武蔵野線,4.1 JM 15,JM 16,武蔵野線,2.1 JM 16,JM 17,武蔵野線,2 JM 17,JM 18,武蔵野線,2.1 JM 18,JM 19,武蔵野線,1.5 JM 19,JM 20,武蔵野線,1.6 JM 20,JM 21,武蔵野線,1.9 JM 21,JM 22,武蔵野線,2.4 JM 22,JM 23,武蔵野線,4.7 JM 23,JM 24,武蔵野線,3.8 JM 24,JM 25,武蔵野線,3.7 JM 25,JM 26,武蔵野線,1.9 JM 26,JM 27,武蔵野線,2 JM 27,JM 28,武蔵野線,5 JM 28,JM 29,武蔵野線,3.1 JM 29,JM 30,武蔵野線,0.3 JM 30,JM 31,武蔵野線,6.4 JM 31,JM 32,武蔵野線,5.6 JM 32,JM 33,武蔵野線,3.5 JM 33,JM 34,武蔵野線,2.2 JM 34,JM 35,武蔵野線,1.7 JE 01,JE 02,京葉線,1.2 JE 02,JE 03,京葉線,1.6 JE 03,JE 04,京葉線,2.6 JE 04,JE 05,京葉線,2 JE 05,JE 06,京葉線,3.2 JE 06,JE 07,京葉線,2.1 JE 07,JE 08,京葉線,3.4 JE 08,JE 09,京葉線,2.1 JE 09,JE 10,京葉線,4.4 JE 10,JE 11,京葉線,3.4 JE 11,JE 12,京葉線,2.3 JE 12,JE 13,京葉線,3.4 JE 13,JE 14,京葉線,2 JE 14,JE 15,京葉線,1.6 JE 15,JE 16,京葉線,3.7 JE 09,JM 10,京葉線,5.9 JM 10,JE 11,京葉線,5.4 JA 08,JA 09,埼京線,3.6 JA 09,JA 10,埼京線,1.6 JA 10,JA 11,埼京線,3.4 JA 11,JA 12,埼京線,4.8 JA 12,JA 13,埼京線,1.8 JA 13,JA 14,埼京線,1.7 JA 14,JA 15,埼京線,2 JA 15,JA 16,埼京線,1.5 JA 16,JA 17,埼京線,1.6 JA 17,JA 18,埼京線,2.4 JA 18,JA 19,埼京線,1.3 JA 19,JA 20,埼京線,1.4 JA 20,JA 21,埼京線,2.4 JA 21,JA 22,埼京線,1.2 JA 22,JA 23,埼京線,1.7 JA 23,JA 24,埼京線,1.6 JA 24,JA 25,埼京線,1.1 JA 25,JA 26,埼京線,1.8 JO 01,JO 02,横須賀線,4.6 JO 02,JO 03,横須賀線,3.4 JO 03,JO 04,横須賀線,2.1 JO 04,JO 05,横須賀線,3.4 JO 05,JO 06,横須賀線,2 JO 06,JO 07,横須賀線,3.9 JO 07,JO 08,横須賀線,2.2 JO 08,JO 09,横須賀線,2.3 JO 09,JO 10,横須賀線,5.6 JO 10,JO 11,横須賀線,4.2 JO 11,JO 12,横須賀線,4.9 JO 12,JO 13,横須賀線,10.1 JO 13,JO 14,横須賀線,5.1 JO 14,JO 15,横須賀線,2.7 JO 15,JO 16,横須賀線,6.4 JO 16,JO 17,横須賀線,3.6 JO 17,JO 18,横須賀線,4.9 JO 18,JO 19,横須賀線,1.9 JO 19,JO 20,総武快速線,1.2 JO 20,JO 21,総武快速線,1.1 JO 21,JO 22,総武快速線,2.5 JO 22,JO 23,総武快速線,5.2 JO 23,JO 24,総武快速線,5.4 JO 24,JO 25,総武快速線,7.8 JO 25,JO 26,総武快速線,3.5 JO 26,JO 27,総武快速線,9.2 JO 27,JO 28,総武快速線,3.3 JK 01,JK 02,根岸線,3.6 JK 02,JK 03,根岸線,2.5 JK 03,JK 04,根岸線,1.9 JK 04,JK 05,根岸線,3 JK 05,JK 06,根岸線,1.6 JK 06,JK 07,根岸線,2.4 JK 07,JK 08,根岸線,2.1 JK 08,JK 09,根岸線,1.2 JK 09,JK 10,根岸線,0.8 JK 10,JK 11,根岸線,1 JK 11,JK 12,根岸線,2 JK 12,JK 13,京浜東北線,1.8 JK 13,JK 14,京浜東北線,2.2 JK 14,JK 15,京浜東北線,3.1 JK 15,JK 16,京浜東北線,3.5 JK 16,JK 17,京浜東北線,3.8 JK 17,JK 18,京浜東北線,3 JK 18,JK 19,京浜東北線,2.2 JK 19,JK 20,京浜東北線,2.4 JK 20,JK 22,京浜東北線,2.2 JK 22,JK 23,京浜東北線,1.5 JK 23,JK 24,京浜東北線,1.2 JK 24,JK 25,京浜東北線,0.8 JK 25,JK 26,京浜東北線,1.1 JK 26,JK 27,京浜東北線,1.3 JK 27,JK 28,京浜東北線,0.7 JK 28,JK 29,京浜東北線,1 JK 29,JK 30,京浜東北線,0.6 JK 30,JK 31,京浜東北線,1.1 JK 31,JK 32,京浜東北線,1.1 JK 32,JK 33,京浜東北線,0.5 JK 33,JK 34,京浜東北線,0.8 JK 34,JK 35,京浜東北線,1.7 JK 35,JK 36,京浜東北線,1.1 JK 36,JK 37,京浜東北線,1.5 JK 37,JK 38,京浜東北線,1.8 JK 38,JK 39,京浜東北線,2.6 JK 39,JK 40,京浜東北線,2 JK 40,JK 41,京浜東北線,1.9 JK 41,JK 42,京浜東北線,2.8 JK 42,JK 43,京浜東北線,1.7 JK 43,JK 44,京浜東北線,1.8 JK 44,JK 45,京浜東北線,1.6 JK 45,JK 46,京浜東北線,1.1 JK 46,JK 47,京浜東北線,1.6 JH 13,JH 14,横浜線,2.2 JH 14,JH 15,横浜線,2.6 JH 15,JH 16,横浜線,1.3 JH 16,JH 17,横浜線,1.7 JH 17,JH 18,横浜線,3.1 JH 18,JH 19,横浜線,2.6 JH 19,JH 20,横浜線,2.4 JH 20,JH 21,横浜線,2 JH 21,JH 22,横浜線,2.3 JH 22,JH 23,横浜線,2.7 JH 23,JH 24,横浜線,2.8 JH 24,JH 25,横浜線,2.7 JH 25,JH 26,横浜線,0.8 JH 26,JH 27,横浜線,1.8 JH 27,JH 28,横浜線,2.8 JH 28,JH 29,横浜線,1.9 JH 29,JH 30,横浜線,2.9 JH 30,JH 31,横浜線,1.4 JH 31,JH 32,横浜線,2.6 JN 01,JN 02,南武線,1.7 JN 02,JN 03,南武線,0.9 JN 03,JN 04,南武線,1.5 JN 04,JN 05,南武線,1.2 JN 05,JN 06,南武線,1.3 JN 06,JN 07,南武線,0.9 JN 07,JN 08,南武線,1.7 JN 08,JN 09,南武線,1.3 JN 09,JN 10,南武線,2.2 JN 10,JN 11,南武線,1.2 JN 11,JN 12,南武線,1 JN 12,JN 13,南武線,1.3 JN 13,JN 14,南武線,1.1 JN 14,JN 15,南武線,2.2 JN 15,JN 16,南武線,1.3 JN 16,JN 17,南武線,1.6 JN 17,JN 18,南武線,1.7 JN 18,JN 19,南武線,1.4 JN 19,JN 20,南武線,2.4 JN 20,JN 21,南武線,0.9 JN 21,JN 22,南武線,1.2 JN 22,JN 23,南武線,1.6 JN 23,JN 24,南武線,1.4 JN 24,JN 25,南武線,1.3 JN 25,JN 26,南武線,1.2 JB 01,JB 02,中央・総武緩行線,1.6 JB 02,JB 03,中央・総武緩行線,1.9 JB 03,JB 04,中央・総武緩行線,1.9 JB 04,JB 05,中央・総武緩行線,1.4 JB 05,JB 06,中央・総武緩行線,1.2 JB 06,JB 07,中央・総武緩行線,1.4 JB 07,JB 08,中央・総武緩行線,1.9 JB 08,JB 09,中央・総武緩行線,1.1 JB 09,JB 10,中央・総武緩行線,1.4 JB 10,JB 11,中央・総武緩行線,0.7 JB 11,JB 12,中央・総武緩行線,1 JB 12,JB 13,中央・総武緩行線,0.7 JB 13,JB 14,中央・総武緩行線,1.3 JB 14,JB 15,中央・総武緩行線,0.8 JB 15,JB 16,中央・総武緩行線,1.5 JB 16,JB 17,中央・総武緩行線,0.9 JB 17,JB 18,中央・総武緩行線,0.8 JB 18,JB 19,中央・総武緩行線,0.9 JB 19,JB 20,中央・総武緩行線,1.1 JB 20,JB 21,中央・総武緩行線,0.8 JB 21,JB 22,中央・総武緩行線,1.5 JB 22,JB 23,中央・総武緩行線,1.5 JB 23,JB 24,中央・総武緩行線,1.9 JB 24,JB 25,中央・総武緩行線,1.8 JB 25,JB 26,中央・総武緩行線,2.8 JB 26,JB 27,中央・総武緩行線,2.6 JB 27,JB 28,中央・総武緩行線,2 JB 28,JB 29,中央・総武緩行線,1.6 JB 29,JB 30,中央・総武緩行線,1.6 JB 30,JB 31,中央・総武緩行線,2.6 JB 31,JB 32,中央・総武緩行線,1.8 JB 32,JB 33,中央・総武緩行線,1.7 JB 33,JB 34,中央・総武緩行線,2.9 JB 34,JB 35,中央・総武緩行線,2 JB 35,JB 36,中央・総武緩行線,1.6 JB 36,JB 37,中央・総武緩行線,2.7 JB 37,JB 38,中央・総武緩行線,1.9 JB 38,JB 39,中央・総武緩行線,1.4 JC 01,JC 02,中央快速線,1.3 JC 02,JC 03,中央快速線,4.5 JC 03,JC 04,中央快速線,3.8 JC 04,JC 05,中央快速線,3.2 JC 05,JC 06,中央快速線,1.9 JC 06,JC 07,中央快速線,1.4 JC 07,JC 08,中央快速線,1.2 JC 08,JC 09,中央快速線,1.4 JC 09,JC 10,中央快速線,1.9 JC 10,JC 11,中央快速線,1.9 JC 11,JC 12,中央快速線,1.6 JC 12,JC 13,中央快速線,1.6 JC 13,JC 14,中央快速線,1.7 JC 14,JC 15,中央快速線,1.7 JC 15,JC 16,中央快速線,2.3 JC 16,JC 17,中央快速線,1.4 JC 17,JC 18,中央快速線,1.7 JC 18,JC 19,中央快速線,3 JC 19,JC 20,中央快速線,3.3 JC 20,JC 21,中央快速線,2.3 JC 21,JC 22,中央快速線,4.3 JC 22,JC 23,中央快速線,2.4 JC 23,JC 24,中央快速線,3.3 R 01,R 02,りんかい線,2.2 R 02,R 03,りんかい線,1.3 R 03,R 04,りんかい線,1.4 R 04,R 05,りんかい線,2.9 R 05,R 06,りんかい線,1.1 R 06,R 07,りんかい線,1.6 R 07,R 08,りんかい線,1.7 U-01,U-02,ゆりかもめ,0.4 U-02,U-03,ゆりかもめ,1.2 U-03,U-04,ゆりかもめ,0.6 U-04,U-05,ゆりかもめ,0.9 U-05,U-06,ゆりかもめ,3.9 U-06,U-07,ゆりかもめ,0.8 U-07,U-08,ゆりかもめ,0.6 U-08,U-09,ゆりかもめ,0.8 U-09,U-10,ゆりかもめ,1 U-10,U-11,ゆりかもめ,1.1 U-11,U-12,ゆりかもめ,0.7 U-12,U-13,ゆりかもめ,0.7 U-13,U-14,ゆりかもめ,0.8 U-14,U-15,ゆりかもめ,0.5 U-15,U-16,ゆりかもめ,0.7`データ取り込み
- ブラウザでNeo4jのWebコンソールを開き、コマンドラインに以降のコマンドを張り付けて実行します。
//CSVファイルから駅ノードを登録
LOAD CSV WITH HEADERS FROM "file:///railway_node.csv" AS row
CREATE (n:Station)
SET n = row;
//ナンバリングのインデックスを作成
CREATE INDEX ON :Station(numbering);
//CSVファイルから駅間エッジを登録
LOAD CSV WITH HEADERS FROM "file:///railway_edge.csv" AS row
MATCH (p1 {numbering: row.numbering_a }), (p2 {numbering: row.numbering_b })
CREATE (p1)-[r:Connect]->(p2)
SET r.distance = toFloat(row.distance), r.line = row.line;
//同名駅の乗り換えエッジを登録
MATCH (p1:Station),(p2:Station)
WHERE p1.rawname = p2.rawname AND p1.numbering <> p2.numbering
AND NOT (p2)-[:Transfer]->(p1)
CREATE (p1)-[:Transfer{TransferCost:1}]->(p2);
//乗り換え駅として案内されている乗り換えエッジを登録(一部)(一行ずつ実行する)
MATCH (p1:Station{rawname:'溜池山王駅'}),(p2:Station{rawname:'国会議事堂前駅'}) CREATE (p1)-[:Transfer{TransferCost:1}]->(p2);
MATCH (p1:Station{rawname:'赤坂見附駅'}),(p2:Station{rawname:'永田町駅'}) CREATE (p1)-[:Transfer{TransferCost:1}]->(p2);
MATCH (p1:Station{rawname:'後楽園駅'}),(p2:Station{rawname:'春日駅'}) CREATE (p1)-[:Transfer{TransferCost:1}]->(p2);
//乗り換えコストを更新する(一部)
//武蔵小杉駅の南武線―横須賀線・湘南新宿ライン乗り換え
MATCH (p1:Station)-[r:Transfer]-(p2:Station)
WHERE p1.numbering = 'JN 07' AND p2.numbering IN ['JO 15', 'JS 15']
SET r.TransferCost = 10.0;
//大井町駅のりんかい線―京浜東北線乗り換え
MATCH (p1:Station)-[r:Transfer]-(p2:Station)
WHERE p1.numbering = 'R 07' AND p2.numbering = 'JK 19'
SET r.TransferCost = 5.0;
乗り換えコストについては、「普通に乗り換えができる(コンコースへ出て、別ホームへ移動する)なら1.0」、それ以外に移動距離が長いなど乗り換えの負担が大きければ2.0以上というようなイメージです。
検索する
例として、新横浜駅から渋谷駅まで行く場合の最短経路を考えます。
最小駅数の経路と、最短営業キロの経路の2つのケースで検索します。
ケース1 最小駅数で到着する経路を探す
結果をグラフで表示
MATCH sp = shortestPath((start:Station{rawname:'新横浜駅'})-[*]-(end:Station{rawname:'渋谷駅'}))
WITH sp, LENGTH(sp) AS 駅数
RETURN sp ORDER BY 駅数 ASC LIMIT 1;
利用駅と総営業キロを表示
MATCH path = shortestPath((start:Station{rawname:'新横浜駅'})-[rels*]-(end:Station{rawname:'渋谷駅'}))
RETURN [p IN NODES(path) | p.name] AS `利用駅(通過駅含む)`,
SIZE(NODES(path)) AS 駅数,
REDUCE(sum = 0, r in rels | sum + CASE WHEN r.distance IS null THEN 0 ELSE r.distance END) AS 総営業キロ
ORDER BY 駅数 ASC LIMIT 1;
乗り換え回数、乗り換えコストを表示
MATCH path = shortestPath((start:Station{rawname:'新横浜駅'})-[rels*]-(end:Station{rawname:'渋谷駅'}))
RETURN REDUCE(sum = 0, t in [p IN RELATIONSHIPS(path) | CASE WHEN type(p)='Transfer' THEN 1 ELSE 0 END ] | sum + t) AS 乗り換え回数,
REDUCE(sum = 0, r in rels | sum + CASE WHEN r.TransferCost IS null THEN 0 ELSE r.TransferCost END) AS 乗り換えコスト
ORDER BY 乗り換え回数 ASC LIMIT 1;
ケース2 最短営業キロで到着する経路を探す
Neo4jグラフアルゴリズムについてはこちら。
このクエリーは駅名を一覧で表示するもので、残念ならが結果のパスをグラフで表示できるものではないです。
MATCH (start:Station{numbering:'JH 16'}),(end:Station{numbering:'JY 20'})
CALL algo.shortestPath.stream(start, end, 'distance', {defaultValue:0.0})
YIELD nodeId, cost
RETURN algo.asNode(nodeId).name AS name, cost
なお、駅名で指定すると複数パスの結果が連続して出てくるので、ここではナンバリングを指定してノードを1つに固定にしてます。
参考までに、次のようなクエリーを書くとノードはグラフで表示できます。Browser Settings
でConnect result nodes
を有効にしておくとエッジも表示されますが、結果とは別のエッジがある場合はそれも出てきます。
MATCH (start:Station{numbering:'JH 16'}),(end:Station{numbering:'JY 20'})
CALL algo.shortestPath.stream(start, end, 'distance', {defaultValue:0.0})
YIELD nodeId, cost
WITH COLLECT(nodeId) AS nlist
MATCH (n) WHERE id(n) IN nlist
RETURN n