标签: neo4j-apoc

在哪里可以找到 Neo4j Desktop 的 apoc.conf?

需要在apoc.conf中设置 apoc.import.file.enabled=true ,但在任何地方都找不到它。

neo4j neo4j-apoc

14
推荐指数
1
解决办法
6016
查看次数

未找到 APOC 程序“apoc.export.csv.query”

CALL apoc.export.csv.query("match (m:Movie) where m.name='Matrix' return m.name","results.csv",{})
Run Code Online (Sandbox Code Playgroud)
Error: Neo.ClientError.Procedure.ProcedureNotFound

There is no procedure with the name `apoc.export.csv.query` 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)
  • Neo4j 社区版本 3.2.6
  • 插件“apoc-3.2.3.5.jar”已在插件目录中可用。
  • Windows 10 安装

neo4j-apoc

8
推荐指数
1
解决办法
9991
查看次数

如何为neo4j安装apoc?

根据https://neo4j-contrib.github.io/neo4j-apoc-procedures/,只需要从http://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/下载二进制jar. 3.1.0.3放入文件夹"Neo4j CE 3.1.1\plugins".

我这样做了.但是,我无法从http:// localhost:7474/browser /调用"call apoc.help("apoc")" .

neo4j neo4j-apoc

7
推荐指数
2
解决办法
7233
查看次数

使用apoc.gephi.add()将图形属性名称传递给gephi

我使用apoc.gephi.add()将图形从neo4j流式传输到Gephi.该方法仅将节点的一个属性作为Gephi中的节点标签传递.这不仅是我想要的节点标签.有没有办法将其他属性作为节点标签转移到Gephi?

例如,我的查询如下:

MATCH p=(a:Artist)-[r:LOVES]->(b:Artist) WITH p LIMIT 5 
call apoc.gephi.add('http://localhost:8080','workspace2', p) yield nodes, relationships, time
return nodes, relationships, time
Run Code Online (Sandbox Code Playgroud)

在上面的查询中,它只显示艺术家的名字.

在此输入图像描述

上面的节点有其他属性,如type,year_of_work等.我想在Gehi的节点中显示其他属性.apoc方法只传递一个属性作为节点标签.以下是Gephi中的Node表.

在此输入图像描述

那么有没有办法传递其他属性?有没有其他方法可以从neo4j中以期望的行为在Gephi中流式传输图形?

neo4j cypher gephi neo4j-apoc

6
推荐指数
1
解决办法
798
查看次数

Neo4J的APOC插件(3.1.3.6)运行速度非常慢

我最近将我的Neo4j升级到3.1.3,除此之外,还获得了最新的APOC插件(3.1.3.6).

我有一些工作正常的代码,可以在大约一分半的时间内创建约300万个关系.但现在,它已经运行了8个多小时,并没有停止的迹象......

因为代码用来运行没有任何问题,我希望在导致我的代码被堵塞的版本之间必须发生一些变化.

rock_n_roll应该改变(可能是apoc.periodic.commit位置参数或其他东西)?感谢您的任何见解.

这就是我正在运行的.

CALL apoc.periodic.rock_n_roll(
  "MATCH (c:ChessPlayer),(r:Record) WHERE c.ChessPlayer_ID = r.ChessPlayer RETURN c,r",
  "CYPHER planner=rule WITH {c} AS c, {r} AS r CREATE (c)-[:HAD_RECORD]->(r)",
  200000)
Run Code Online (Sandbox Code Playgroud)

neo4j neo4j-apoc

5
推荐指数
1
解决办法
166
查看次数

Neo4j安装APOC和图形算法Neo.ClientError.Procedure.ProcedureRegistrationFailed

我对APOC和图形算法插件有一些问题.我按照说明把.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.*
Run Code Online (Sandbox Code Playgroud)

一些程序工作.

CALL apoc.help('dijkstra')
CALL algo.list()
Run Code Online (Sandbox Code Playgroud)

但是,大多数存储过程根本不起作用.

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 …
Run Code Online (Sandbox Code Playgroud)

neo4j neo4j-plugin neo4j-apoc

5
推荐指数
2
解决办法
4271
查看次数

Neo4j APOC 不允许用户“neo4j”执行写操作,FULL 限制为 READ

在我的 Neo4j 3.3.3 社区版上,我使用apoc-3.3.0.2-all.jarAPOC 插件,并且安装了以下 APOC 触发器:

CALL apoc.trigger.add('HAS_VALUE_ON_INDEX', 'UNWIND {createdRelationships} AS r MATCH (d:Decision)-[r:HAS_VALUE_ON]->(ch:Characteristic) 
CALL apoc.index.addRelationship(r, keys(r)) RETURN count(*)', {phase:'after'})
Run Code Online (Sandbox Code Playgroud)

触发器安装成功,我用CALL apoc.trigger.list()命令验证了它。

现在,当我尝试通过以下查询对关系属性使用手动索引时:

CALL apoc.index.relationships('HAS_VALUE_ON','value:10000.32') YIELD rel, start AS d, end AS ch RETURN rel;
Run Code Online (Sandbox Code Playgroud)

Neo4j 返回以下错误:

Write operations are not allowed for user 'neo4j' with FULL restricted to READ.
Run Code Online (Sandbox Code Playgroud)

如何解除这个限制呢?

更新

我注意到第一次测试运行后 - 一切正常。使用以下查询进行第二次后续测试运行时,逻辑失败:

CALL apoc.index.relationships('HAS_VALUE_ON','value:10000.32') YIELD rel, start AS d, end AS ch RETURN d;
Run Code Online (Sandbox Code Playgroud)

但以下情况除外:

org.springframework.dao.PermissionDeniedDataAccessException: Error executing Cypher; Code: Neo.ClientError.Security.Forbidden; Description: …
Run Code Online (Sandbox Code Playgroud)

neo4j cypher neo4j-apoc

5
推荐指数
0
解决办法
1937
查看次数

如何将 Neo4j 中的所有属性返回到不同的列中

我知道,我们可以通过单击“就绪”按钮将 neo4j 数据库导出到 CSV 文件。在我们实现这个密码查询之后:

Match (n)
return n 
Run Code Online (Sandbox Code Playgroud)

但这个查询为我们提供了 1 行的所有属性。

我的问题是:在导出到 CSV 文件之前要实现哪个 Cypher 查询,以便为我们提供单独列中的所有属性,即使节点没有相同的属性,

例如:

node(0) has: name, age.
node(1) has: name, age.
node(2) has: name, address.
node(3) has: name, phone No.
node(4) has: name, age.
node(5) has: name, DoB.
Run Code Online (Sandbox Code Playgroud)

我需要的结果是:

name      age      address      phone No      DoB
Tom       22
Smith     18
Lee                 123abc
Perry                            01234
Sara      40
Tom                                          11/11/2000
Run Code Online (Sandbox Code Playgroud)

不如下:

n
Tom, 22
Smith, 18
Lee, 123abc
Perry, 01234
Sara, 40
Tom, 11/11/2000
Run Code Online (Sandbox Code Playgroud)

neo4j cypher spring-data-neo4j neo4j-apoc

5
推荐指数
1
解决办法
2054
查看次数

如何使用 Neo4j Cypher APOC 并行处理

我们有很多 (n1:EffortUser)-[r1:EFFORT]->(n2:EffortObject) 需要按天和周计算,即有多少 EffortObject:Email 做了 EffortUser SENT。如果您有很多用户和电子邮件可能需要相当长的时间,那么我们希望并行化此查询。

现在我们正在使用:

match(n1:EffortUser)-[r1:EFFORT]-(n2:EffortObject) 
where r1.Effort = 'yes' and r1.TimeEvent>='2017-01-01' and r1.TimeEvent<='2017-12-31'
return distinct n1.Name as User, date(datetime(r1.TimeEvent)) as date, count(distinct r1.IdUnique) as count
order by user, date
Run Code Online (Sandbox Code Playgroud)

似乎有几个选项可以并行化/优化它,但所有的文档都相当糟糕。

我做了一些研究,发现了以下 APOC 函数,但我可能无法让它们工作(而且我在 Stackoverflow 上也找不到太多东西)。以下哪个选项是最好的,包括 使用上述示例代码的示例?这让我发疯。我们有 4 个内核和 32 GB 的内存,所以这应该运行得非常快,但我就是无法让它工作。

https://neo4j.com/docs/labs/apoc/current/cypher-execution/

CALL apoc.cypher.runMany('cypher;\nstatements;',{params},{config})
Run Code Online (Sandbox Code Playgroud)

运行每个分号分隔的语句并返回摘要 - 当前没有模式操作

CALL apoc.cypher.mapParallel(fragment, params, list-to-parallelize) yield value
Run Code Online (Sandbox Code Playgroud)

并行批量执行片段,并将列表段分配给 _

https://neo4j.com/docs/labs/apoc/current/cypher-execution/running-cypher/

apoc.cypher.mapParallel(fragment :: STRING?, params :: MAP?, list :: LIST? OF ANY?) :: (value :: MAP?)
Run Code Online (Sandbox Code Playgroud)

apoc.cypher.mapParallel(fragment, params, list-to-parallelize) yield value …

parallel-processing neo4j cypher neo4j-apoc

5
推荐指数
0
解决办法
1047
查看次数

Neo4J / APOC-调用存储过程“ apoc.cypher.doIt”后无法建立查询

我正在运行以下Cypher查询:

WITH "CREATE (test:Test {id: 1})" AS cypher
CALL apoc.cypher.doIt(cypher, {}) YIELD value
CREATE (test2:Test2 {id: 2})
Run Code Online (Sandbox Code Playgroud)

之后,我运行MATCH (a) RETURN a并看到仅Test创建了一个带有标签的节点。第二条CREATE语句似乎没有运行。

如果我创建Test2 之前CALL,它创建节点如预期。

谁能解释为什么会这样,以及在此CALL子句之后如何继续进行查询?

提前致谢!

stored-procedures neo4j graph-databases cypher neo4j-apoc

4
推荐指数
1
解决办法
221
查看次数