问题标签 [neo4j-apoc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1141 浏览

plugins - 在 Neo4j 中安装 APOC 插件后无法重新启动

我想为 Neo4j 安装 APOC 插件。但是一旦生成 jar 文件并重新启动,neo4j 就无法再次重新启动

遵循指南 https://github.com/neo4j-contrib/neo4j-apoc-procedures/tree/3.1

错误信息:

jar文件名:apoc-3.1.0.4-SNAPSHOT-al.jar

neo4j 版本:3.1.1

0 投票
4 回答
10591 浏览

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

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

杀死计算机上的 Neo4J 进程,然后重新启动服务器。

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

我没有问题

但是一些简单的事情:

将导致

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

0 投票
2 回答
508 浏览

neo4j - Neo4J Cypher 查询创建的链接比预期的多

在下面的查询中(我从网上找到的一个修改)。我正在使用 APOC 创建 14 个节点,而我认为是 12 条边(将每个节点连接成两行)。即,如果您采用 14 个节点,然后将它们放入两列中,每列 7 项,则只需 6 条线将它们连接在一起。

无论如何,代码使用 APOC 来读取 JSON 文件,并且完全按照预期创建节点。但我得到了 79 条边。CYPHER 或 UNWIND 一定有什么我不明白的地方。

您可以清楚地看到,在 JSON 文件中,我的管道数组中只有 12 个对象。


0 投票
1 回答
325 浏览

graphenedb - 在 Neo4j 3.1.1 上安装最新的 APOC 后缺少一些 APOC 程序

我安装了 Neo4j APOC 存储过程,但我似乎只能访问某些过程。例如,当我运行“CALL apoc.convert.toJson([1,2,3])”时,我收到一条错误消息:

没有apoc.convert.toJson为此数据库实例注册的名称的过程。请确保您正确拼写了过程名称并且该过程已正确部署。

然而,当我查看可用的程序时,我可以看到有很多 APOC 程序可用,例如“apoc.algo.aStar”、“apoc.algo.aStarConfig”和“apoc.algo.allSimplePaths”。总共有 213 个可用的程序,其中大多数来自 APOC,但我尝试调用的许多其他程序似乎对我不可用。

我在论坛中提出了一些建议,但由于我使用 GrapheneDB 进行托管,所以除了使用他们的程序和扩展安装程序之外,我没有太多选择。

  • APOC 版本:3.1.0.3
  • Neo4J 版本:社区版 3.1.1
  • 主办:Graphenedb

谢谢

0 投票
2 回答
613 浏览

neo4j - 在 Neo4j 密码查询中使用 apoc.map.fromPairs 的 NullPointer

我正在使用下面的代码从特定节点(id(65))返回所有向内的 3 个边的节点,并在 apoc.map.fromPairs 过程的帮助下将结果格式化为 JSON Graph。如果没有距离起始节点 3 个边的节点,我会收到错误消息。

当我包含 OPTIONAL 语句时,似乎 apoc.map.fromPairs 过程针对用于模式缺失部分的“null”运行以下错误。

调用函数失败apoc.map.fromPairs:原因:java.lang.NullPointerException

任何建议我如何克服这个问题。我尝试编写 CASE 语句来检查地图中是否有任何键,但也无法使其正常工作。

非常感谢

0 投票
1 回答
439 浏览

neo4j - Neo4j Cypher 中的 XOR 和 AND 树

我在尝试使用 Neo4js Cypher “解密”逻辑树时遇到问题。

我有一个叶子操作的逻辑树。我想收集有效的叶子集。我目前正在尝试在有效配置节点上收集有效的叶子集。因此,我稍后可以快速通过该配置节点。

示例 (1 AND 2) AND (3 AND 4) 很容易match (rule)-[AND*]->(leaf) return collect(leaf) 但是 (1 XOR 2) AND (3 XOR 4) 是一个问题,因为每当我在单个变量中收集 1,2,3,4 时,我以后都无法正确获得 AND 运算的笛卡尔积。(13,14,23,24)将是有效的。

一般来说,我有一个可变深度的树(最多大约 3-4 个)操作是XOR, AND, Not AND, Not XOR

  • 在 Cypher 中是否有一种简单的方法可以让我在这些树中导航?
  • 尝试在 ValidConfiguration 节点中合并有效集是快速查询的好主意吗?
  • 稍后它应该支持表单的查询, (:Model)->(:ValidConf)->(:Leaf:Option)->(:Feature) 然后返回在有效配置中具有特定功能的所有模型。或以特定配置价格的多个功能。

  • 我需要 UDF 或 ObjectGraphMapper 来解决这个问题吗?是否有任何 UDF 可以与我可以使用的此类决策树一起使用?

任何帮助将不胜感激。

创建示例

这棵树是对称的,但通常不是。我需要使 o1 + o4 有效而 o1 + o2 无效。OR 应理解为 XOR。

0 投票
1 回答
371 浏览

neo4j - Cypher-如何为沿最短路径的节点设置属性

我是 neo4j 和 cypher 的新手,有大约一周的经验……我正在做一个小项目,以处理在我公司的大型机上运行的成千上万个 TWS 批处理作业的图表。一个关键任务是找出我们所说的午夜最后一批批处理作业的 key-path,实际上是 neo4j 中的加权最短路径。我已经使用下面的密码实现了这个目标。

我用neo4j驱动程序创建了一个python,它每天自动运行,从rbdms中提取批处理作业数据,每天在neo4j中创建一个新图,运行密码并格式化结果键路径以适合我的MySQL,这样我就可以比较每一天的关键路径

但是我想到了一个新想法,如果我可以增强这个密码,以便为返回路径上的节点设置标签/或属性,该怎么办?这样我以后就可以轻松地再次引用密钥路径,而无需每次都调用 Dijkstra。我知道我可以使用我的 python 程序来做到这一点,就在密钥路径返回并生成一系列密码来完成这项工作之后,但我认为应该有一个单独的密码解决方案。提前非常感谢!

0 投票
3 回答
16760 浏览

neo4j - 如何为 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")” 。

0 投票
1 回答
63 浏览

neo4j - Neo4j:最佳路径搜索

有一张喜欢评分电影的人的图表,我想为每一对人提取他们评分最高的电影。我正在使用以下查询,该查询需要按每对人的费率对电影进行排序。

我可以将电影评分(1/rating 或 maxRating-rating)放入 :LIKES 关系中,因此我可以确定哪部电影在两个人的评分最高。

有没有办法使用类似 Dijkstra 的算法,通过得分最高的节点找到 allOptimumPath 来提高我的第一个查询和返回路径的性能,而不是它们的起始、中间和结束节点?提前谢谢了。

0 投票
1 回答
104 浏览

java - Using Neo4j Java API property Container

I am trying to update a apoc plugin for Gephi, so that I can send weights from Neo4j to Gephi. This is the original version of the plugin. What was my thinking that I could easily rearrange

to something like this, where I would change how relationship is being parsed, and add a weight to return

Now the problem occurs that I am a JAVA noob and have no idea how to interact with JAVA data types. I found this documentation on property container, where i found the getProperty(String key) method and I tried to use it, like above but got the next error

/Users/Hal/Job/neo4j-apoc-procedures/src/main/java/apoc/gephi/Gephi.java:81: error: incompatible types: Object cannot be converted to String String weight = r.getProperty("weight");

I think this is some basic JAVA problem, but I have no idea how to debug this. I also tried String weight = r.getProperty(weight); but got the same error. Help appreciated