【Neo4j】Dockerで試すNeo4j【第2回/データ追加編】
前回は、Dockerを使ったNeo4jのセットアップとユーザの作成について解説してみました。
今回は、「Dockerで試すNeo4j」シリーズで使用するデータを追加し、MATCH
クエリを使って追加したデータを簡単に確認してみたいと思います。
↓ 前回の記事はこちら
目次
はじめに
まずは、前回の内容に従って、Neo4jコンテナを起動し、http://localhost:57474/にアクセスしてログインしてください。
念のため、DBの切替リクエストをしておきます。
クエリ入力欄に、以下のように入力して、クエリを実行してください。
:use neo4j
クエリ入力欄にneo4j$
のような表示がされていれば、切替完了です。
データを追加する!
それでは、早速、「Dockerで試すNeo4j」シリーズで使用するデータを追加していきます。
クエリ入力欄に、以下のクエリをコピペして実行してください。
CREATE (Taro:Person {id:'Taro', name:'Taro'}) CREATE (Yuji:Person {id:'Yuji', name:'Yuji'}) CREATE (Ichiro:Person {id:'Ichiro', name:'Ichiro'}) CREATE (Ziro:Person {id:'Ziro', name:'Ziro'}) CREATE (Saburo:Person {id:'Saburo', name:'Saburo'}) CREATE (Hanako:Person {id:'Hanako', name:'Hanako'}) CREATE (Takako:Person {id:'Takako', name:'Takako'}) CREATE (Tetsuko:Person {id:'Tetsuko', name:'Tetsuko'}) CREATE (Sizue:Person {id:'Sizue', name:'Sizue'}) CREATE (Tokie:Person {id:'Tokie', name:'Tokie'}) CREATE (Tomoko:Person {id:'Tomoko', name:'Tomoko'}) CREATE (Taro)- [:FOLLOW] - >(Saburo), (Taro)- [:FOLLOW] - >(Takako), (Yuji)- [:FOLLOW] - >(Sizue), (Ichiro)- [:FOLLOW] - >(Saburo), (Ziro)- [:FOLLOW] - >(Tetsuko), (Saburo)- [:FOLLOW] - >(Taro), (Saburo)- [:FOLLOW] - >(Hanako), (Hanako)- [:FOLLOW] - >(Tetsuko), (Takako)- [:FOLLOW] - >(Hanako), (Tetsuko)- [:FOLLOW] - >(Taro), (Tetsuko)- [:FOLLOW] - >(Sizue), (Tetsuko)- [:FOLLOW] - >(Tokie), (Tetsuko)- [:FOLLOW] - >(Yuji), (Sizue)- [:FOLLOW] - >(Taro), (Tokie)- [:FOLLOW] - >(Yuji), (Tokie)- [:FOLLOW] - >(Taro), (Tokie)- [:FOLLOW] - >(Takako)
id
とname
プロパティをもったPerson
ノードと、Person
同士のリレーションFOLLOW
を追加しています。
追加したデータを確認!
「Person」ノードをチェック
まずは、追加したPerson
ノードを確認してみます。
以下のクエリを入力して実行してみてください。
MATCH (n:Person) RETURN n
実行結果は以下の通りです。
「Tomoko」さんに関するFOLLOW
リレーションは追加していないため、リンクされていません。
FOLLOW
リレーションのチェック
次に、FOLLOW
リレーションを確認してみます。
以下のクエリを実行してみてください。
MATCH p=()-[:FOLLOW]->() RETURN p
結果は以下の通り。
以下の画像は、見やすさにために、各ノードの位置を少し調整したものです。
Person
ノードをチェックしたときとは異なり、FOLLOW
リレーションがない「Tomoko」さんは表示されていません。
サンプルコード
以下のリポジトリに「Dockerで試すNeo4j」シリーズ全話分のコードを設置しています。
うまく動かない場合は、上記のリポジトリをクローンして試してみてください。
まとめ
今回は、「Dockerで試すNeo4j」シリーズで使用するデータを追加し、追加したデータを簡単に確認してみました。
他のDBだと面倒そうな、複雑なリレーションの表現が、Neo4jなら簡単にできてしまいます。
次回は、データ検索の要となるMATCH
クエリのより詳細な使い方を紹介したいと思います。
↓ 「Dockerで試すNeo4j」シリーズ記事一覧はこちら