web-dev-qa-db-ja.com

Neo4jAPOCとグラフアルゴリズムのインストールNeo.ClientError.Procedure.ProcedureRegistrationFailed

APOCおよびグラフアルゴリズムプラグインにいくつか問題があります。指示に従って、.jarを{NEO4j_HOME}/pluginsに配置し、{NEO4j_HOME}/conf/neo4j.confの設定も変更しました。

dbms.directories.data=/Users/mlo/neo4j-community-3.3.1/data
dbms.directories.plugins=/Users/mlo/neo4j-community-3.3.1/plugins
dbms.directories.certificates=/Users/mlo/neo4j-community-3.3.1/certificates
dbms.directories.logs=/Users/mlo/neo4j-community-3.3.1/logs
dbms.directories.lib=/Users/mlo/neo4j-community-3.3.1/lib
dbms.directories.run=/Users/mlo/neo4j-community-3.3.1/run

dbms.security.auth_enabled=false
dbms.security.procedures.unrestricted=algo.*
dbms.security.procedures.unrestricted=apoc.*

いくつかの手順が機能します。

CALL apoc.help('dijkstra')
CALL algo.list()

ただし、ほとんどのストアドプロシージャはまったく機能しません。

Neo.ClientError.Procedure.ProcedureRegistrationFailed
algo.unionFind is unavailable because it is sandboxed and has dependencies outside of the sandbox. Sandboxing is controlled by the dbms.security.procedures.unrestricted setting. Only unrestrict procedures you can trust with access to database internals.
algo.pageRank is unavailable because it is sandboxed and has dependencies outside of the sandbox. Sandboxing is controlled by the dbms.security.procedures.unrestricted setting. Only unrestrict procedures you can trust with access to database internals.

誰かが私の設定のどこが間違っているのか指摘できますか?ありがとう。

6
mlo0424

これらの行を変更します。

dbms.security.procedures.unrestricted=algo.*
dbms.security.procedures.unrestricted=apoc.*

に:

dbms.security.procedures.unrestricted=algo.*,apoc.*

neo4jサービスを再起動します。

12
Bruno Peres

@ bruno-peres の回答に続いて、Neo4j3.4.0を使用するArchLinuxで同様の問題(Neo4j APOC/Algorithmsへのアクセス/使用)が発生しました。

APOC(Neo4jの素晴らしい手順)Neo4jの効率的なグラフアルゴリズム を使用し、適切にバージョン管理された.jarファイルをNeo4jプラグインディレクトリにダウンロードします。つまり、

/mnt/Vancouver/apps/neo4j/neo4j-community-3.4.0/plugins/apoc-3.4.0.1-all.jar
/mnt/Vancouver/apps/neo4j/neo4j-community-3.4.0/plugins/graph-algorithms-algo-3.4.0.0.jar

しかし、このコマンドを実行しようとすると、

CALL algo.pageRank.stream('Metabolism', 'yields',
{iterations:20, dampingFactor:0.85})
YIELD node, score
RETURN node,score order by score desc limit 20

neo4jブラウザーで、次のエラーが発生しました。

Error: Neo.ClientError.Procedure.ProcedureRegistrationFailed

Neo.ClientError.Procedure.ProcedureRegistrationFailed: algo.pageRank is
unavailable because it is sandboxed and has dependencies outside of the
sandbox. Sandboxing is controlled by the    
dbms.security.procedures.unrestricted setting. Only unrestrict 
procedures you can trust with access to database internals.

ここで受け入れられた回答に従って(SO 48773505) Neo4j APOCとグラフアルゴリズムをインストール...

「neo4j.conf」ファイルに次の編集を加える必要がありました。

/mnt/Vancouver/apps/neo4j/neo4j-community-3.4.0/conf/neo4j.conf

この行のコメントを外し、

dbms.directories.plugins=plugins

この行を追加/編集し、

dbms.security.procedures.unrestricted=apoc.trigger.*,apoc.*,algo.*

(上記)、neo4j.confoneを受け入れるようです

dbms.security.procedures.unrestricted=...

ライン!別々の行を持つ、例えば.

dbms.security.procedures.unrestricted=apoc.trigger.*,apoc.*
dbms.security.procedures.unrestricted=algo.*

... is unavailable because it is sandboxed and has dependencies outside of the sandbox ...エラーが発生します!

最後に、Neo4jサーバー/インスタンスを再起動します。

neo4j restart
4
Victoria Stuart