【发布时间】:2018-12-06 18:13:49
【问题描述】:
我尝试做一些类似以下的请求:
MATCH path = (f1:Frag)-[r1:I]->(f2:Frag)-[r2:I]->(f3:Frag)-[r3:I]->
(f4:Frag)-[r4:I]->(f5:Frag)-[r5:I]->(f6:Frag)
WHERE (r1.at2 <> r2.at1 AND r2.at2 <> r3.at1 AND r3.at2 <> r4.at1
AND r4.at2 <> r5.at1) AND (not((f1)-[:E]-(f3)) AND not((f1)-[:E]-(f4))
AND not((f1)-[:E]-(f5)) AND not((f1)-[:E]-(f6)) AND not((f2)-[:E]-(f4))
AND not((f2)-[:E]-(f5)) AND not((f2)-[:E]-(f6)) AND not((f3)-[:E]-(f5))
AND not((f3)-[:E]-(f6)) AND not((f4)-[:E]-(f6)))
RETURN path LIMIT 10
但是当我想将我的请求限制在某些关系上时:
MATCH path = (f1:Frag)-[r1:I]->(f2:Frag)-[r2:I]->(f3:Frag)-[r3:I]->
(f4:Frag)-[r4:I]->(f5:Frag)-[r5:I]->(f6:Frag)
WHERE (r1.at2 <> r2.at1 AND r2.at2 <> r3.at1 AND r3.at2 <> r4.at1
AND r4.at2 <> r5.at1) AND (not((f1)-[:E]-(f3)) AND not((f1)-[:E]-(f4))
AND not((f1)-[:E]-(f5)) AND not((f1)-[:E]-(f6)) AND not((f2)-[:E]-(f4))
AND not((f2)-[:E]-(f5)) AND not((f2)-[:E]-(f6)) AND not((f3)-[:E]-(f5))
AND not((f3)-[:E]-(f6)) AND not((f4)-[:E]-(f6)))
AND ALL(r in relationships(path) WHERE r.niv <20)
RETURN path LIMIT 10
与所有关系相比,找到一些解决方案需要更多的时间,因为它使用了所有关系。
是否可以将请求限制为子图?
【问题讨论】: