LoginSignup
1
3

More than 3 years have passed since last update.

Neo4jで鉄道の乗り換え案内を作成する

Last updated at Posted at 2020-01-12

はじめに

  • 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;

rw_001.png

利用駅と総営業キロを表示

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;

rw_002.png

乗り換え回数、乗り換えコストを表示

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;

rw_003.png

ケース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つに固定にしてます。
rw_004.png

参考までに、次のようなクエリーを書くとノードはグラフで表示できます。Browser SettingsConnect 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

rw_005.png

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3