APOC仅在neo4j中部分安装其扩展(一个程序)

Dr.*_*YSG 3 neo4j neo4j-apoc

我下载了apoc-3.1.0.3-all.jar并将其放在我的windows7 Neo4J 3.1.1系统的插件中.

C:\Users>java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
Run Code Online (Sandbox Code Playgroud)

在计算机上杀死了Neo4J进程,然后重新安装了服务器.

我只看到列出了一个apoc程序,其他人给出了关于缺少程序的错误.neo4j日志中没有错误的迹象.我尝试解锁jar,然后重新启动服务器.没运气.

我没有问题

Call db.schema()
Run Code Online (Sandbox Code Playgroud)

但有些事情很简单:

CALL apoc.help("help")
Run Code Online (Sandbox Code Playgroud)

会导致一个

There is no procedure with the name `apoc.help` registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed.
Run Code Online (Sandbox Code Playgroud)

我做错了什么,我认为一定是我!)

$call dbms.procedures

apoc.schema.assert  apoc.schema.assert(indexes :: MAP?, constraints :: MAP?) :: (label :: STRING?, key :: LIST? OF STRING?, unique :: BOOLEAN?, action :: STRING?)  (empty)
db.awaitIndex   db.awaitIndex(index :: STRING?, timeOutSeconds = 300 :: INTEGER?) :: VOID   Wait for an index to come online (for example: CALL db.awaitIndex(":Person(name)")).
db.constraints  db.constraints() :: (description :: STRING?)    List all constraints in the database.
db.indexes  db.indexes() :: (description :: STRING?, state :: STRING?, type :: STRING?) List all indexes in the database.
db.labels   db.labels() :: (label :: STRING?)   List all labels in the database.
db.propertyKeys db.propertyKeys() :: (propertyKey :: STRING?)   List all property keys in the database.
db.relationshipTypes    db.relationshipTypes() :: (relationshipType :: STRING?) List all relationship types in the database.
db.resampleIndex    db.resampleIndex(index :: STRING?) :: VOID  Schedule resampling of an index (for example: CALL db.resampleIndex(":Person(name)")).
db.resampleOutdatedIndexes  db.resampleOutdatedIndexes() :: VOID    Schedule resampling of all outdated indexes.
db.schema   db.schema() :: (nodes :: LIST? OF NODE?, relationships :: LIST? OF RELATIONSHIP?)   Show the schema of the data.
dbms.changePassword dbms.changePassword(password :: STRING?) :: VOID    Change the current user's password. Deprecated by dbms.security.changePassword.
dbms.components dbms.components() :: (name :: STRING?, versions :: LIST? OF STRING?, edition :: STRING?)    List DBMS components and their versions.
dbms.functions  dbms.functions() :: (name :: STRING?, signature :: STRING?, description :: STRING?) List all user functions in the DBMS.
dbms.procedures dbms.procedures() :: (name :: STRING?, signature :: STRING?, description :: STRING?)    List all procedures in the DBMS.
dbms.queryJmx   dbms.queryJmx(query :: STRING?) :: (name :: STRING?, description :: STRING?, attributes :: MAP?)    Query JMX management data by domain and name. For instance, "org.neo4j:*"
dbms.security.changePassword    dbms.security.changePassword(password :: STRING?) :: VOID   Change the current user's password.
dbms.security.createUser    dbms.security.createUser(username :: STRING?, password :: STRING?, requirePasswordChange = true :: BOOLEAN?) :: VOID    Create a new user.
dbms.security.deleteUser    dbms.security.deleteUser(username :: STRING?) :: VOID   Delete the specified user.
dbms.security.listUsers dbms.security.listUsers() :: (username :: STRING?, flags :: LIST? OF STRING?)   List all local users.
dbms.security.showCurrentUser   dbms.security.showCurrentUser() :: (username :: STRING?, flags :: LIST? OF STRING?) Show the current user.STRING?)
Run Code Online (Sandbox Code Playgroud)

cyb*_*sam 19

使用安装程序(最常见)安装neo4j 与使用zip或tar文件安装neo4j之间的差异很小.

(A)使用安装程序安装neo4j时,安装程序会配置neo4j服务器以查找数据库文件plugins夹中的文件夹(即default.graphdb文件夹下).

(B)当您从zip或tar文件安装neo4j时,neo4j服务器将plugins在neo4j安装文件夹中查找该文件夹(例如,该plugins文件夹应该是neo4j bin文件夹的兄弟).

听起来像(A)适用于你.


nea*_*aze 6

@cybersam 和 @logisima 的答案绝对正确。然而,由于我使用的是 Red Hat Linux,特别是 Oracle-7,因此我还必须添加一个额外的步骤。这就是我让它工作的方式

  1. 下载到目录apoc-<version>.jar/var/lib/neo4j/plugins
  2. chown neo4j:neo4j apoc-<version>.jar
  3. chmod 755 apoc-<version>.jar
  4. 打开 neo4j.conf at/etc/neo4j/neo4j.conf并将该行替换#dbms.security.procedures.whitelist=apoc.coll.*,apoc.load.*dbms.security.procedures.whitelist=apoc.coll.*,apoc.load.*,apoc.*并保存。
  5. 通过发出命令重新启动 Neo4j 服务systemctl restart neo4j

注意:确保您下载了正确版本的 apoc jar。我正在使用neo4j version 3.5.5,我正在使用的 apoc jar 版本是apoc-3.5.0.3-all.jar。Alos 请确保您dbms.directories.plugins=/var/lib/neo4j/plugins/etc/neo4j/neo4j.conf