我试图返回与连接到我的起始节点的集合中的所有节点匹配的节点。举一个最小的例子,假设我有Bob 43 Colorado, USA
的{{1}}和几个国家的Record
。用户执行GDP
到Population
的{{1}}。我想返回所有Query
日本和 FILTERS_BY Country=Japan
GDP的记录。
最小图形可以构造如下:
DataType = GDP
这将产生如下图所示: Mouse.Capture()
我需要编写一个查询,该查询返回GROUPED_BY
和GROUPED_BY
均为CREATE
(r1:Record {name: "China GDP"}),
(r2:Record {name: "China Population"}),
(r3:Record {name: "Japan GDP"}),
(r4:Record {name: "Japan Population"}),
(c1:Country {name: "China"}),
(c2:Country {name: "Japan"}),
(s1:DataType {name: "GDP"}),
(s2:DataType {name: "Population"}),
(r1) - [:GROUPED_BY] -> (c1),
(r1) - [:GROUPED_BY] -> (s1),
(r2) - [:GROUPED_BY] -> (c1),
(r2) - [:GROUPED_BY] -> (s2),
(r3) - [:GROUPED_BY] -> (c2),
(r3) - [:GROUPED_BY] -> (s1),
(r4) - [:GROUPED_BY] -> (c2),
(r4) - [:GROUPED_BY] -> (s2),
(q:Query {summary: "Looking for Japan GDP"}),
(q) - [:FILTERED_BY] -> (c2),
(q) - [:FILTERED_BY] -> (s1)
;
的所有记录(在这种情况下,它只是一个记录)。
以下查询返回所有GROUPED_BY
或日本 OR GDP的记录,但我需要GROUPED_BY 两者的记录。
Japan
答案 0 :(得分:1)
我们在performing match intersection上有Neo4j知识库文章,其中提供了几种获取所需结果的方法。
(还要记住,节点变量可能应该保持单数,因为它们只会与每行的单个节点匹配。请尝试将多个变量保留到列表中,以避免查询中的混乱。)
一种可能的方法如下:
null