グラフDBの特徴は、RDBでは難しい関連性の検索を得意としていることで、実際に経路検索やリコメンドエンジンなどで使われているようです。面白かったのは、RDBでは難しい、クレジットカードの詐欺検知などでも使えるということで、人間がロジックを作るのが苦手な部分が得意という面で、機械学習とかに通ずる楽しさがありそう。初心者なので、用語の使い方がおかしかったり、クソコードだったりするかもしれませんが、その点はご容赦ください。試しに、電車の経路検索を作ってみます。consoleとやるとフォアグラウンドで、確実に立ち上がります。(謎)reset色々やっててデータを全消去したくなった時は、バージョンなどを読み替えて下記のコマンドで乱暴に消せます。startブラウザで見るhttp://localhost:7474/にアクセスすると、親切そうな画面が現れます。上のところにコマンド入れると色々実行できます。区切って複数実行出来るのですが、ブラウザで見る場合は1回の実行で必ず1回しか実行できないので、同じ変数が2回現れたりするとエラーなので注意です。neo4j-shellで立ち上がります。ブラウザで見た時に、チュートリアルで俳優と映画と役のサンプルデータをロードして、試せるようになっているので、それをやるとなんとなく分かります。完全にスキーマレスです。スキーマも決めなくて大丈夫なようです。ノードリレーションという登場人物がいます。言葉から連想される通りに、ノードが実際のモノを表していて、リレーションはノードとノードをつなぐ関連性を表します。どちらも、ラベル(プログラミングでいうところのクラスと同じと思ってOKそう)とプロパティ(これはそのままの意味)を持てます。これは書籍からの受け売りですが、どちらも抽象的なので、RDBのように事前に設計することは難しく、データ構造は試行錯誤しながらトライアンドエラーで決めていくもののようです。それぞれ止まる駅が異なるので、「駅Aから駅Bに1つ進む」という情報をリレーションとして持つという方針にしてみます。して持つなどもあると思います。今回は、↑でやってみました。経路検索をしてみるこの後は、空想の3路線をでっち上げて、路線検索を作ってみます。どの路線も必ず端から端までしか行かないとします。2つ以上の路線が交わる駅では乗り換えが出来ます。種別は、各駅停車と急行の2種類があります。各駅停車は、全部の駅に停車します。急行は、背景が黒い駅のみに止まります。線路に書いてある数字は、駅間の所要時間です。曲線で書いてあるところは、急行で移動した場合の所要時間です。ノードブラウザでもシェルでも良いので、コマンドが打てる状態にして、下記を打ちます。ms.成功したっぽいメッセージが出たと思います。n;とすると、丸が1個だけ画面上に出てきたと思います。リレーションリレーションは、ノード間の関係なので、ノードをもう1個作ります。'海岸2'});ノードを2個指定して、リレーションを作ります。(最近使い始めた)もう一度先ほどのコマンドを実行します。