我是Neo4j的新手,正在开发一个小网站。
我已经设置了它们之间的节点和关系。对于大多数配对节点,我创建了一个相互链接。例如:
Zeus - FATHER -> Apollo
Appollo - SON -> Zeus
我使用shortestPath
找到这两者之间可能的最短路径:
MATCH (o1 { name: 'Apollo' }),(o2 { name: 'Zeus' }), p = shortestPath((o1)-[*..6]-(o2)) RETURN nodes(p), relationships(p)
结果是它返回“FATHER”而不是“SON”。
如果我将查询更改为[*..6]->(o2)
,则返回“SON”。
但我需要考虑搜索可能使o1
成为没有传出关系的节点,在这种情况下,上面修改的查询失败。
所以:
我当然可以将每个节点更改为至少有一个传出关系来修复问题2但这太冗余了。
希望得到你的建议。