如何使用spring-data-neo4j在一个Cypher查询中获取多个实体?

时间:2016-12-16 16:42:59

标签: neo4j cypher

在一个查询中,我想给出一个限制返回节点的分页(例如: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倍的时间。

获取所有节点并在服务器中进行分页可能会更好,但如果我有大量节点,则传输数据太大。

我对这个问题一无所知

0 个答案:

没有答案