在一个查询中,我想给出一个限制返回节点的分页(例如:50条记录),但我想要计算节点的总数(例如:200)来进行分页。
我在这篇文章https://www.graphgrid.com/modeling-time-series-data-with-neo4j/中使用TimeTree。我希望得到所有用户之间的生日。
这是我的疑问:
MATCH (t:TimeLine)-[:HAS_YEAR]->(fromYear:Year{value:{year}})-[:HAS_MONTH]->(fromMonth:Month{value:{month})-[:HAS_DAY]->(fromDay:Day{value:{day}})-[:NEXT_DAY*0..10000]->(middleDay:Day)<-[:BIRTH_ON]-(u:User)
WITH count(u) as c
MATCH (t:TimeLine)-[:HAS_YEAR]->(fromYear:Year{value:{year}})-[:HAS_MONTH]->(fromMonth:Month{value:{month}})-[:HAS_DAY]->(fromDay:Day{value:{day}})-[:NEXT_DAY*0..10000]->(middleDay:Day)<-[:BIRTH_ON]-(u:User)
return u, c
将它分成2个查询可能会更容易,但服务器会向数据库发送2个请求。我测试了我的查询,结果是需要2倍的时间。
获取所有节点并在服务器中进行分页可能会更好,但如果我有大量节点,则传输数据太大。
我对这个问题一无所知