()-[:SHAR-6ren">
gpt4 book ai didi

Neo4j 2.0 : SKIP, LIMIT,ORDER UNION 返回的所有结果?

转载 作者:行者123 更新时间:2023-12-01 05:16:48 24 4
gpt4 key购买 nike

我有三个与 UNION 子句结合的查询:

CYPHER 2.0
START user=node:User(Id="2")
MATCH (user)-[:FOLLOWS_USER]->()-[:SHARES]->(post)-[?:ORIGINAL]->(original)
WHERE original is null
RETURN distinct post.Id AS Id, post.CreationTime AS CreationTime
UNION
MATCH (user)-[:FOLLOWS_USER]->()-[:LIKES]->(post)
WITH post, count(post) as likes
WHERE likes >= 0
RETURN distinct post.Id AS Id, post.CreationTime AS CreationTime
UNION
MATCH (user)-[:FOLLOWS_USER]->()-[:SHARES]->(post)-[repost:ORIGINAL]->()
WITH post, count(repost) as reposts
WHERE reposts >= 0
RETURN distinct post.Id AS Id, post.CreationTime AS CreationTime
ORDER BY post.CreationTime desc
SKIP 0
LIMIT 100;

我想要 SKIP , LIMITORDER BY申请 整体结果集,而不是单个查询。我相信这也是它在 SQL 中的工作方式。然而,我认为在 Neo4j 中情况并非如此,因为我可以删除 desc来自 ORDER BY并且顺序保持不变。

这是预期的行为吗?有没有一种方法可以编写查询,以便我可以应用 SKIP , LIMITORDER BY到整个结果集?

我也不确定是否必须重复该行 START user=node:User(Id="2")在每个子查询中,因为 2.0 中的查询可以在没有 START 子句的情况下开始。我必须重复吗?

Neo4j 文档在 UNION 上有点模糊关键字,恕我直言。

最佳答案

这尚不支持,因为在此之前需要支持子查询才能正确实现。

关于Neo4j 2.0 : SKIP, LIMIT,ORDER UNION 返回的所有结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19518628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com