neo4j - Neo4j | Cypher - 给定节点 A,显示 C 类型节点 B 的路径,该节点 B 具有超过 X 个 D 类型子节点
问题描述
查询的第一部分是查找具有超过X个D类型子节点的C类型节点,我有这个工作:
MATCH (Parent:$C)
WITH Parent, [(Child:$D)-[]-(Parent) | Child] as children
WITH Parent, children, size(children) as ChildCount
WHERE ChildCount > $X
RETURN Parent
现在我想取节点A并找到从第一个查询返回的一些节点的路径。我的查询如下所示:
//Part A - this one is already working
MATCH (Parent:FullAddress)
WITH Parent, [(Child:Company)-[]-(Parent) | Child] as children
WITH Parent, children, size(children) as ChildCount
WHERE ChildCount > 10
WITH Parent as Target
//Part B - this part doesn't work
MATCH Path = (S:Ship)-[*2]-(Target)
WHERE ID(S)=164758
RETURN nodes(Path)
LIMIT 100
预期的结果是向我显示查询 AShip
的withID=164758
和其中一个节点之间的路径。我确信这条路径存在,因为我在选择查询参数之前手动检查了它。
当前结果是 neo4j 加载到无穷大。
解决方案
我猜这个查询对于 neo4j 来说太大了,因为我有 5,000,000 多个节点。
推荐阅读
- python - (Python) 如何获取列表的组合
- ubuntu - 是否可以在 google colab 的虚拟机中挂载 squashfs 文件?
- django - Django如何重定向到某个页面
- javascript - 反应:未捕获的类型错误:X 不是函数
- spring-cloud-stream - 消息的手动确认(检查点):Spring Cloud Stream Kenesis Binder
- java - 为什么我的 Java 代码抛出 NoSuchElementException: No line found
- python - 如何检查我的数据框中的特定股票代码字符串,列名称为 Name 并在数据框中找到它时返回?
- android - 如何在没有实际启动活动的情况下检查外部应用程序的活动是否已“导出 = false”
- bash - Bash:“nl”:摆脱每个行号之前的多余空格的最佳方法是什么?
- spring - 如何在内部网络环境中查看 STS 中的 yml 文件?