MacにグラフデータベースNeo4jをインストールしてみました。Neo4jは、シンプルなグラフ構造のデータからSQLライクなサイファークエリ(Cypher Query)を使って、SQLをはらかに超える複雑なデータ処理が可能な革新的なデータベースです。
この記事は、Neo4j v3.0.6(2016-09-16)に合わせて更新しています。
参考
##JDKのインストール
JDK8をダウンロードし、インストールしてください。
Mac OS X:dk-8u101-macosx-x64.dmg
$java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
##Neo4jインストールパッケージのダウンロード
最新の安定版は、こちらから入手できます。今回は、コミュニティ版のNeo4j 3.0.6 (dmg)を使います。
##Neo4jのインストール
インストールパッケージをクリックし、インストールを実行してください。
neo4j-community_macos_3_0_6.dmg
インストールが終了すると、アイコン作成のガイド画面が表示されます。Neo4jのアイコンを矢印の方向に「ドラック&ドロップ」し、アプリケーションとして登録してください。
##Neo4jの起動
Neo4jのアイコンをクリックしてください。
Neo4jのコントロール画面が表示されます。データベースファイルの格納先や設定を変える必要がなければ、そのまま「Start」をクリックします。
Neo4jの開始画面が表示されます。
Neo4jのWebインターフェースのリンクをクリックするか、ブラウザーにURLを入力して接続してください。
http://localhost:7474
Neo4jへのログイン
データベース毎に初期画面では、既定のユーザーとパスワードを入力し、Neo4サーバーに接続します(neo4j/neo4j)。
1回目のログインでは、初期パスワードの変更が必要です。パスワードを決めて「Set password」をクリックします。
次のようなNeo4jのWebインターフェースが表示されます。ここまで表示できたらインストールは成功です。
演習用の映画データベース作成
Neo4jのWebインターフェースから簡単に映画データベースを作成できます。コマンドライン「$」に、下記の構文を入力し、右端の実行ボタン(▶)をクリックします。
:play movie graph
映画データベースの紹介画面が表示されたら右に移動します。そして、次のような映画データベース作成用のCypherクエリ文が表示されたら、枠のなかをクリックするとコマンドラインにコピーされますので、そのまま実行ボタン(▶)をクリックします。
次のようなグラフが表示されたらデータベース作成は成功です。
Neo4jのデータ処理
Neo4jのデータ処理は、GUI及びCUIを適切にミックスして行います。
例えば、Keanu Reevesさんが出演した映画を検索するとします。これは、次のようなデータモデルとして可視化して表現することができます。さらに、「下図のようなデータを検索してほしい」、というような依頼も可能です。
これをCypherクエリで書くと、次のようになります。
MATCH (actor:Person)-[r:ACTED_IN]->(movie)
WHERE actor.name = "Keanu Reeves"
RETURN actor,movie
実際の検索結果は、次のようなグラフです。
グラフはテキストとして出力できます。
MATCH (actor:Person)-[r:ACTED_IN]->(movie)
WHERE actor.name = "Keanu Reeves"
RETURN actor.name,movie.title
このようにCypherクエリは、SQLを超える型破りのクエリ言語です。興味ある方は:play movie graphの続きにある演習用のCyhperクエリを実行してみてください。Webインターフェースの他の機能に触れてみるのもいいでしょう。
##Neo4jのストップ
Neo4jをストップは、下記のようにストップコマンドを実行します。
# /usr/neo4j/bin/neo4j stop
##まとめ
以上、Neo4jのインストール手順を紹介しました。興味ある方は、次のサイトや書籍を参照してください。
関連サイト
書籍