使用示例here,以下查询将返回所有类别及其子类别:
MATCH p=(n:Category)-[:subcategory*]->(m)
WHERE NOT ()-[:subcategory]->(n)
WITH COLLECT(p) AS ps
CALL apoc.convert.toTree(ps) yield value
RETURN value;
如何将查询修改为同样获取没有子类别的类别?
答案 0 :(得分:1)
小调整应该这样做:
MATCH p=(n:Category)-[:subcategory*0..]->(m)
WHERE NOT ()-[:subcategory]->(n)
WITH COLLECT(p) AS ps
CALL apoc.convert.toTree(ps) YIELD value
RETURN value;
*0..
模式包括0长度路径(即没有子类别的路径)。