1. awk256

    No comment

    awk256
Changes in body
Source | HTML | Preview
@@ -1,171 +1,171 @@
WindowsにグラフデータベースNeo4jをインストールしてみました。Neo4jは、シンプルなグラフ構造のデータからSQLライクなサイファークエリ(Cypher Query)を使って、SQLをはらかに超える複雑なデータ処理が可能な革新的なデータベースです。
```
本記事は、Neo4j v3.5.9(2 September 2019 Release)に合わせて更新しています。
```
**参考**
* [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をダウンロードし、インストールしてください。Neo4j v3.x`の開発は、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インストールパッケージのダウンロード
インストールパッケージをこちらから入手してください。とりあえず、お試しならCommunity Serverを選んで下さい。
[neo4j.com/download/other-releases](https://neo4j.com/download/other-releases/)
![commuity-neo4j 3.5.9(zip).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/69832/2750041d-9c76-297e-8f0f-fc3ffdeb20c7.png)
>Enterprise Serverは、有償版ですが1カ月限定で無料で利用できます。
-Neo4j Desktopは、有償版のクライアント側のSDKですが、開発などローカルで利用する場合は、無償で利用できます。Neo4j Desktopは、Neo4j Server EnterpriseとNeo4j Browser、Bloom、ETLツール、APOCプロシージャ、グラフライブラリなどを統合して利用できます。詳しく知りたい方は、こちら(https://www.creationline.com/lab/24847)を参照してください
+Neo4j Desktopは、有償版のクライアント側のSDKですが、開発などローカルで利用する場合は、無償で利用できます。Neo4j Desktopは、Neo4j Server EnterpriseとNeo4j Browser、Bloom、ETLツール、APOCプロシージャ、グラフライブラリなどを統合して利用できます。詳しく知りたい方は、クリエーションライン社のブログを参照してください(https://www.creationline.com/lab/24847)。
##Neo4jのインストール
インストールパッケージを解凍し、適切なディレクトリに配置してください。
neo4j-community-3.5.9-windows.zipを解凍し、neo4j-community-3.5.9-windowsをC:\neo4j-community-3.5.9\のように移動するとか。
##Neo4jの開始
Neo4jのホームディレクトリに移動し、Neo4jサーバーを起動してください。
```
C:\neo4j-community-3.5.9>dir
ドライブ C のボリューム ラベルは OS です
ボリューム シリアル番号は 88AD-CFAC です
C:\neo4j-community-3.5.9 のディレクトリ
2019/09/19 14:08 <DIR> .
2019/09/19 14:08 <DIR> ..
2019/09/19 13:52 <DIR> bin
2019/09/19 14:08 <DIR> certificates
2019/09/19 13:52 <DIR> conf
2019/09/19 13:52 <DIR> data
2019/08/22 11:45 <DIR> import
2019/09/19 13:52 <DIR> lib
2019/09/19 13:04 36,700 LICENSE.txt
2019/09/19 13:04 103,692 LICENSES.txt
2019/08/22 11:45 <DIR> logs
2019/09/19 13:04 1,317 neo4j.cer
2019/09/19 13:04 6,918 NOTICE.txt
2019/09/19 13:52 <DIR> plugins
2019/09/19 13:04 1,648 README.txt
2019/08/22 11:45 <DIR> run
2019/09/19 13:04 97 UPGRADE.txt
C:\neo4j-community-3.5.9>bin\neo4j console
2019-09-19 05:08:31.862+0000 INFO ======== Neo4j 3.5.9 ========
2019-09-19 05:08:31.875+0000 INFO Starting...
2019-09-19 05:08:34.867+0000 INFO Bolt enabled on 127.0.0.1:7687.
2019-09-19 05:08:36.213+0000 INFO Started.
2019-09-19 05:08:36.914+0000 INFO Remote interface available at http://localhost:7474/
```
ここまでで、特に問題がなければ、Neo4jサーバーが起動している状態です。
WebブラウザーへURLを入力して接続してください。
```
http://localhost:7474
```
## Neo4jへのログイン
データベース毎に1回目のログインでは、既定のユーザーとパスワードを入力し、Neo4サーバーに接続します(neo4j/neo4j)。
![commuity-neo4j 3.5.9-login.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/69832/9dd57730-acf6-1db8-bb18-2a09f7b84d30.png)
既定のパスワードは変更が必要です。パスワードを決めて「Change password」をクリックします。
![commuity-neo4j 3.5.9-change-passwd.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/69832/5d5b2156-86fe-e3da-df14-c520ab86055a.png)
次のようなNeo4jのWebインターフェースが表示されます。ここまで表示できたらインストールは完璧に成功しています。
![commuity-neo4j 3.5.9-init.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/69832/98cc004c-efa8-0a5f-bf89-c994f4bfea17.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のデータ処理では、Cypher(サイファー)というSQLライクなクエリ言語を利用します。
Keanu Reevesさんが出演した映画を検索してみましょう。
```
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)