Neo4j/Cypher-如何检索包含和不包含子类别的类别
使用该示例,以下查询将返回所有类别及其子类别:Neo4j/Cypher-如何检索包含和不包含子类别的类别,neo4j,cypher,Neo4j,Cypher,使用该示例,以下查询将返回所有类别及其子类别: MATCH p=(n:Category)-[:subcategory*]->(m) WHERE NOT ()-[:subcategory]->(n) WITH COLLECT(p) AS ps CALL apoc.convert.toTree(ps) yield value RETURN value; 如何将查询修改为也获取没有子类别的类别?只需稍作调整即可: MATCH p=(n:Category)-[:subcategory*0.
MATCH p=(n:Category)-[:subcategory*]->(m)
WHERE NOT ()-[:subcategory]->(n)
WITH COLLECT(p) AS ps
CALL apoc.convert.toTree(ps) yield value
RETURN value;
如何将查询修改为也获取没有子类别的类别?只需稍作调整即可:
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长度路径(即没有子类别的路径)