![](/img/trans.png)
[英]Neo4j and Cypher syntax: match all the paths among a group/collection of nodes
[英]How to exclude some paths in Neo4j Cypher
我有2套路徑
集合1
集合2
Cypher查詢輸出應為集合1的路徑,其中第二集合的節點組合不存在。 在上面的示例中,集合2的節點E,D的第一個元素位於集合1的第二條路徑中,因此應刪除第二個。 同樣,集合2第2個元素的節點I,D位於集合1的第4條路徑中,因此也應刪除第4個。
然后輸出應該是Collection 3
通過Cypher,我能夠找出存在集合2路徑的節點的集合1的路徑,但是我無法在集合之間進行“減”運算。
如何獲得以上的密碼查詢?
提前致謝
拉西克
沒有您的Cypher查詢,很難回答。 但是通常,您可以從具有nodes(your_path)
的路徑獲取節點,並使用all()
謂詞檢查所有這些節點是否都包含在另一個路徑中。
MATCH p1 = (your first paths), p2 = (the paths you check against)
// filter paths where NOT all nodes of p2 are in p1
WHERE NOT all(node2 IN nodes(p2) WHERE node2 IN p1)
RETURN p1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.