问题标签 [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.
neo4j - Neo4J 在聚合查询上的性能
给定以下架构:(对不起,它是歪的)
我试图取回一个地方的活动列表,并计算在那个地方有多少人参加了该特定活动。
虽然我认为上述内容符合我的要求,但花 21 秒并不是一件好事。我相信这是由于可选关系甚至回溯,但是我怎样才能做出更好的查询呢?
neo4j - 计算密码中的总路径成本,考虑到关系方向性
在 Neo4j 上使用密码查询,在有向循环图中,我需要一个 BFS 查询和一个按深度级别排序的目标节点。
对于深度排序,应使用自定义的“总路径成本函数”,计算基于
r.followrank
开始和结束节点之间的所有关系属性。- 关系方向性(followrank,如果它指向结束节点,否则为 0)
在任何搜索深度级别n
,连接到级别高的节点的节点的排名n-m, m>0
应该高于连接到级别低的节点的节点n-m
。反向方向应导致 0 排名(这意味着节点及其子树仍然是排名的一部分)。
我正在使用 neo4j community-1.9.M01。到目前为止,我采用的方法是为每个端节点的最短路径提取一组 followrank
我以为我已经为这个查询提出了一个很好的第一个想法,但它似乎在多个点上都崩溃了。
我的查询是:
哪个输出
它看起来与我需要的相似,但问题是
- 节点 8、9、10、11 与 7 的关系方向相同!反向查询结果
...*length(strt-[*0..]-()-[r]->() )...
看起来更奇怪 - 请参阅下面的查询。 - 我不知道如何将
length()
表达式的结果标准化为 1。
方向性:
反向查询:
所以我的问题是:
- 这个查询是怎么回事?
- 有工作方法吗?
有关其他详细信息,我知道 min(length(path)) 聚合器,但在我尝试提取有关最佳命中的信息的这种情况下它不起作用 - 我返回的有关最佳命中的附加信息将分解结果再次 - 我认为这是一个密码限制。
neo4j - Neo4j Cypher:使用 LIMIT 和 COLLECT(或在同一查询中使用 LIMIT 两次)
我有一个时间线类型查询,用于检索帖子和“喜欢”帖子的用户。
我将检索到的帖子数量限制为 25 个。我还想限制喜欢帖子的用户数量。有没有办法在查询中使用多个限制子句?理想情况下,我想做以下事情:
或者:
这会将每个帖子的返回点赞数限制为 6。我怎样才能实现这一点?
neo4j - Spring Data Neo4j中的@Query shortestPath返回类型
以下查询的返回类型是什么以及如何使用它?我尝试了几种方法,例如Path
,Iterable<Path>
和其他,但我总是遇到某种异常。它似乎是一个LinkedHashMap
,但我可以使用其他更方便的对象类型吗?
我是否缺少任何依赖项?这是我唯一使用的一个:
neo4j - 运行不区分大小写的密码查询
是否可以在 neo4j 上运行不区分大小写的密码查询?
试试看:http ://console.neo4j.org/
当我输入这个:
它返回一行。但是当我输入这个时:
它不返回任何东西;因为名称保存为“Neo”。有没有一种简单的方法来运行不区分大小写的查询?
nosql - Neo4j Cypher 查询以查找具有完全匹配的节点(AND 而不是 OR)
我正在尝试创建一个查询,为我带来一些与一组节点完全匹配的节点。在这种情况下,我想带来带有标签的体验,例如,什么体验有标签:“食物”、“夜生活”和“文化”。
我的查询是“有效的”,但使用 OR 而不是 AND 得出结果。我该如何解决?
我不确定我是否使用了正确的方法
我正在使用 Spring Data 2.0.1 和 neo4j 1.6.3。
rest - Neo4j:Cypher over REST 获取操作摘要
使用 REST API 获取已完成操作的摘要而不返回节点时,有什么方法吗?
在执行操作后使用 Web 管理控制台时,我会得到如下摘要
- 插入 1 个节点
- 插入了 2 个关系
- 已删除 1 个节点。
在此处的示例中,我注意到没有将摘要信息发送回客户端的示例。我必须返回插入的节点才能知道插入已经发生。
当通过网络进行请求时,最好尽量减少数据响应大小。快速总结将对此有所帮助。是否可以从 REST 端点获取一个?
neo4j - 如何使用 neo4j 和 cypher 或 gremlin 创建一个简单的协作过滤器
所以我想基于一个简单的协同过滤器向用户推荐帖子。过滤器应按如下方式工作
- 在我喜欢的帖子中找到与我最相似的前 n 个用户(我的导师组)
- 在这个导师组中找到我还没有喜欢的最受欢迎的帖子
所以我有第一部分,这会给我我的导师
第二部分,在这些导师中找到我还没有喜欢的最喜欢的帖子。
我将如何在 cypher 或 gremlin 中运行第二部分,如果它更有效的话。它是一个两部分的查询,我必须将一个查询结果输入另一个查询,还是可以将它全部合并到一个查询中?
neo4j - 使用 cypher shell 控制台删除 neo4j 中的节点/关系时出现“TransactionFailureException:无法提交事务”错误
在 shell 控制台中执行此命令时出现此错误(我只想从图中忽略超级节点,因为它们会影响我的建议):
直接删除节点时出现相同的错误(后来我意识到我必须先删除它们的关系)。当执行相同的查询但用 RETURN 替换 DELETE 命令时,一切正常:
neo4j 版本是 1.9。我怎样才能正确轻松地删除/关闭超级节点,这样它们就不会偏向整个图?删除他们的关系也足够了。
python - 灯泡 Neo4j 嵌入和密码中的删除
我通过灯泡使用 neo4j 的 REST API,并尝试通过密码删除一个节点以及所有关联的边缘,如下所示:
(db
neo4j-database-Handler 在哪里)。
......它似乎并不像那样工作。一个长的错误报告如下:
难道我做错了什么?是否可以通过灯泡通过密码查询删除节点?