Neo4j のプラグイン、APOCとGDSをインストールする

前回の学習ではNeo4jグラフデータベースのインストールを行いました、今回の記事ではNeo4のプラグインのインストール方法を紹介します。本記事は以下の「EC2インスタンスにNeo4jをインストールする」の記事を学習済みであることを前提に解説を進めていきます。まだの方は先にNeo4jをインストールしてから本記事の学習を進めてください。

目次

Neo4jのプラグイン

本記事ではAPOCとGDSのプラグインをインストールしていきます。それぞれのインストール方法を解説します。

APOC

APOC(Awesome Procedures On Cypher)とはNeo4jのCypherクエリで使用できる関数ライブラリなります。データの変換やバッチ処理に向いています。CoreとExtendedの2つがあります。CoreはNeo4j公式サポートのライブラリでExtendedはコミュニティーサポートの拡張ライブラリになります。これらのインストール方法を見ていきましょう。

変更前の確認

まずは変更の前後比較のため、Neo4jにWebブラウザからアクセスして以下のクエリを実行して下さい。エラーが発生して実行できないことを確認しておきましょう。

CALL apoc.help('apoc')

APOC Coreのインストール

以下のリンクからNeo4jのバージョンに対応したAPOCバージョンを把握します。

https://neo4j.com/docs/apoc/current/installation

GitHubのリンクからAPOCの.jarファイルリンクを取得します。

https://github.com/neo4j/apoc/releases/tag/2025.02.0

https://github.com/neo4j/apoc/releases/download/2025.02.0/apoc-2025.02.0-core.jar

Neo4jのバージョンに対応した.jarファイルはデフォルトでNeo4jの以下の場所にも存在します。

/var/lib/neo4j/labs/apoc-2025.02.0-core.jar

上記GitHubまたはlabs/ディレクトリからプラグインディレクトリにファイルをコピーします。

/var/lib/neo4j/plugins/

以下のコマンドでプラグインファイルをインストールします。

【プラグインディレクトリに移動】
cd /var/lib/neo4j/plugins

【ローカルファイルを使用する場合】
sudo cp -ip /var/lib/neo4j/labs/apoc-2025.02.0-core.jar /var/lib/neo4j/plugins/.

【GitHubのからファイルをダウンロードする場合】
sudo wget 'https://github.com/neo4j/apoc/releases/download/2025.02.0/apoc-2025.02.0-core.jar'

【ファイルパーミッションの変更】
sudo chown neo4j:neo4j apoc-2025.02.0-core.jar
sudo chmod 644 apoc-2025.02.0-core.jar

APOC Extendedのインストール

以下のリンクからNeo4jに対応したバージョンを把握します。

https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases

https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/2025.02.0/apoc-2025.02.0-extended.jar

以下のコマンドでプラグインファイルをインストールします。

【ディレクトリの移動】
cd /var/lib/neo4j/plugins

【GitHubのからファイルをダウンロードする】
sudo wget 'https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/2025.02.0/apoc-2025.02.0-extended.jar'

【ファイルパーミッションの変更】
sudo chown neo4j:neo4j apoc-2025.02.0-extended.jar
sudo chmod 644 apoc-2025.02.0-extended.jar

Neo4jの設定ファイルの変更

APOCのプラグインファイルをインストールしたらNeo4jの設定ファイルを変更してプラグインを認識させます。

sudo vi /etc/neo4j/neo4j.conf
-
#dbms.security.procedures.unrestricted=my.extensions.example,my.procedures.*
dbms.security.procedures.unrestricted=apoc.*

#dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.*,gds.*
dbms.security.procedures.allowlist=apoc.*
-

Neo4jの再起動

sudo -u neo4j neo4j restart

再起動後にブラウザからNeo4jにアクセスして最初に確認したクエリが実行できることを確認しましょう。

CALL apoc.help('apoc')

関数のリストが表示されたら成功です。

GDS

GDS(Graph Data Science)もNeo4jのCypherクエリで使用できる関数ライブラリなります。高度なグラフデータのアルゴリズムや、機械学習などにも使用されます。

変更前の確認

APOCインストール時同様に、変更の前後比較のため、Neo4jにWebブラウザからアクセスして以下のクエリを実行して下さい。エラーが発生して実行できないことを確認しておきましょう。

CALL gds.list()

GDSのインストール

以下のリンクからNeo4jのバージョンに対応したGDSのバージョンを把握します。

https://neo4j.com/docs/graph-data-science/current/installation/supported-neo4j-versions

GitHubのリンクからAPOCの.jarファイルリンクを取得します。

https://github.com/neo4j/graph-data-science/releases

https://github.com/neo4j/graph-data-science/releases/download/2.14.0/neo4j-graph-data-science-2.14.0.jar

以下のコマンドでプラグインファイルをインストールします。

【プラグインディレクトリに移動】
cd /var/lib/neo4j/plugins

【GitHubのからファイルをダウンロードする】
sudo wget 'https://github.com/neo4j/graph-data-science/releases/download/2.14.0/neo4j-graph-data-science-2.14.0.jar'

【ファイルパーミッションの変更】
sudo chown neo4j:neo4j neo4j-graph-data-science-2.14.0.jar
sudo chmod 644 neo4j-graph-data-science-2.14.0.jar

Neo4jの設定ファイルの変更

GDSのプラグインファイルをインストールしたらNeo4jの設定ファイルを変更してプラグインを認識させます。

sudo vi /etc/neo4j/neo4j.conf
-
#dbms.security.procedures.unrestricted=my.extensions.example,my.procedures.*
dbms.security.procedures.unrestricted=apoc.*,gds.*

#dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.*,gds.*
dbms.security.procedures.allowlist=apoc.*,gds.*
-

Neo4jの再起動

sudo -u neo4j neo4j restart

再起動後にブラウザからNeo4jにアクセスして最初に確認したクエリが実行できることを確認しましょう。

CALL gds.list()

関数のリストが表示されたら成功です。

まとめ

今回の記事ではNeo4jのプラグインであるAPOCとGDSをインストールする手順について学習しました。APOCには公式サポートのCoreとコミュニティサポートのExtendedがありましたね。GDSもプラグインの.jarファイルをpluginsディレクトリにファイルを入れて、設定ファイルを変更することで有効にすることができました。設定ファイルの変更後にはNeoj4を再起動することを忘れないように注意しましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次