Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 跳过和限制是否基于ORDER子句?_Neo4j - Fatal编程技术网

Neo4j 跳过和限制是否基于ORDER子句?

Neo4j 跳过和限制是否基于ORDER子句?,neo4j,Neo4j,我有这样一个问题: MATCH (card:`card`), (event:`event`), (card)<-[:includes_card]-(event) WHERE card.id = "0000000978LBtZz08W5439Mvo" OPTIONAL MATCH (actor:`user`), (card)-[includes_actor_rel:includes_actor]->(actor) RETURN event, actor, inc

我有这样一个问题:

MATCH
  (card:`card`),
  (event:`event`),
  (card)<-[:includes_card]-(event)
WHERE
  card.id = "0000000978LBtZz08W5439Mvo"
OPTIONAL MATCH
  (actor:`user`),
  (card)-[includes_actor_rel:includes_actor]->(actor)
RETURN event, actor, includes_actor_rel
ORDER BY event.created_at DESC
SKIP 50 
LIMIT 5
匹配
(卡片:`card`),
(事件:`event`),
(演员)
返回事件,actor,包括\u actor\u rel
按事件排序。在描述处创建
跳过50
限制5
SKIP
LIMIT
子句是否适用于返回的事件节点数?我这样问是因为,虽然我想返回actor和relationship,但我不希望actor和relationship节点影响分页

如果不是这样,那么在不同的
事件
节点上正确分页的最佳方法是什么


谢谢

我会这样写这个查询:

MATCH
  (card:card {id: "0000000978LBtZz08W5439Mvo"})
WITH 
  card
MATCH 
  (event)-[:includes_card]->(card:card)
WITH 
  card, event ORDER BY event.created_at DESC SKIP 50 LIMIT 5
MATCH
  (card)-[includes_actor_rel:includes_actor]->(actor:user)
RETURN 
  event, actor, includes_actor_rel

您的查询将为每个
includes\u actor\u rel
关系返回一行(其中一些关系可以共享相同的
事件
值),而这正是
SKIP
LIMIT
子句将应用的内容

要将
跳过
限制
子句应用于
事件
,可以执行以下操作:

MATCH
  (card:card)<-[:includes_card]-(event:event)
WHERE
  card.id = "0000000978LBtZz08W5439Mvo"
OPTIONAL MATCH
  (card)-[includes_actor_rel:includes_actor]->(actor:user)
RETURN event, COLLECT({actor: actor, rel: includes_actor_rel}) AS data
ORDER BY event.created_at DESC
SKIP 50 
LIMIT 5;
匹配
(卡片:卡片)(参与者:用户)
返回事件,收集({actor:actor,rel:includes_actor_rel})作为数据
按事件排序。在描述处创建
跳过50
限值5;

此查询的
COLLECT()
函数使用
event
作为分组键,为同一
event
创建所有actor/rel对的集合。这将导致每个
事件
产生一个结果行,从而允许
跳过
限制
子句应用于
事件

,谢谢!据我所知,您是在包含附加数据之前应用分页吗?如果是这样,返回卡片、事件而不是返回事件是否会影响分页?还有,第一张卡片的目的是什么?这是最简单的解决方案。回答我自己的问题。。。唯一必需的WITH子句是最后一个。此外,LIMIT和SKIP子句对行进行操作,因此不会影响分页。