neo4j 仅遍历每个结点标签一次

pxiryf3j  于 2022-12-18  发布在  其他
关注(0)|答案(1)|浏览(159)

如何确保每个节点标签(不仅仅是节点本身)在其遍历的路径中是唯一的?

MATCH (customer:Customer { id: '123' })-[*]->(product:Product)
RETURN product

我想要的行为:

[Customer]->[Sale]->[Product]

我不想要的(路径包含Sale两次):

[Customer]->[Sale]->[Department]->[Sale]->[Product]


我事先不知道深度,所以不能使用(customer:Customer)-[*2]->(product:Product)

mzmfm0qo

mzmfm0qo1#

销售是否始终是路径中的第一个关系类型?如果是,您可以尝试以下操作:

(customer)-[:Sale]->()-[rel*]->(product) where not [i in rel where type(i) = "Sale"]

相关问题