Neo4j 密码查询中的层次结构

Neo4j 密码查询中的层次结构,neo4j,cypher,Neo4j,Cypher,我需要一些关于如何思考以下问题的指导 考虑这个问题: MATCH (n:news)<-[r:COMMENT*1..]-(m)-[:POSTED]-(o:user) WHERE ID(n) = 54041 RETURN m,r,o MATCH(n:news)我想您可能在这里寻找一个简单的子查询来查找父查询: MATCH (n:news)<-[r:COMMENT*1..]-(m)-[:POSTED]-(o:user) WHERE ID(n) = 54041 WITH m,r,o M

我需要一些关于如何思考以下问题的指导

考虑这个问题:

MATCH (n:news)<-[r:COMMENT*1..]-(m)-[:POSTED]-(o:user) 
WHERE ID(n) = 54041
RETURN m,r,o

MATCH(n:news)我想您可能在这里寻找一个简单的子查询来查找父查询:

MATCH (n:news)<-[r:COMMENT*1..]-(m)-[:POSTED]-(o:user) 
WHERE ID(n) = 54041
WITH m,r,o
MATCH (m)-[:COMMENT]->(parent)
RETURN m, r, o, parent
匹配(n:news)(父级)
返回m、r、o、父项

这行吗?

我想您可能在这里寻找一个简单的子查询来查找父查询:

MATCH (n:news)<-[r:COMMENT*1..]-(m)-[:POSTED]-(o:user) 
WHERE ID(n) = 54041
WITH m,r,o
MATCH (m)-[:COMMENT]->(parent)
RETURN m, r, o, parent
匹配(n:news)(父级)
返回m、r、o、父项

这行吗?

我想您可能在这里寻找一个简单的子查询来查找父查询:

MATCH (n:news)<-[r:COMMENT*1..]-(m)-[:POSTED]-(o:user) 
WHERE ID(n) = 54041
WITH m,r,o
MATCH (m)-[:COMMENT]->(parent)
RETURN m, r, o, parent
匹配(n:news)(父级)
返回m、r、o、父项

这行吗?

我想您可能在这里寻找一个简单的子查询来查找父查询:

MATCH (n:news)<-[r:COMMENT*1..]-(m)-[:POSTED]-(o:user) 
WHERE ID(n) = 54041
WITH m,r,o
MATCH (m)-[:COMMENT]->(parent)
RETURN m, r, o, parent
匹配(n:news)(父级)
返回m、r、o、父项

这行吗?

谢谢你的回答!它似乎可以按照我的要求工作,但在每个newscomment节点上保存父属性会更有效,对吗?与查询第一部分中的varlength路径相比,查询第二部分完成的单个遍历非常简单。当然,通过添加另一个属性,您可能会获得一些毫秒(尽管我会在假设之前进行测试),但会丢失一些字节。谢谢您的回答!它似乎可以按照我的要求工作,但在每个newscomment节点上保存父属性会更有效,对吗?与查询第一部分中的varlength路径相比,查询第二部分完成的单个遍历非常简单。当然,通过添加另一个属性,您可能会获得一些毫秒(尽管我会在假设之前进行测试),但会丢失一些字节。谢谢您的回答!它似乎可以按照我的要求工作,但在每个newscomment节点上保存父属性会更有效,对吗?与查询第一部分中的varlength路径相比,查询第二部分完成的单个遍历非常简单。当然,通过添加另一个属性,您可能会获得一些毫秒(尽管我会在假设之前进行测试),但会丢失一些字节。谢谢您的回答!它似乎可以按照我的要求工作,但在每个newscomment节点上保存父属性会更有效,对吗?与查询第一部分中的varlength路径相比,查询第二部分完成的单个遍历非常简单。当然,通过添加另一个属性,您可能会获得一些毫秒(尽管我会在假设之前进行测试),但会丢失一些字节。