1. awk256

    No comment

    awk256
Changes in body
Source | HTML | Preview
@@ -1,147 +1,151 @@
-WindowsにグラフデータベースNeo4j(v3.0.6,2016-09-16)をインストールしてみました。Neo4jは、シンプルなグラフ構造のデータからSQLライクなサイファークエリ(Cypher Query)を使って、SQLをはらかに超える複雑なデータ処理が可能な革新的なデータベースです。
+WindowsにグラフデータベースNeo4jをインストールしてみました。Neo4jは、シンプルなグラフ構造のデータからSQLライクなサイファークエリ(Cypher Query)を使って、SQLをはらかに超える複雑なデータ処理が可能な革新的なデータベースです。
+
+```
+この記事は、Neo4j v3.0.6(2016-09-16)に合わせて更新しています。
+```
+
**参考**
* [Install Neo4j](https://neo4j.com/docs/developer-manual/current/get-started/#install-neo4j)
* [Post-installation tasks](http://neo4j.com/docs/operations-manual/3.0/deployment/post-installation/)
##JDKのインストール
JDK8をダウンロードし、インストールしてください。
[Windows 64:jdk-8u101-windows-x64.exe](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
JDKのインストールが終了したら、「コントロール パネル>>システムとセキュリティ>>システム>>システムの詳細設定>>詳細設定>>環境変数>>システムの環境変数」でJAVA_HOMEを設定します。
下記は、筆者の環境です。
```
JAVA_HOME=C:\Java\jdk1.8.0_25\jre
```
##Neo4jインストールパッケージのダウンロード
最新の安定版は、こちらから入手できます。今回は、コミュニティ版のNeo4j 3.0.6 (exe)を使います。
[Neo4j 3.0.6 (exe)](https://neo4j.com/download/other-releases/)
![neo4j3.0-download.png](https://qiita-image-store.s3.amazonaws.com/0/69832/3a36844f-0c83-e885-e54f-679ff8b51192.png)
```
Windowsのzip版は、PowerShellでの使用を前提にし、構成もLinux版のようになっています。インストール対象がWindows Serverではないならお勧めしません。
```
##Neo4jのインストール
インストールパッケージをクリックし、インストールを実行してください。
```
neo4j-community_windows-x64_3_0_6.exe
```
![neo4j3.0-start-0.png](https://qiita-image-store.s3.amazonaws.com/0/69832/d0d87cc5-aa5d-c27a-592b-904efa408b15.png)
##Neo4jの開始
Neo4jのアイコンをクリックしてください。Neo4jのコントロール画面が表示されます。データベースファイルの格納先や設定を変える必要がなければ、そのまま「Start」をクリックします。
![neo4j3.0-start-1.png](https://qiita-image-store.s3.amazonaws.com/0/69832/42218379-54df-6c28-a64a-f3be9f98a839.png)
Neo4jの開始画面が表示されます。
![neo4j3.0-start-2.png](https://qiita-image-store.s3.amazonaws.com/0/69832/04a73453-2ea1-a892-e54d-d66f6144f546.png)
Neo4jのWebインターフェースのリンクをクリックするか、ブラウザーにURLを入力して接続してください。
```
http://localhost:7474
```
## Neo4jへのログイン
データベース毎に初期画面では、既定のユーザーとパスワードを入力し、Neo4サーバーに接続します(neo4j/neo4j)。
![neo4j3.0-login-1.png](https://qiita-image-store.s3.amazonaws.com/0/69832/efc0ea21-b629-7ddb-231b-abd0dd190b34.png)
1回目のログインでは、初期パスワードの変更が必要です。パスワードを決めて「Set password」をクリックします。
![neo4j3.0-login-2.png](https://qiita-image-store.s3.amazonaws.com/0/69832/c29c6f67-a21a-2c87-e46c-6c4cd5b13995.png)
次のようなNeo4jのWebインターフェースが表示されます。ここまで表示できたらインストールは成功です。
![neo4j3.0-login-3.png](https://qiita-image-store.s3.amazonaws.com/0/69832/5d60ef68-3ff3-60c0-c22a-4ec85f1c5a83.png)
## 演習用の映画データベース作成
Neo4jのWebインターフェースから簡単に映画データベースを作成できます。コマンドライン「$」に、下記の構文を入力し、右端の実行ボタン(▶)をクリックします。
```
:play movie graph
```
映画データベースの紹介画面が表示されたら右に移動します。そして、次のような映画データベース作成用のCypherクエリ文が表示されたら、枠のなかをクリックするとコマンドラインにコピーされますので、そのまま実行ボタン(▶)をクリックします。
![setup306-4.png](https://qiita-image-store.s3.amazonaws.com/0/69832/1a0ce00c-f425-db5d-dec8-95e640756c33.png)
次のようなグラフが表示されたらデータベース作成は成功です。
![movie-graph.png](https://qiita-image-store.s3.amazonaws.com/0/69832/4868ec58-2240-c16e-d1a0-65cbce839e25.png)
## Neo4jのデータ処理
Neo4jのデータ処理は、GUI及びCUIを適切にミックスして行います。
例えば、Keanu Reevesさんが出演した映画を検索するとします。これは、次のようなデータモデルとして可視化して表現することができます。さらに、「下図のようなデータを検索してほしい」、というような依頼も可能です。
![pattarn-search-1.png](https://qiita-image-store.s3.amazonaws.com/0/69832/473d33df-a1fc-c1b6-64dd-5a1763e2ab92.png)
これをCypherクエリで書くと、次のようになります。
```
MATCH (actor:Person)-[r:ACTED_IN]->(movie)
WHERE actor.name = "Keanu Reeves"
RETURN actor,movie
```
実際の検索結果は、次のようなグラフです。
![keanu-movie-1.png](https://qiita-image-store.s3.amazonaws.com/0/69832/f2e55263-de27-94f9-e465-5fda36df519e.png)
グラフはテキストとして出力できます。
```
MATCH (actor:Person)-[r:ACTED_IN]->(movie)
WHERE actor.name = "Keanu Reeves"
RETURN actor.name,movie.title
```
![keanu-movie-2.png](https://qiita-image-store.s3.amazonaws.com/0/69832/0468afa3-a703-89eb-3bf6-b2c1b959916c.png)
このようにCypherクエリは、SQLを超える型破りのクエリ言語です。興味ある方は:play movie graphの続きにある演習用のCyhperクエリを実行してみてください。Webインターフェースの他の機能に触れてみるのもいいでしょう。
[Neo4jウェブインターフェースを使い倒す](
http://qiita.com/awk256/items/4448899663a6aa82e88d)
##Neo4jのストップ
Neo4jをストップは、下記のようにストップコマンドを実行します。
```
# /usr/neo4j/bin/neo4j stop
```
##まとめ
以上、Neo4jのインストール手順を紹介しました。興味ある方は、次のサイトや書籍を参照してください。
**関連サイト**
* [neo4j.com](http://neo4j.com)
* [クリエーションライン社](http://www.creationline.com/lab/neo4j)
* [Neo4jユーザグループ](https://www.facebook.com/neo4jusersgroup/)
**書籍**
* [Cypherクエリー言語の事例で学ぶグラフデータベースNeo4j](https://www.amazon.co.jp//dp/B0171LWZ9O)
* [グラフ型データベース入門 - Neo4jを使う](https://www.amazon.co.jp/dp/dp/4865940154)
* [RDB技術者のためのNoSQLガイド](https://www.amazon.co.jp/dp/479804573X)