LoginSignup
44
40

More than 5 years have passed since last update.

MacでNeo4jを使ってみる

Last updated at Posted at 2015-02-20

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 3.0.6

neo4j3.0-download.png

Neo4jのインストール

インストールパッケージをクリックし、インストールを実行してください。

neo4j-community_macos_3_0_6.dmg

インストールが終了すると、アイコン作成のガイド画面が表示されます。Neo4jのアイコンを矢印の方向に「ドラック&ドロップ」し、アプリケーションとして登録してください。

mac-install-0.png

Neo4jの起動

Neo4jのアイコンをクリックしてください。

mac-install-1.png

Neo4jのコントロール画面が表示されます。データベースファイルの格納先や設定を変える必要がなければ、そのまま「Start」をクリックします。

mac-install-2.png

Neo4jの開始画面が表示されます。

mac-install-3.png

Neo4jのWebインターフェースのリンクをクリックするか、ブラウザーにURLを入力して接続してください。

http://localhost:7474

Neo4jへのログイン

データベース毎に初期画面では、既定のユーザーとパスワードを入力し、Neo4サーバーに接続します(neo4j/neo4j)。

neo4j3.0-login-1.png

1回目のログインでは、初期パスワードの変更が必要です。パスワードを決めて「Set password」をクリックします。

neo4j3.0-login-2.png

次のようなNeo4jのWebインターフェースが表示されます。ここまで表示できたらインストールは成功です。
neo4j3.0-login-3.png

演習用の映画データベース作成

Neo4jのWebインターフェースから簡単に映画データベースを作成できます。コマンドライン「$」に、下記の構文を入力し、右端の実行ボタン(▶)をクリックします。

:play movie graph

映画データベースの紹介画面が表示されたら右に移動します。そして、次のような映画データベース作成用のCypherクエリ文が表示されたら、枠のなかをクリックするとコマンドラインにコピーされますので、そのまま実行ボタン(▶)をクリックします。

setup306-4.png

次のようなグラフが表示されたらデータベース作成は成功です。

movie-graph.png

Neo4jのデータ処理

Neo4jのデータ処理は、GUI及びCUIを適切にミックスして行います。

例えば、Keanu Reevesさんが出演した映画を検索するとします。これは、次のようなデータモデルとして可視化して表現することができます。さらに、「下図のようなデータを検索してほしい」、というような依頼も可能です。

pattarn-search-1.png

これをCypherクエリで書くと、次のようになります。

MATCH (actor:Person)-[r:ACTED_IN]->(movie)
WHERE  actor.name = "Keanu Reeves"
RETURN actor,movie 

実際の検索結果は、次のようなグラフです。

keanu-movie-1.png

グラフはテキストとして出力できます。

MATCH (actor:Person)-[r:ACTED_IN]->(movie)
WHERE  actor.name = "Keanu Reeves"
RETURN actor.name,movie.title 

keanu-movie-2.png

このようにCypherクエリは、SQLを超える型破りのクエリ言語です。興味ある方は:play movie graphの続きにある演習用のCyhperクエリを実行してみてください。Webインターフェースの他の機能に触れてみるのもいいでしょう。

Neo4jウェブインターフェースを使い倒す

Neo4jのストップ

Neo4jをストップは、下記のようにストップコマンドを実行します。

# /usr/neo4j/bin/neo4j stop

まとめ

以上、Neo4jのインストール手順を紹介しました。興味ある方は、次のサイトや書籍を参照してください。

関連サイト

書籍

44
40
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
44
40