neo4j 3.5中的子查询(用于分页)
我正在尝试使用neo4j 3.5实现分页,我意识到在这个版本中不支持子查询(比如Call{})。此特定版本中分页的常用方法是(): 如果我们获取计数的块只是一个类型,则此方法有效。我有一个包含嵌套匹配项的复杂查询,如:neo4j 3.5中的子查询(用于分页),neo4j,cypher,Neo4j,Cypher,我正在尝试使用neo4j 3.5实现分页,我意识到在这个版本中不支持子查询(比如Call{})。此特定版本中分页的常用方法是(): 如果我们获取计数的块只是一个类型,则此方法有效。我有一个包含嵌套匹配项的复杂查询,如: MATCH (px:Type1)-[:Relationship1]->(pvx:Type2 { prop:'somevalue'})-[:Relationship2]->(bx:Type3) MATCH (px)-[
MATCH (px:Type1)-[:Relationship1]->(pvx:Type2 { prop:'somevalue'})-[:Relationship2]->(bx:Type3)
MATCH (px)-[:Rel3]->(ptx:Type4)
// and so on
为了获得这个复杂查询的值,我必须将查询包含在“apoc.cypher.run”中,我可以通过以下方式成功地获得:
CALL apoc.cypher.run("MATCH (x:Type1) return count(*) as total", {})
YIELD value
return value.total
有没有办法将此apoc.cypher.run的结果传递到第二个查询,这样我就可以在第二个查询中将记录总数作为变量返回?类似的内容
CALL apoc.cypher.run("MATCH (x:Type1) return count(*) as total", {})
YIELD value AS total
WITH total
MATCH (o:Brand)
WITH total, o
ORDER BY o.name SKIP 5 LIMIT 5
WITH total, collect({uuid:o.uuid, name:o.name}) AS brands
RETURN {total:total, brands:brands}
CALL apoc.cypher.run("MATCH (x:Type1) return count(*) as total", {})
YIELD value AS total
WITH total
MATCH (o:Brand)
WITH total, o
ORDER BY o.name SKIP 5 LIMIT 5
WITH total, collect({uuid:o.uuid, name:o.name}) AS brands
RETURN {total:total, brands:brands}