我想要一个以2个给定节点开始的查询,并且每个节点都需要最多5个相关节点(通过关系R1),然后查找这10个节点之间的shortestPath(第一个5个和第二个5个原始节点)。如何将我的Cypher查询分解为2个子查询?
我无法设法将查询分解成2个部分,每个部分计算5个节点,然后在两者上匹配路径。
我的查询到目前为止是:
MATCH (n1:MyNode {node_id:12345})-[:R1]-(r1:RelatedNode)
WITH r1 LIMIT 5
MATCH (n2:MyNode {node_id:98765})-[:R1]-(r2:RelatedNode)
WITH r1,r2 LIMIT 5
MATCH p=shortestPath((r1)-[*1..10]-(r2))
RETURN p
的问题是,第二子查询是不是真的从第一分开,仍然进行r1
,这使得LIMIT
错误。
我要运行的第一部分,然后运行第二部分(与仅r2
),才把具有r1
和r2
分别计算后,匹配的最短路径。可以这样做吗?
谢谢!
你可以pelase在伪代码中写出你想要的两个查询吗?只是为了知道您对每个查询所期望的结果 – Supamiu