【发布时间】:2018-07-16 17:58:15
【问题描述】:
我尝试在我的项目中使用 Neo4J 图形数据库,我将尝试向您解释我的问题。
我希望在每个结果的右侧和左侧都有最长的路径,在 8 个节点的限制内。但我不知道图表每一端的最后一个节点
下图是一个基本示例。我的图表像链一样构建,如下所示:
我的问题是找到左右节点。 使用这个虚拟查询,我有重复的结果
MATCH p=((nl)<-[:PREV*0..8]-(i)-[:NEXT*0..8]->(nr)) RETURN nodes(p);
这会返回太多重复的结果。这里有一些结果样本:
i
h | i
g | h | i
...
i | j
i | j | k
...
h | i | j
h | i | j | k
...
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q
最后一个结果是我唯一感兴趣的。
似乎 Neo4j 在 8 的限制内返回所有可能的节点组合到左侧和右侧。
补充资料:
- 可以有多个“中间节点”(示例中为“i”)
- 我想要左边 8 个节点,右边 8 个或更少,但总是两边的最大节点数
是否可以使用 Cypher 执行此操作?
【问题讨论】:
标签: node.js graph neo4j graph-traversal neo4j-driver