问题标签 [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.
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
neo4j - APOC 仅在 neo4j 中部分安装其扩展(一个过程)
我下载了 apoc-3.1.0.3-all.jar 并将其放在我的 windows7 Neo4J 3.1.1 系统的插件中。
杀死计算机上的 Neo4J 进程,然后重新启动服务器。
我只看到列出了一个 apoc 程序,其他程序则给出有关缺少程序的错误。Neo4j 日志中没有任何错误迹象。我尝试解锁 jar,然后重新启动服务器。没运气。
我没有问题
但是一些简单的事情:
将导致
我做错了什么,我想一定是我!)
neo4j - Neo4J Cypher 查询创建的链接比预期的多
在下面的查询中(我从网上找到的一个修改)。我正在使用 APOC 创建 14 个节点,而我认为是 12 条边(将每个节点连接成两行)。即,如果您采用 14 个节点,然后将它们放入两列中,每列 7 项,则只需 6 条线将它们连接在一起。
无论如何,代码使用 APOC 来读取 JSON 文件,并且完全按照预期创建节点。但我得到了 79 条边。CYPHER 或 UNWIND 一定有什么我不明白的地方。
您可以清楚地看到,在 JSON 文件中,我的管道数组中只有 12 个对象。
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
谢谢
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 语句来检查地图中是否有任何键,但也无法使其正常工作。
非常感谢
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。
neo4j - Cypher-如何为沿最短路径的节点设置属性
我是 neo4j 和 cypher 的新手,有大约一周的经验……我正在做一个小项目,以处理在我公司的大型机上运行的成千上万个 TWS 批处理作业的图表。一个关键任务是找出我们所说的午夜最后一批批处理作业的 key-path,实际上是 neo4j 中的加权最短路径。我已经使用下面的密码实现了这个目标。
我用neo4j驱动程序创建了一个python,它每天自动运行,从rbdms中提取批处理作业数据,每天在neo4j中创建一个新图,运行密码并格式化结果键路径以适合我的MySQL,这样我就可以比较每一天的关键路径
但是我想到了一个新想法,如果我可以增强这个密码,以便为返回路径上的节点设置标签/或属性,该怎么办?这样我以后就可以轻松地再次引用密钥路径,而无需每次都调用 Dijkstra。我知道我可以使用我的 python 程序来做到这一点,就在密钥路径返回并生成一系列密码来完成这项工作之后,但我认为应该有一个单独的密码解决方案。提前非常感谢!
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")” 。
neo4j - Neo4j:最佳路径搜索
有一张喜欢评分电影的人的图表,我想为每一对人提取他们评分最高的电影。我正在使用以下查询,该查询需要按每对人的费率对电影进行排序。
我可以将电影评分(1/rating 或 maxRating-rating)放入 :LIKES 关系中,因此我可以确定哪部电影在两个人的评分最高。
有没有办法使用类似 Dijkstra 的算法,通过得分最高的节点找到 allOptimumPath 来提高我的第一个查询和返回路径的性能,而不是它们的起始、中间和结束节点?提前谢谢了。
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