Neo4j устанавливает APOC и графические алгоритмы Neo.ClientError.Procedure.ProcedureRegistrationFailed

У меня есть некоторые проблемы с плагинами APOC и Graph Algorithms. Я следовал инструкции, чтобы положить.jars в {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.

Может кто-нибудь указать, где идет не так в моих настройках? Благодарю.

2 ответа

Решение

Измените эти строки:

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

чтобы:

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

и перезапустите сервис Neo4j.

Следуя ответу @ Bruno Peres, я столкнулся с похожими проблемами (доступ / использование Neo4j APOC/Algorithms) в Arch Linux с Neo4j 3.4.0.

Я использую APOC (Awesome Процедуры для Neo4j) и Алгоритмы Efficient Graph для 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 и Graph...

Мне нужно было внести следующие изменения в мой файл "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.conf принимает один

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
Другие вопросы по тегам