Neo4j入門


はじめに

Neo4jは3.5系と4.0系があります。
4.0系はJAVA11が必要です。

環境変数にJAVA_HOMEに変更すると、ほかの開発(JAVA8)にも影響がありますので、Neo4jのみJAVA11を使うように設定が必要です。

Neo4jとは

Neo4jはJavaで実装された、 オープンソースの最も人気のあるグラフデータベースである

Neo4j: https://neo4j.com/

DBランキング:

Graph DBMSランキング:

出典:https://db-engines.com/en/ranking

Neo4j4インストール

ダウンロード

URL:https://neo4j.com/download-center/#community

ダウンロードしたZIPを解凍

適宜な場所に解凍。例:C:\neo4j-community-4.0.3

JAVA_HOMEをPSファイルに追加

修正ファイル:neo4j-community-4.0.3\bin\neo4j.ps1

# 一時的にJAVA_HOMEをJAVA11で設定
$env:JAVA_HOME = "C:\jdk-11.0.7"

try
{
    Unblock-File -Path '%~dp0Neo4j-Management\*.*' -ErrorAction 'SilentlyContinue'
}
catch
{
};

Neo4j起動

 .\neo4j.bat console

サービスに登録したい場合は、.\neo4j install-service

ブラウザからアクセス

ログイン

Username:neo4j
Password:neo4j
を入力してConnectボタンを押す

新しいパスワード入力して変更した後TOPページに遷移

データ操作

コンセプト:

  • Nodes - graph data records
  • Relationships - connect nodes
  • Properties - named data values

Cypher

Neo4j's Cypher language is purpose built for working with graph data.

URL: https://neo4j.com/docs/cypher-manual/4.0/introduction/

Create例

CREATE (tanaka:Person { name: "田中 一郎", from: "Tokyo", age: 20, gender: "male" }),(yamato:Person { name: "大和 美奈子", from: "Tokyo", age: 19, gender: "female" }),
(suzuki:Person { name: "鈴木 涼", from: "Tokyo", age: 22, gender: "male" })

CREATE (tanaka)-[:KNOWS]->(yamato),(tanaka)-[:LIKES {from: 2019}]->(yamato),(yamato)-[:KNOWS]->(suzuki)

検索例

MATCH (tanaka:Person) WHERE tanaka.name = "田中 一郎" RETURN tanaka;

Delete例

MATCH (n { name: '田中 一郎' })
DETACH DELETE n

すべて削除

MATCH (n)
DETACH DELETE n

以上