问题标签 [cypher]

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 回答
503 浏览

neo4j - Neo4J 在聚合查询上的性能

给定以下架构:(对不起,它是歪的)

架构

我试图取回一个地方的活动列表,并计算在那个地方有多少人参加了该特定活动。

虽然我认为上述内容符合我的要求,但花 21 秒并不是一件好事。我相信这是由于可选关系甚至回溯,但是我怎样才能做出更好的查询呢?

0 投票
1 回答
782 浏览

neo4j - 计算密码中的总路径成本,考虑到关系方向性

在 Neo4j 上使用密码查询,在有向循环图中,我需要一个 BFS 查询和一个按深度级别排序的目标节点。

对于深度排序,应使用自定义的“总路径成本函数”,计算基于

  • r.followrank开始和结束节点之间的所有关系属性。
  • 关系方向性(followrank,如果它指向结束节点,否则为 0)

在任何搜索深度级别n,连接到级别高的节点的节点的排名n-m, m>0应该高于连接到级别低的节点的节点n-m。反向方向应导致 0 排名(这意味着节点及其子树仍然是排名的一部分)。

我正在使用 neo4j community-1.9.M01。到目前为止,我采用的方法是为每个端节点的最短路径提取一组 followrank

我以为我已经为这个查询提出了一个很好的第一个想法,但它似乎在多个点上都崩溃了。

我的查询是:

哪个输出

它看起来与我需要的相似,但问题是

  1. 节点 8、9、10、11 与 7 的关系方向相同!反向查询结果...*length(strt-[*0..]-()-[r]->() )...看起来更奇怪 - 请参阅下面的查询。
  2. 我不知道如何将length()表达式的结果标准化为 1。

方向性:

反向查询:

所以我的问题是:

  1. 这个查询是怎么回事?
  2. 有工作方法吗?

有关其他详细信息,我知道 min(length(path)) 聚合器,但在我尝试提取有关最佳命中的信息的这种情况下它不起作用 - 我返回的有关最佳命中的附加信息将分解结果再次 - 我认为这是一个密码限制。

0 投票
2 回答
7820 浏览

neo4j - Neo4j Cypher:使用 LIMIT 和 COLLECT(或在同一查询中使用 LIMIT 两次)

我有一个时间线类型查询,用于检索帖子和“喜欢”帖子的用户。

我将检索到的帖子数量限制为 25 个。我还想限制喜欢帖子的用户数量。有没有办法在查询中使用多个限制子句?理想情况下,我想做以下事情:

或者:

这会将每个帖子的返回点赞数限制为 6。我怎样才能实现这一点?

0 投票
1 回答
1099 浏览

neo4j - Spring Data Neo4j中的@Query shortestPath返回类型

以下查询的返回类型是什么以及如何使用它?我尝试了几种方法,例如Path,Iterable<Path>和其他,但我总是遇到某种异常。它似乎是一个LinkedHashMap,但我可以使用其他更方便的对象类型吗?

我是否缺少任何依赖项?这是我唯一使用的一个:

0 投票
4 回答
19909 浏览

neo4j - 运行不区分大小写的密码查询

是否可以在 neo4j 上运行不区分大小写的密码查询?

试试看:http ://console.neo4j.org/

当我输入这个:

它返回一行。但是当我输入这个时:

它不返回任何东西;因为名称保存为“Neo”。有没有一种简单的方法来运行不区分大小写的查询?

0 投票
2 回答
595 浏览

nosql - Neo4j Cypher 查询以查找具有完全匹配的节点(AND 而不是 OR)

我正在尝试创建一个查询,为我带来一些与一组节点完全匹配的节点。在这种情况下,我想带来带有标签的体验,例如,什么体验有标签:“食物”、“夜生活”和“文化”。

我的查询是“有效的”,但使用 OR 而不是 AND 得出结果。我该如何解决?

我不确定我是否使用了正确的方法

我正在使用 Spring Data 2.0.1 和 neo4j 1.6.3。

0 投票
1 回答
125 浏览

rest - Neo4j:Cypher over REST 获取操作摘要

使用 REST API 获取已完成操作的摘要而不返回节点时,有什么方法吗?

在执行操作后使用 Web 管理控制台时,我会得到如下摘要

  • 插入 1 个节点
  • 插入了 2 个关系
  • 已删除 1 个节点。

此处的示例中,我注意到没有将摘要信息发送回客户端的示例。我必须返回插入的节点才能知道插入已经发生。

当通过网络进行请求时,最好尽量减少数据响应大小。快速总结将对此有所帮助。是否可以从 REST 端点获取一个?

0 投票
2 回答
633 浏览

neo4j - 如何使用 neo4j 和 cypher 或 gremlin 创建一个简单的协作过滤器

所以我想基于一个简单的协同过滤器向用户推荐帖子。过滤器应按如下方式工作

  1. 在我喜欢的帖子中找到与我最相似的前 n 个用户(我的导师组)
  2. 在这个导师组中找到我还没有喜欢的最受欢迎的帖子

所以我有第一部分,这会给我我的导师

第二部分,在这些导师中找到我还没有喜欢的最喜欢的帖子。

我将如何在 cypher 或 gremlin 中运行第二部分,如果它更有效的话。它是一个两部分的查询,我必须将一个查询结果输入另一个查询,还是可以将它全部合并到一个查询中?

0 投票
1 回答
3466 浏览

neo4j - 使用 cypher shell 控制台删除 neo4j 中的节点/关系时出现“TransactionFailureException:无法提交事务”错误

在 shell 控制台中执行此命令时出现此错误(我只想从图中忽略超级节点,因为它们会影响我的建议):

直接删除节点时出现相同的错误(后来我意识到我必须先删除它们的关系)。当执行相同的查询但用 RETURN 替换 DELETE 命令时,一切正常:

neo4j 版本是 1.9。我怎样才能正确轻松地删除/关闭超级节点,这样它们就不会偏向整个图?删除他们的关系也足够了。

0 投票
2 回答
442 浏览

python - 灯泡 Neo4j 嵌入和密码中的删除

我通过灯泡使用 neo4j 的 REST API,并尝试通过密码删除一个节点以及所有关联的边缘,如下所示:

dbneo4j-database-Handler 在哪里)。

......它似乎并不像那样工作。一个长的错误报告如下:

难道我做错了什么?是否可以通过灯泡通过密码查询删除节点?