我有两套路径
Collection 1
收集2
Cypher查询输出应该是Collection 1的路径,其中第二个集合的节点组合不存在。 在上面的例子中,Collection 2的节点E,D,第1个元素存在于Collection 1的第2个路径中,所以第2个应该被删除。类似地,集合2的节点I,D,第2个元素存在于集合1的第4个路径中,因此第4个元素也应该被删除。
然后输出应该是 收集3
通过Cypher,我能够找到集合1的路径,其中存在集合2路径的节点,但我无法做出“减去”#39;收藏中的操作。
如何获得cypher查询以实现上述目标?
提前致谢
Rasyq
答案 0 :(得分:0)
如果没有您的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