2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Neo4jのCentOSへのインストールとデータの操作

Last updated at Posted at 2018-10-29

人気のあるグラフDB Neo4jの環境をこちらこちらの手順で構築した手順をまとめます。

##事前準備
javaが必要な為、Java最新Version install

yum -y install java-1.8.0-openjdk

##Neo4jのインストールと確認
yumでのインストールはこちらの手順

rpm --import https://debian.neo4j.org/neotechnology.gpg.key

vi /etc/yum.repos.d/neo4j.repo
[neo4j]
name=Neo4j RPM Repository
baseurl=https://yum.neo4j.org/stable
enabled=1
gpgcheck=1

yum -y install neo4j-3.4.9

neo4j --version

##Neo4jサービスの起動
サービス起動時に管理ツールがhttp://localhost:7474 で起動される

systemctl enable neo4j
systemctl start neo4j

##リモートアクセスの許可
neo4l.confの設定

vi /etc/neo4j/neo4j.conf

dbms.connector.http.enabled=true
dbms.connector.http.listen_address=XX.XX.XX.XX:7474 #サーバーのIPアドレス

dbms.connector.bolt.listen_address=0.0.0.0:7687  #Boltプロトコルコネクタ 
(0.0.0.0追加 :漏れていると下記エラー)

systemctl restart neo4j

firewall-cmd --add-port=7474/tcp --zone=public --permanent
firewall-cmd --add-port=7687/tcp --zone=public --permanent
firewall-cmd --reload

※エラー: “WebSocket connection failure. Due to security constraints in your web browser, the reason for the failure is not available to this Neo4j Driver”

##管理コンソール 
http://XX.XX.XX.XX:7443にneo4j/neo4j (デフォルトパスワード)でアクセス
neo4j.PNG

##グラフDBの用語

  • ノード: データレコード 例)従業員、会社、都市
  • リレーションシップ: ノード間の関係  例)会社のCEO、会社の所在都市
  • プロパティ: ノード/リレーションシップの持つ属性  例)従業員の名前、CEOの在任期間、

neo.JPG

##Nodeの追加
目的)Aさん(所属: 開発部) はBさん(所属: 経理部)を知っているというデータを登録

ノード追加)まずAさん(所属: 開発部)とBさん(所属: 経理部)を登録。
Neo4jではsql likeな Cypher を使って記述する。

CREATE (a_san:Person { name: "Aさん", 所属: "開発部" }), (b_san:Person { name: "Bさん", 所属: "経理部" })
RETURN a_san, b_san;

Aさん、Bさん2名のノードが追加される
neo.JPG

##リレーションシップの追加
AさんはBさんを知っている

MATCH (a_san: Person), (b_san: Person)
WHERE a_san.name = "Aさん" AND b_san.name = "Bさん"
CREATE (a_san)-[r:知っている]->(b_san)
RETURN r;

neo.JPG

##チュートリアルの実施
下記コマンドでチュートリアルを呼び出す

:play movie graph

neo.PNG

例)俳優Kevin Baconから、4つ先までの関係する映画/俳優
neo.PNG

例)Kevin BaconからMeg Lyanまでの映画/俳優関係の最短パス
neo.PNG

##Neo4j : 主な用途  
Amazon グラフデータベースとは?より

  • 不正検出
    リレーションシップにより、購入トランザクションをほぼリアルタイムに処理可能
    例)これから購入予定の人が、既知の不正事例に含まれるEメールアドレスとクレジットカードを使おうとしていることを検出
    また、同じEメールアドレスや、同じIP アドレスを共有する複数の人物の関係性も検出可能

  • レコメンデーション
    DB内に、顧客の興味、友人、購入履歴等のリレーションシップを保持し、購入履歴が似ている他のユーザーが購入した製品に基づいて、ユーザーに製品を推奨することが可能
    また、共通の友人がるが、互いに知り合いでない人々に友人関係の推奨を行うことも可能

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?