范围内的时间树特定节点
Timetree specific nodes in range
我很难获得特定时间范围内的所有节点。我有两种类型的节点附加到时间树,节点推文和节点新闻。
我想要所有推文节点。我正在使用此查询(停止 10 分钟以上):
CALL ga.timetree.events.range({start: 148029120000, end: 1480896000000, relationshipType: "LAST_UPDATE", resolution: 'DAY'})
YIELD node
MATCH (a:TwitterUser)-[:POSTS]->(:Tweet)-[r:RETWEETS]->(:Tweet)<-[:POSTS]-(m:TwitterUser)
RETURN id(a), id(m), count(r) AS NumRetweets
ORDER BY NumRetweets DESC
但与简单查询(8 秒)相比,这需要很多时间:
MATCH (a:TwitterUser)-[:POSTS]->(:Tweet)-[r:RETWEETS]->(:Tweet)<-[:POSTS]-(m:TwitterUser)
RETURN id(a), id(m), count(r) AS NumRetweets
ORDER BY NumRetweets DESC
实际上,根据我的数据,2 个查询应该 return 相同的节点,所以我不明白时间差异很大。
您的第一个查询的问题是您没有对时间树查询的结果做任何事情。从字面上看,这只是在浪费周期,并用甚至未使用的数据使已构建的行膨胀。
您需要获取从时间树查询返回的 :Tweet 节点,并将它们包含在查询的下一部分中。
CALL ga.timetree.events.range({start: 148029120000, end: 1480896000000, relationshipType: "LAST_UPDATE", resolution: 'DAY'})
YIELD node
WITH node as tweet
WHERE tweet:Tweet
MATCH (a:TwitterUser)-[:POSTS]->(:Tweet)-[r:RETWEETS]->(tweet)<-[:POSTS]-(m:TwitterUser)
RETURN id(a), id(m), count(r) AS NumRetweets
ORDER BY NumRetweets DESC
我很难获得特定时间范围内的所有节点。我有两种类型的节点附加到时间树,节点推文和节点新闻。
我想要所有推文节点。我正在使用此查询(停止 10 分钟以上):
CALL ga.timetree.events.range({start: 148029120000, end: 1480896000000, relationshipType: "LAST_UPDATE", resolution: 'DAY'})
YIELD node
MATCH (a:TwitterUser)-[:POSTS]->(:Tweet)-[r:RETWEETS]->(:Tweet)<-[:POSTS]-(m:TwitterUser)
RETURN id(a), id(m), count(r) AS NumRetweets
ORDER BY NumRetweets DESC
但与简单查询(8 秒)相比,这需要很多时间:
MATCH (a:TwitterUser)-[:POSTS]->(:Tweet)-[r:RETWEETS]->(:Tweet)<-[:POSTS]-(m:TwitterUser)
RETURN id(a), id(m), count(r) AS NumRetweets
ORDER BY NumRetweets DESC
实际上,根据我的数据,2 个查询应该 return 相同的节点,所以我不明白时间差异很大。
您的第一个查询的问题是您没有对时间树查询的结果做任何事情。从字面上看,这只是在浪费周期,并用甚至未使用的数据使已构建的行膨胀。
您需要获取从时间树查询返回的 :Tweet 节点,并将它们包含在查询的下一部分中。
CALL ga.timetree.events.range({start: 148029120000, end: 1480896000000, relationshipType: "LAST_UPDATE", resolution: 'DAY'})
YIELD node
WITH node as tweet
WHERE tweet:Tweet
MATCH (a:TwitterUser)-[:POSTS]->(:Tweet)-[r:RETWEETS]->(tweet)<-[:POSTS]-(m:TwitterUser)
RETURN id(a), id(m), count(r) AS NumRetweets
ORDER BY NumRetweets DESC