我有一个 Neo4j 图:(人)-[喜欢]-(水果)。我想使用[喜欢]和(水果)递归地找到人的人的人。
例如,
(约翰)-[喜欢]->(苹果)<-[like]-(Sam)->[喜欢]-(香蕉)<-[like]-(Jack)-[like]->(葡萄)<-[like]-(Lisa)...
如何使用 neo4j 查询这种关系?
如果您的路径中的序列始终是人、水果、人的重复......并且假设只有人喜欢水果而不是相反,您可以使用量化路径模式,如下所示:
MATCH p = ((:Person)-[:like]->(:Fruit)<-[:like]-(:Person))+
RETURN p