我尝试在我的项目中使用 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 执行此操作?