[英]Neo4j Finding path but without a certain node
我對Neo4j不是很熟悉,因為我剛用它好幾天了。
但現在我想找到兩個節點之間的路徑
喜歡路徑:A&D
A - > B - > C - > D.
A - > B - > E - > D.
A - > C - > E - > D.
並使用“WHERE NOT”來消除節點B.
所以我將離開路徑A - > C - > E - > D.
我有什么方法可以做到這一點?
這是我的Cypher:
MATCH (home { name:'Grove' }),(school { name:'Moulton' }),(Ann {name:'Ann'}),
p = ((home)-[*..4]->(school))
WHERE NOT ((home)-[]->(Ann))
RETURN p
它不適合我
您可以在WHERE
子句中使用NONE
謂詞來過濾掉包含B
節點的路徑。 有關示例,請參見http://console.neo4j.org/?id=hppthl 。
cypher語句如下所示:
MATCH p=(:Person { name:'A' })-[:KNOWS*..4]->(:Person { name:'D' }),
(without:Person { name:'B' })
WHERE NONE (x IN nodes(p) WHERE x=without)
RETURN p
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.