我修改了'vanilla'初始查詢this console,並在'Morpheus'和'Cypher'節點之間添加了一個關係類型'LOCKED'。如何消除路徑之外存在關係的路徑,但路徑中的節點之間存在關係?
如何修改現有的(首次運行)查詢,這是一個可變長度路徑,以便由於我添加的額外鎖定關係而不再到達代理Smith節點?
首輪查詢:
MATCH (n:Crew)-[r:KNOWS|LOVES*2..4]->m
WHERE n.name='Neo'
RETURN n AS Neo,r,m
我已經試過這樣的事情:
MATCH p=(n:Crew)-[r:KNOWS|LOVES*2..4]->m
WHERE n.name='Neo'
AND none(rel IN rels(p) WHERE EXISTS (StartNode(rel)-[:LOCKED]->EndNode(rel)))
RETURN n AS Neo,r,m
..但它不承認無()函數內的格局。
我使用社區2.2.1
感謝您閱讀
Hrm,我正在實現你想要的是找到既知道'LOVES'和'LOCKED'並排除這些路徑的鏈接......我會重新考慮 –
如果在函數中使用了那個函數在MATCH行之後的WHERE子句中,它似乎識別它自己的WHERE子句中的明顯模式,但在嘗試像上面那樣使用StartNode(rel)之類的「指針」時會下降。 編譯器有與此例如沒有問題: MATCH(N:船員) - [R:KNOWS | LOVES * 2..4] - >米 WHERE n.name = '新' AND NONE(相對IN r WHERE Exists((n) - [:LOCKED] - >(m))) RETURN n AS Neo,r,m ...雖然,那永遠不會做我想做的事。 – user157109
好的,檢查一下 –