Neo4j 2.0.1带跳过/限制返回重复行的分页

Neo4j 2.0.1带跳过/限制返回重复行的分页,neo4j,Neo4j,我没有任何关于Neo4j为什么会以这种方式运行的假设,所以我把基本的基本信息放在这里。如果你还需要什么,请问 我有以下疑问,我认为上下文不是很重要。只有通过名字才能理解意图 MATCH (e:Evidence)-[*2]->(t:Term) WHERE e.description =~ {regexp} OR t.description =~ {regexp} OR t.name =~ {regexp} OPTIONAL MATCH (e:Evidence)-[*2]->(t2:

我没有任何关于Neo4j为什么会以这种方式运行的假设,所以我把基本的基本信息放在这里。如果你还需要什么,请问

我有以下疑问,我认为上下文不是很重要。只有通过名字才能理解意图

MATCH (e:Evidence)-[*2]->(t:Term) 
WHERE e.description =~ {regexp} OR t.description =~ {regexp} OR t.name =~ {regexp} 
OPTIONAL MATCH (e:Evidence)-[*2]->(t2:Term) 
WHERE t2.description =~ {regexp} OR t2.name =~ {regexp} 
WITH e, count(t2) AS termsFound 
ORDER BY termsFound DESC 
SKIP 0 LIMIT 10 
RETURN e;
对于用于{regexp}参数的某些关键字,查询返回19行(包括分页和不分页)。但是使用分页,查询将返回重复的ID

WITH    PAGINATION: 480,584,692,638,829,797,366,337,920,637,310,737,949,411,766,479,533,562,637
WITHOUT PAGINATION: 480,584,692,638,829,797,366,448,337,920,310,737,949,411,766,479,533,562,637
ID为637的元素在两页的最后一行重复(第10页跳过0限制10和第9页跳过10限制10)

这真是奇怪的行为。发生这种情况的唯一假设是,我的订单条件(order BY termsFound DESC)为大多数行返回相同的数字(1),这反过来会使Neo4j无法选择正确的元素在第二页返回

编辑1(特定版本)

spring.data.neo4j=3.0.1.RELEASE

neo4j.kernel=2.0.1

neo4j.cypher=2.0.1


neo4j.cypher.dsl=2.0.1

按照Michael Hunger的要求检查了版本,并更新到以下数字:

spring.data.neo4j=3.1.0.0释放

neo4j.kernel=2.0.3

neo4j.cypher=2.0.3

neo4j.cypher.dsl=2.0.1


不确定问题出在哪里,但这足以解决问题。

您使用的确切版本是什么?根据要求进行更新。谢谢你抽出时间。